Commit graph

1,169,205 commits

Author SHA1 Message Date
Chuck Lever
74aaf96fea SUNRPC: Teach server to recognize RPC_AUTH_TLS
Initial support for the RPC_AUTH_TLS authentication flavor enables
NFSD to eventually accept an RPC_AUTH_TLS probe from clients. This
patch simply prevents NFSD from rejecting these probes completely.

In the meantime, graft this support in now so that RPC_AUTH_TLS
support keeps up with generic code and API changes in the RPC
server.

Down the road, server-side transport implementations will populate
xpo_start_tls when they can support RPC-with-TLS. For example, TCP
will eventually populate it, but RDMA won't.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-02-28 10:26:40 -05:00
Chuck Lever
37902c6313 NFSD: Move svc_serv_ops::svo_function into struct svc_serv
Hoist svo_function back into svc_serv and remove struct
svc_serv_ops, since the struct is now devoid of fields.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-02-28 10:26:40 -05:00
Chuck Lever
f49169c97f NFSD: Remove svc_serv_ops::svo_module
struct svc_serv_ops is about to be removed.

Neil Brown says:
> I suspect svo_module can go as well - I don't think the thread is
> ever the thing that primarily keeps a module active.

A random sample of kthread_create() callers shows sunrpc is the only
one that manages module reference count in this way.

Suggested-by: Neil Brown <neilb@suse.de>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-02-28 10:26:40 -05:00
Chuck Lever
c7d7ec8f04 SUNRPC: Remove svc_shutdown_net()
Clean up: svc_shutdown_net() now does nothing but call
svc_close_net(). Replace all external call sites.

svc_close_net() is renamed to be the inverse of svc_xprt_create().

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-02-28 10:26:40 -05:00
Chuck Lever
4355d767a2 SUNRPC: Rename svc_close_xprt()
Clean up: Use the "svc_xprt_<task>" function naming convention as
is used for other external APIs.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-02-28 10:26:40 -05:00
Chuck Lever
352ad31448 SUNRPC: Rename svc_create_xprt()
Clean up: Use the "svc_xprt_<task>" function naming convention as
is used for other external APIs.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-02-28 10:26:39 -05:00
Chuck Lever
87cdd8641c SUNRPC: Remove svo_shutdown method
Clean up. Neil observed that "any code that calls svc_shutdown_net()
knows what the shutdown function should be, and so can call it
directly."

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: NeilBrown <neilb@suse.de>
2022-02-28 10:26:39 -05:00
Chuck Lever
c0219c4997 SUNRPC: Merge svc_do_enqueue_xprt() into svc_enqueue_xprt()
Neil says:
"These functions were separated in commit 0971374e28 ("SUNRPC:
Reduce contention in svc_xprt_enqueue()") so that the XPT_BUSY check
happened before taking any spinlocks.

We have since moved or removed the spinlocks so the extra test is
fairly pointless."

I've made this a separate patch in case the XPT_BUSY change has
unexpected consequences and needs to be reverted.

Suggested-by: Neil Brown <neilb@suse.de>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-02-28 10:26:39 -05:00
Chuck Lever
a9ff2e99e9 SUNRPC: Remove the .svo_enqueue_xprt method
We have never been able to track down and address the underlying
cause of the performance issues with workqueue-based service
support. svo_enqueue_xprt is called multiple times per RPC, so
it adds instruction path length, but always ends up at the same
function: svc_xprt_do_enqueue(). We do not anticipate needing
this flexibility for dynamic nfsd thread management support.

As a micro-optimization, remove .svo_enqueue_xprt because
Spectre/Meltdown makes virtual function calls more costly.

This change essentially reverts commit b9e13cdfac ("nfsd/sunrpc:
turn enqueueing a svc_xprt into a svc_serv operation").

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-02-28 10:26:39 -05:00
Chuck Lever
70a60cbfb6 SUNRPC: Record endpoint information in trace log
To make server-side trace events more useful in container-ized
environments, capture not just the remote's IP address, but the
local IP address and network namespace as well.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-02-28 10:26:39 -05:00
Chuck Lever
aca3ed7915 SUNRPC: Same as SVC_RQST_ENDPOINT, but without the xid
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-02-28 10:26:39 -05:00
Chuck Lever
26ce14e77a SUNRPC: Improve sockaddr handling in the svc_xprt_create_error trace point
Clean up: Use the new __sockaddr field to record the socket address.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-02-28 10:26:39 -05:00
Chuck Lever
c1a3f2ce66 NFSD: Remove NFSD_PROC_ARGS_* macros
Clean up.

The PROC_ARGS macros were added when I thought that NFSD tracepoints
would be reporting endpoint information. However, tracepoints in the
RPC server now report transport endpoint information, so in general
there's no need for the upper layers to do that any more, and these
macros can be retired.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-02-28 10:26:39 -05:00
Chuck Lever
9db0e15fb3 NFSD: Use __sockaddr field to store socket addresses
As an example usage of the new __sockaddr field, convert some NFSD
trace points to use it.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-02-28 10:26:39 -05:00
Steven Rostedt (Google)
c6ced22997 tracing: Update print fmt check to handle new __get_sockaddr() macro
A helper macro was added to make reading socket addresses easier in trace
events. It pairs %pISpc with __get_sockaddr() that reads the socket
address from the ring buffer into a human readable format.

The boot up check that makes sure that trace events do not reference
pointers to memory that can later be freed when the trace event is read,
incorrectly flagged this as a delayed reference. Update the check to
handle "__get_sockaddr" and not report an error on it.

Link: https://lore.kernel.org/all/20220125160505.068dbb52@canb.auug.org.au/

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-02-28 10:26:38 -05:00
Chuck Lever
d07c9ad622 tracing: Introduce helpers to safely handle dynamic-sized sockaddrs
Enable a struct sockaddr to be stored in a trace record as a
dynamically-sized field. The common cases are AF_INET and AF_INET6
which are different sizes, and are vastly smaller than a struct
sockaddr_storage.

These are safer because, when used properly, the size of the
sockaddr destination field in each trace record is now guaranteed
to be the same as the source address that is being copied into it.

Link: https://lore.kernel.org/all/164182978641.8391.8277203495236105391.stgit@bazille.1015granger.net/
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-02-28 10:26:38 -05:00
Chuck Lever
add1511c38 NFSD: Streamline the rare "found" case
Move a rarely called function call site out of the hot path.

This is an exceptionally small improvement because the compiler
inlines most of the functions that nfsd_cache_lookup() calls.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-02-28 10:26:38 -05:00
Chuck Lever
0f29ce32fb NFSD: Skip extra computation for RC_NOCACHE case
Force the compiler to skip unneeded initialization for cases that
don't need those values. For example, NFSv4 COMPOUND operations are
RC_NOCACHE.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-02-28 10:26:38 -05:00
Chuck Lever
378a6109dd NFSD: De-duplicate hash bucket indexing
Clean up: The details of finding the right hash bucket are exactly
the same in both nfsd_cache_lookup() and nfsd_cache_update().

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-02-28 10:26:38 -05:00
Ondrej Valousek
e377a3e698 nfsd: Add support for the birth time attribute
For filesystems that supports "btime" timestamp (i.e. most modern
filesystems do) we share it via kernel nfsd. Btime support for NFS
client has already been added by Trond recently.

Suggested-by: Bruce Fields <bfields@fieldses.org>
Signed-off-by: Ondrej Valousek <ondrej.valousek.xm@renesas.com>
[ cel: addressed some whitespace/checkpatch nits ]
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-02-28 10:26:38 -05:00
Daniel Borkmann
79e7ce2e51 Merge branch 'for-next/insn' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Will Deacon says:

====================
On Tue, Feb 22, 2022 at 10:38:02PM +0000, Will Deacon wrote:
> On Thu, 17 Feb 2022 15:22:28 +0800, Hou Tao wrote:
> > Atomics support in bpf has already been done by "Atomics for eBPF"
> > patch series [1], but it only adds support for x86, and this patchset
> > adds support for arm64.
> >
> > Patch #1 & patch #2 are arm64 related. Patch #1 moves the common used
> > macro AARCH64_BREAK_FAULT into insn-def.h for insn.h. Patch #2 adds
> > necessary encoder helpers for atomic operations.
> >
> > [...]
>
> Applied to arm64 (for-next/insn), thanks!
>
> [1/4] arm64: move AARCH64_BREAK_FAULT into insn-def.h
>       https://git.kernel.org/arm64/c/97e58e395e9c
> [2/4] arm64: insn: add encoders for atomic operations
>       https://git.kernel.org/arm64/c/fa1114d9eba5

Daniel -- let's give this a day or so in -next, then if nothing catches
fire you're more than welcome to pull this branch as a base for the rest
of the series.
====================

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20220222224211.GB16976@willie-the-truck
2022-02-28 16:22:58 +01:00
Lad Prabhakar
f16ed63e53
spi: dt-bindings: renesas,rspi: Document RZ/V2L SoC
Add RSPI binding documentation for Renesas RZ/V2L SoC.

RSPI block is identical to one found on RZ/A, so no driver changes are
required. The fallback compatible string "renesas,rspi-rz" will be used
on RZ/V2L.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20220227225956.29570-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-28 15:15:41 +00:00
Geert Uytterhoeven
bee1549199 mmc: sh_mmcif: Simplify division/shift logic
"a / (1 << b)" == "a >> b".

No change in generated code.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/68d689c39c769d298b53ee8cb9de0e594a2999b2.1645460780.git.geert+renesas@glider.be
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2022-02-28 16:11:47 +01:00
Trond Myklebust
0b2662b7e7 NFS: Calculate page offsets algorithmically
Instead of relying on counting the page offsets as we walk through the
page cache, switch to calculating them algorithmically.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
2022-02-28 10:11:33 -05:00
Trond Myklebust
281f31b2e5 NFS: Use kzalloc() to avoid initialising the nfs_open_dir_context
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
2022-02-28 10:11:32 -05:00
Trond Myklebust
d1e32ea355 NFS: Initialise the readdir verifier as best we can in nfs_opendir()
For the purpose of ensuring that opendir() followed by seekdir() work as
correctly as possible, try to initialise the readdir verifier in
nfs_opendir().

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
2022-02-28 10:11:32 -05:00
Trond Myklebust
2eef8a3111 NFS: Trace lookup revalidation failure
Enable tracing of lookup revalidation failures.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
2022-02-28 10:11:32 -05:00
Trond Myklebust
1a93b82c59 NFS: constify nfs_server_capable() and nfs_have_writebacks()
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
2022-02-28 10:11:32 -05:00
Trond Myklebust
64cfca85ba NFS: Return valid errors from nfs2/3_decode_dirent()
Valid return values for decode_dirent() callback functions are:
 0: Success
 -EBADCOOKIE: End of directory
 -EAGAIN: End of xdr_stream

All errors need to map into one of those three values.

Fixes: 573c4e1ef5 ("NFS: Simplify ->decode_dirent() calling sequence")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
2022-02-28 10:11:32 -05:00
Hsin-Yi Wang
e22dfdb63d
drm/bridge: it6505: Fix the read buffer array bound
The size of read_buf is READ_BUFFER_SIZE (200), so we can't access it
with read_buf + PAGE_SIZE (4096). Extend the READ_BUFFER_SIZE to 400 and
set the end position to read_buf + READ_BUFFER_SIZE.

Fixes: b5c84a9edc ("drm/bridge: add it6505 driver")
Reported-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
Signed-off-by: Robert Foss <robert.foss@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20220228081421.1504213-1-hsinyi@chromium.org
2022-02-28 16:10:13 +01:00
Trond Myklebust
b38e09b9b6 Revert "NFSv4: use unique client identifiers in network namespaces"
This reverts commit 50c790a0b6.

The functionality is believed to be capable of causing regressions in
existing setups, so the author has requested that it be reverted.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
2022-02-28 10:09:23 -05:00
Yuntao Wang
c62dd8a58d bpftool: Remove redundant slashes
Because the OUTPUT variable ends with a slash but CURDIR doesn't, to keep
the _OUTPUT value consistent, we add a trailing slash to CURDIR when
defining _OUTPUT variable.

Since the _OUTPUT variable holds a value ending with a trailing slash,
there is no need to add another one when defining BOOTSTRAP_OUTPUT and
LIBBPF_OUTPUT variables. Likewise, when defining LIBBPF_INCLUDE and
LIBBPF_BOOTSTRAP_INCLUDE, we shouldn't add an extra slash either for the
same reason.

When building libbpf, the value of the DESTDIR argument should also not
end with a trailing slash.

Signed-off-by: Yuntao Wang <ytcoode@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Quentin Monnet <quentin@isovalent.com>
Link: https://lore.kernel.org/bpf/20220226163815.520133-1-ytcoode@gmail.com
2022-02-28 16:06:21 +01:00
Jason A. Donenfeld
c2a7de4feb random: do crng pre-init loading in worker rather than irq
Taking spinlocks from IRQ context is generally problematic for
PREEMPT_RT. That is, in part, why we take trylocks instead. However, a
spin_try_lock() is also problematic since another spin_lock() invocation
can potentially PI-boost the wrong task, as the spin_try_lock() is
invoked from an IRQ-context, so the task on CPU (random task or idle) is
not the actual owner.

Additionally, by deferring the crng pre-init loading to the worker, we
can use the cryptographic hash function rather than xor, which is
perhaps a meaningful difference when considering this data has only been
through the relatively weak fast_mix() function.

The biggest downside of this approach is that the pre-init loading is
now deferred until later, which means things that need random numbers
after interrupts are enabled, but before workqueues are running -- or
before this particular worker manages to run -- are going to get into
trouble. Hopefully in the real world, this window is rather small,
especially since this code won't run until 64 interrupts had occurred.

Cc: Sultan Alsawaf <sultan@kerneltoast.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Eric Biggers <ebiggers@kernel.org>
Cc: Theodore Ts'o <tytso@mit.edu>
Acked-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Reviewed-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2022-02-28 16:05:25 +01:00
Jason A. Donenfeld
abded93ec1 random: unify cycles_t and jiffies usage and types
random_get_entropy() returns a cycles_t, not an unsigned long, which is
sometimes 64 bits on various 32-bit platforms, including x86.
Conversely, jiffies is always unsigned long. This commit fixes things to
use cycles_t for fields that use random_get_entropy(), named "cycles",
and unsigned long for fields that use jiffies, named "now". It's also
good to mix in a cycles_t and a jiffies in the same way for both
add_device_randomness and add_timer_randomness, rather than using xor in
one case. Finally, we unify the order of these volatile reads, always
reading the more precise cycles counter, and then jiffies, so that the
cycle counter is as close to the event as possible.

Cc: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2022-02-28 16:05:25 +01:00
Jason A. Donenfeld
64276a9939 random: cleanup UUID handling
Rather than hard coding various lengths, we can use the right constants.
Strings should be `char *` while buffers should be `u8 *`. Rather than
have a nonsensical and unused maxlength, just remove it. Finally, use
snprintf instead of sprintf, just out of good hygiene.

As well, remove the old comment about returning a binary UUID via the
binary sysctl syscall. That syscall was removed from the kernel in 5.5,
and actually, the "uuid_strategy" function and related infrastructure
for even serving it via the binary sysctl syscall was removed with
894d249115 ("sysctl drivers: Remove dead binary sysctl support") back
in 2.6.33.

Reviewed-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2022-02-28 16:05:25 +01:00
Imre Deak
47f16fe535 drm/i915: Move intel_display_power_well_is_enabled() to intel_display_power_well.c
Move intel_display_power_well_is_enabled() to intel_power_well.c, as a step
towards making the low-level power well internals (i915_power_well_ops/desc
structs) hidden.

Eventually the call to this function and in general accessing power
wells directly from elsewhere in the driver should be replaced by the
use of power domains.

No functional change.

Suggested-by: Jani Nikula <jani.nikula@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220222165137.1004194-9-imre.deak@intel.com
2022-02-28 17:03:33 +02:00
Imre Deak
3ab5e051cb drm/i915: Add functions to get a power well's state/name/domains/mask/refcount
Add functions to get a power well's actual- and cached-enabled state,
name, domain mask and refcount, as a step towards making the low-level
power well internals (i915_power_well_ops/desc structs) hidden.

No functional change.

Suggested-by: Jani Nikula <jani.nikula@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220222165137.1004194-8-imre.deak@intel.com
2022-02-28 17:03:33 +02:00
Imre Deak
90cf356bb4 drm/i915: Add function to call a power well's sync_hw() hook
Add a function to call a power well's sync_hw() hook, instead of
open-coding the same, as a step towards making the low-level
power well internals (i915_power_well_ops/desc structs) hidden.

The cached-enable state should be always up-to-date, so update it
whenever sync_hw() is called.

No functional change.

Suggested-by: Jani Nikula <jani.nikula@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220222165137.1004194-7-imre.deak@intel.com
2022-02-28 17:03:33 +02:00
Imre Deak
ef1e170891 drm/i915: Move power well get/put/enable/disable functions to a new file
Move the power well get/put/enable/disable hooks to the new
intel_display_power_well.c file. The motivation is to reduce the clutter
in intel_display_power.c, keeping the functionality related to power
domains in that file and moving the low-level power well functionality
to intel_display_power_well.c.

No functional change.

Suggested-by: Jani Nikula <jani.nikula@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220222165137.1004194-6-imre.deak@intel.com
2022-02-28 17:03:33 +02:00
Imre Deak
314fe7dce4 drm/i915: Move i915_power_well_regs struct into i915_power_well_ops
Move the i915_power_well_regs struct into i915_power_well_ops. Most of
the power wells use the same ops/regs combination, so this saves some
space and also simplifies the platform power domain->power well
definitions.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220222165137.1004194-5-imre.deak@intel.com
2022-02-28 17:03:32 +02:00
Imre Deak
a5c5173312 drm/i915: Remove redundant state verification during TypeC AUX power well disabling
Commit d5ce34da31
("drm/i915: Add state verification for the TypeC port mode")
added a verification to the TypeC AUX power well enable()/disable()
hooks to check if the TypeC port related to this power well is properly
locked. If the disabling happens asynchronously the verification is
skipped, since in this case the port is unlocked. The detection of
asnychronous disabling doesn't work as intended though, since the power
well's reference count is always 0 when its disable() hook is called
(and since there won't be any domain reference held for this power well
either, the verification is always skipped); remove the verification
from the disable() hook for now. In the power well's enable() hook the
power well's reference will be always >0 and there won't be any
asynchronous disabling pending for it, so we can drop the async refcount
check from there.

No functional change.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220222165137.1004194-4-imre.deak@intel.com
2022-02-28 17:03:32 +02:00
Imre Deak
359441cdc5 drm/i915: Sanitize open-coded power well enable()/disable() calls
Instead of open-coding the call of the power wells' enable()/disable()
hooks use the corresponding helper functions. This will also ensure that
the power well's cached-enable state is always up-to-date. Luckily the
lack of this updating hasn't been a problem, since the state either
didn't change (in intel_display_power_set_target_dc_state()), or got
updated subsequently (for vlv_cmnlane_wa(), in the following
intel_power_domains_sync_hw()).

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220222165137.1004194-3-imre.deak@intel.com
2022-02-28 17:03:32 +02:00
Imre Deak
492c1ae2f2 drm/i915: Fix the VDSC_PW2 power domain enum value
The POWER_DOMAIN_TRANSCODER() macro depends on the
POWER_DOMAIN_TRANSCODER_A/B .. DSI_A/C enum values to be consecutive,
move POWER_DOMAIN_TRANSCODER_VDSC_PW2 after these to ensure this. The
wrong order didn't cause a problem, since the DSI_A/C domains are in
always-on power wells on all relevant platforms. The same power well
ends up being enabled/disabled when the VDSC_PW2 domain is selected
incorrectly.

While at it add a code comment about enum values that need to stay
consecutive.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220222165137.1004194-2-imre.deak@intel.com
2022-02-28 17:03:32 +02:00
Magnus Karlsson
18b1ab7aa7 xsk: Fix race at socket teardown
Fix a race in the xsk socket teardown code that can lead to a NULL pointer
dereference splat. The current xsk unbind code in xsk_unbind_dev() starts by
setting xs->state to XSK_UNBOUND, sets xs->dev to NULL and then waits for any
NAPI processing to terminate using synchronize_net(). After that, the release
code starts to tear down the socket state and free allocated memory.

  BUG: kernel NULL pointer dereference, address: 00000000000000c0
  PGD 8000000932469067 P4D 8000000932469067 PUD 0
  Oops: 0000 [#1] PREEMPT SMP PTI
  CPU: 25 PID: 69132 Comm: grpcpp_sync_ser Tainted: G          I       5.16.0+ #2
  Hardware name: Dell Inc. PowerEdge R730/0599V5, BIOS 1.2.10 03/09/2015
  RIP: 0010:__xsk_sendmsg+0x2c/0x690
  [...]
  RSP: 0018:ffffa2348bd13d50 EFLAGS: 00010246
  RAX: 0000000000000000 RBX: 0000000000000040 RCX: ffff8d5fc632d258
  RDX: 0000000000400000 RSI: ffffa2348bd13e10 RDI: ffff8d5fc5489800
  RBP: ffffa2348bd13db0 R08: 0000000000000000 R09: 00007ffffffff000
  R10: 0000000000000000 R11: 0000000000000000 R12: ffff8d5fc5489800
  R13: ffff8d5fcb0f5140 R14: ffff8d5fcb0f5140 R15: 0000000000000000
  FS:  00007f991cff9400(0000) GS:ffff8d6f1f700000(0000) knlGS:0000000000000000
  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
  CR2: 00000000000000c0 CR3: 0000000114888005 CR4: 00000000001706e0
  Call Trace:
  <TASK>
  ? aa_sk_perm+0x43/0x1b0
  xsk_sendmsg+0xf0/0x110
  sock_sendmsg+0x65/0x70
  __sys_sendto+0x113/0x190
  ? debug_smp_processor_id+0x17/0x20
  ? fpregs_assert_state_consistent+0x23/0x50
  ? exit_to_user_mode_prepare+0xa5/0x1d0
  __x64_sys_sendto+0x29/0x30
  do_syscall_64+0x3b/0xc0
  entry_SYSCALL_64_after_hwframe+0x44/0xae

There are two problems with the current code. First, setting xs->dev to NULL
before waiting for all users to stop using the socket is not correct. The
entry to the data plane functions xsk_poll(), xsk_sendmsg(), and xsk_recvmsg()
are all guarded by a test that xs->state is in the state XSK_BOUND and if not,
it returns right away. But one process might have passed this test but still
have not gotten to the point in which it uses xs->dev in the code. In this
interim, a second process executing xsk_unbind_dev() might have set xs->dev to
NULL which will lead to a crash for the first process. The solution here is
just to get rid of this NULL assignment since it is not used anymore. Before
commit 42fddcc7c6 ("xsk: use state member for socket synchronization"),
xs->dev was the gatekeeper to admit processes into the data plane functions,
but it was replaced with the state variable xs->state in the aforementioned
commit.

The second problem is that synchronize_net() does not wait for any process in
xsk_poll(), xsk_sendmsg(), or xsk_recvmsg() to complete, which means that the
state they rely on might be cleaned up prematurely. This can happen when the
notifier gets called (at driver unload for example) as it uses xsk_unbind_dev().
Solve this by extending the RCU critical region from just the ndo_xsk_wakeup
to the whole functions mentioned above, so that both the test of xs->state ==
XSK_BOUND and the last use of any member of xs is covered by the RCU critical
section. This will guarantee that when synchronize_net() completes, there will
be no processes left executing xsk_poll(), xsk_sendmsg(), or xsk_recvmsg() and
state can be cleaned up safely. Note that we need to drop the RCU lock for the
skb xmit path as it uses functions that might sleep. Due to this, we have to
retest the xs->state after we grab the mutex that protects the skb xmit code
from, among a number of things, an xsk_unbind_dev() being executed from the
notifier at the same time.

Fixes: 42fddcc7c6 ("xsk: use state member for socket synchronization")
Reported-by: Elza Mathew <elza.mathew@intel.com>
Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Björn Töpel <bjorn@kernel.org>
Link: https://lore.kernel.org/bpf/20220228094552.10134-1-magnus.karlsson@gmail.com
2022-02-28 15:39:53 +01:00
Arnd Bergmann
d271758452 TI K3 device tree updates for v5.18
Since (ti-k3-dt-fixes-for-v5.17):
 Fixes:
 * Cleanups for flash nodes across K3.
 * gic-v3 backward compatible registers
 * j721s2 interrupt parent fixup for wakeup GPIO
 
 New:
 * AM62 SoC and AM62-SK board
 * wdt support for am64
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmIct6oACgkQ3bWEnRc2
 JJ0IphAAlXcsR2Eu7QrVn3yD+kQmVGuiiwpSZ4byQ1ZqfzmqCLsmTEAnQuNcEv00
 wRiQf//JrdKb81Uho0Ag0a5V9Hwm66aFx80wxhCdZ1oYGq/MbdKOm76GYwJCqQqZ
 n3TSnRmXYSIdV0T3TfmdmOie+OHosQ+DpICXKC5g5ZMkrQK7t6oS7M/8FJx+UfsE
 2FgNzepdPrY241x02CnAPirdL2ptAiCO7qIeLyxCk1yQjXyCsmSLyGDScHnM+6PA
 E9kO0XA0AeTlrp3U7SzqHAL2rmxXnFP92f1gLC2z3aQ5pwg5kglL/Ll3VwTRBUx9
 FfX3sRE1SHLfTTVascgLr8oab/xJ8KR6228Gu/FAOR74i4s0h3kgHppvU3h3HgAe
 PFm6oWLjQREosb7vmkhMursd3kqkrlg8Kq6dqxAKzcB36QbpkAWlXfpts8g58U2R
 M3EiYTK81mOVP1V1eUAXu5LdGsTpOFcS7FlYk6l1PbzJPQAkbmSwIgd911kAQsUy
 Qjj000H3Rv7tH1LluyBR/vm8B3MVrl2PMTAHhi9wV8zaNiqTJWsQO3NgmaPHzYb1
 VFGxf+75pdDnq2+DdbyGmvgQSZ1n3fRa/QFvqO62in13R7uwdUpLzWCouLXkdHPu
 hs2vVo1bzJMVMkihjRKrlkLBjsO6HTKUL2AC9Du8BgAkRwh+aPY=
 =mVxU
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc2nEACgkQmmx57+YA
 GNlIvA/9HiZZ4C42kZ4MgmwysvF1Dx+j5nwhDyFBFmLdlesiy/0LcdanyZhY1vAp
 kwAmMC4xOnq5o5QAH0F5GuMXYptYk3grJ7rMb4LpQaSeog/74VhRBAzmYafobAqu
 uongkSBk+ZUXDFwYQ80JZthOKTJcgBKDA0uYj1NQ8GVDKTwFsBoN29XWo5fkVbi7
 NBu9vyAjcvhZXW7lUFz9qeoZ1shuQlUBjTfPfL2Fgt8ravNsBttqk382Kg3fd/vN
 EMsjWfL06iBXayzNfoShrZ2y3ngbxIl9t8QiV8y1Mwzz0KoFZimWjnHvUCR3H55b
 GVj4Xy6qXAFUZchzd1JeypnT+jHMeJhCSkZkYvDUePFvJxd7i21sdOIjAA8fLERL
 cR32Nx24Z+4I2Mjq1FGV6RaybUd/zsKITfRoGJj2+iymw7tDnmZnkO8XlQAcvxgq
 ByBang7hwHYf/5XWm6t+SypBv3Oc7mrj8w34LUVOHz92UXWS0B0LVoVB6j28L5yf
 NaC3pV0VmH1LT6zobkJP7Ykz0EggjQEmUrWogsEN35B7SNZeAlehGis0qdx+di00
 S/Q9eb4a9Wu7dS8q16DaxEf/JNAL0nbpMiRQdwAhyENaN3nAIRaJcLEWOpr6/d7a
 MxW6wZ578XFqnUppVCm6fbtXUOYBK4A2Y4/2WqX2Zvk8rqRraCQ=
 =uMlU
 -----END PGP SIGNATURE-----

Merge tag 'ti-k3-dt-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into arm/dt

TI K3 device tree updates for v5.18

Since (ti-k3-dt-fixes-for-v5.17):
Fixes:
* Cleanups for flash nodes across K3.
* gic-v3 backward compatible registers
* j721s2 interrupt parent fixup for wakeup GPIO

New:
* AM62 SoC and AM62-SK board
* wdt support for am64

* tag 'ti-k3-dt-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  arm64: dts: ti: Add support for AM62-SK
  arm64: dts: ti: Introduce base support for AM62x SoC
  dt-bindings: pinctrl: k3: Introduce pinmux definitions for AM62
  dt-bindings: arm: ti: Add bindings for AM625 SoC
  arm64: dts: ti: k3-*: Drop address and size cells from flash nodes
  arm64: dts: ti: k3-*: Fix whitespace around flash@0 nodes
  arm64: dts: ti: k3-j721s2: Fix gic-v3 compatible regs
  arm64: dts: ti: k3-am64: Fix gic-v3 compatible regs
  arm64: dts: ti: k3-j7200: Fix gic-v3 compatible regs
  arm64: dts: ti: k3-j721e: Fix gic-v3 compatible regs
  arm64: dts: ti: k3-am65: Fix gic-v3 compatible regs
  arm64: dts: ti: k3-j721s2-mcu-wakeup: Fix the interrupt-parent for wkup_gpioX instances
  arm64: dts: ti: k3-am64: Add ESM0 to device memory map
  arm64: dts: ti: k3-am65*: Remove #address-cells/#size-cells from flash nodes
  arm64: dts: ti: k3-am64-main: Add RTI watchdog nodes
  arm64: dts: ti: k3-j721s2-common-proc-board: Alias console uart to serial2
  arm64: dts: ti: k3-j721s2: Move aliases to board dts

Link: https://lore.kernel.org/r/20220228120711.xdburehxs5gnwxko@capacity
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-02-28 15:21:37 +01:00
Arnd Bergmann
bb67752b50 - Add Ethernet node for OX810SE base board
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmIcjqsACgkQd9zb2sjI
 SdGfDRAAoQMW3R2xZQ6GZuguktjyrRQaJRBe1EuoCjX+FraDt3G0NNDPIKWm06GW
 1QZiw0DM7QNGrIOBhXN0uwWyARJxP2aBUAm7s6a6N/8z0HSn8KBC/WFMjrXqqJfw
 IHN/WalykArGSp9K4Ea/FoF6u+rVB2Kti7IR0cNQfBOwniiWq9UGYAXNU+moGbZY
 4g0h8HUVEHsIVQaRJESMbzExUKi6Jbogj7kW8Dsv3iafMXah+cizTPKbalbfqngN
 I2SpI5aHf0/5uvKO6MA8WzdSrL8sujYjEqKFkgNGbMGgeUSfUIcfMXaGHR9oEsGu
 Stku0kL6briigjHLp3WQMFwAOnwt1DvaNnymWaCunSYj4ymA94KhzvhRXH6dXzf4
 0Lw25dqVh8R1R13J7RXX4b9EFVo12bUnN6IsLnqs0lBxb+mbckJTe/+WGLEGgHYh
 o/BlvrZICkkjN5LkrrjjicaUCvCgU76+o911ghf2W6VXRAEnrJmops6d/Kel0zVt
 c3yqdPqUc3qf4C2ipOwfpneMaDigkcAsd4e7LOvm2vmZwM3zUWnNGjNCHSS3urkC
 /nfLrO2PWhUXbNcCkTq2b/lk/kTucAp8NDwskbpGWjDzrcZwllF1d9ENQPYY8AlS
 Jwk58vVbJudLSiThHAV9sZBbXXxPUMJFqLkHcwbyNSqcowoFBsA=
 =9iGN
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc2kIACgkQmmx57+YA
 GNllpA/9Hv1vOx8foRITQKBSgq2pDVln5DSg0n6R/hONF2COk/+1OYcMNHl+jjTf
 ND5l3YEN3m1JrT13YtXTpCKwvp2pMYdLyzEHHUX0tcClSqwMsu0DliKs6zMS95CS
 p5vQLG4zu9mpilub7lnGyax/CGAwEd7332RGDT44n1rrozL6y8aad353kjDg6rMI
 qp7ptP3eabJSU7H+QZQi+ESk8YcdrJPU/f8ufQQLKB2FFv8m/1PJsSQ3MwGyddyf
 zsnYgFkpsTQx9uBqTCrKFxxvLOHBeFcTUBFFvNrSkLV1cCLXUfqGqVBif6qv5sgv
 EvGhBA42+EU9d4BhRDsjztW7BeDtWrzjIpJy25Zth9a0jFCpB42jhNhROFKXtKhS
 9dPgLZ/OmK6jjB9sIy1oU7VvVKf6124+zTpiASrevALmGPQkfeEAeRLviwySbrqr
 HOO5gilTbVGgCl796yiv+qYBXb7kzuGSNo/LAETKWQPvakfb4+c2lCZgXUMQaGBl
 PD+r9IDzYtnAQdWKCsYRAPL1oRYX8f5azHx1DrkiP8UpgtE7UDoM+S98c3wYcS4j
 cp2B58HmfRwxaB3ZABiF2ZdI9d06ZoeQA4ZTSpanWTrxknuttKyRHGwqM8EcXKy6
 DLf6Ik93ZxUECRjA99AJY9iqeePod9ACLdxKuHGzRFAMGYmIpGU=
 =EYxx
 -----END PGP SIGNATURE-----

Merge tag 'oxnas-arm-soc-dt-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/narmstrong/linux-oxnas into arm/dt

- Add Ethernet node for OX810SE base board

* tag 'oxnas-arm-soc-dt-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/narmstrong/linux-oxnas:
  ARM: dts: ox810se: Add Ethernet support

Link: https://lore.kernel.org/r/530fd72c-e28a-4d5e-cb8d-8b3fbc1df89a@baylibre.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-02-28 15:20:50 +01:00
Arnd Bergmann
2d9f1dd1f2 ASPEED device tree updates for 5.18
- New machines
 
   * Quanta S6Q AST2600 BMC
   * ASRock ROMED8HM3 AST2500 BMC, a half-width, single-socket Epyc
     server board
 
  - Facebook's Bletchley has a large update for production hardware
 
  - Ampere's Mt Jade has a number of updates
 
  - Small clenaups and additions for Everest, Rainier and Tacoma, and the
    flash layout
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE+nHMAt9PCBDH63wBa3ZZB4FHcJ4FAmIcYboACgkQa3ZZB4FH
 cJ7d6hAAheMqTkP70chFz3wTE49vLG9ZDNEL7skKC+lPlfhDc5tH/ScfhmUvpSQ0
 JEHbPLKBaVnSh0L6CL/BeyQv+qDWdIlFRfyk78n1126vdZANHKaOZ9+I47nbVQV9
 ulzK4wzWec5wUb/3kmFHYO+OOmYF+mk6jH28R43BM6GlgVsnamyvxUFGeub6WhZk
 qFvGtpwA9tGleO3oLcE4ly4AavPIiWRsbnhX3Ni+S0qRKBXXJjLmx7kDSdwII6DA
 bqwzUUBENsUYD3qw5UJ8mx5zj1jKVa61je1jGi8HFPktwCU2t4Ly4zKjlYuOsvKU
 xG22y/PqgxNStWhJeDY4xrSNQF9ilRpwKH16Up+je+LYEC0Q3SmpaAvos2a56ldN
 YNUs7S4iOqcx2BYV+4Xjoq9JlQXkoSLOiip5dmiFw1CwZ19e0uE/bUE43F/jnFGW
 AQV3nJV/oOrDYYjjqq/sx1YXR+auXuSKzPbeyu0bqFw9u0bzIUuJaQPYDLhXuUyQ
 gtb884mphyWfpTEKvQY7PNli+J6tSZXDLpfUWHsf4/G2QLz6/ga7YO+5qPjQy7vk
 LYWIzN7kFlfbqLy+UiOueSjQYWo5pW/ZBzVunTrE2ziv+enCG/RShM+YzdepwjEj
 eqZd0OF22QAlT5rC1BsieJzu8aYmnWiMO9o2Ji1fNrXB1GYHk78=
 =4JxD
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc2gsACgkQmmx57+YA
 GNlI6A//XO/O3luVRepwCuEI7drw7dv/uUclHM3xj6HWi1QL1c6W6lqDpY5yu4IS
 BA47ApC3JjZbF4iSsPATCcCAZf1iOYbkYfut9Te/sguNgeUitWhrrg7aJgASChJs
 SGrX0rZAyPMJT3+9uTCwYVThiFJMi8MxxLW1sPHRT9nN2eVDksqhNUVxaX5Xz1S6
 jqnuom4RANPUfQGMducmrDKaDByJg8QEK5NTJ8ckMRbWFQ50EO66YAwSxwb92C3g
 u3rMOKdvdT4e+o1oMf0N1O57b8/dL0lyOUcfjsj7ZtdU+rUMKNz2gBCZx4b1/3Tr
 rnFbUM+9S52kR3qqFfMBlMDKEtTh9IIOFexJ0eZlQDQ9IUpeM0ncvt6DvRnkogEL
 rL9SK4G0GtnRRiC4Me8oOU36HxS/WqsWZ7zdcgL3vDa8PcJoJTlsuXlT0yQS5XCn
 o1a3gjhYO9GdNjPGW8wSqe2gNntly10sVcbLj0Hamb+Q0SDX2Q9X3vxgrXl3X1OU
 PdtlZtPabovZWNNlaQ42Mcl/6p87hj3d/sn9qsH2GcmNNPSbBMMHPvoLR2uOpntv
 0tWNykTHZlKQyPGxmr3OwtCJ45JMZ6vM6YxbJfr7Tg82Id0Enn4/YKC+WFRSK5RU
 QZ/Y8NZbgpK+ObJxZe8ztZuzGxqYvG7UgQdTzE6AeBhYoNGxT3A=
 =OVwh
 -----END PGP SIGNATURE-----

Merge tag 'aspeed-5.18-devicetree-2' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc into arm/dt

ASPEED device tree updates for 5.18

 - New machines

  * Quanta S6Q AST2600 BMC
  * ASRock ROMED8HM3 AST2500 BMC, a half-width, single-socket Epyc
    server board

 - Facebook's Bletchley has a large update for production hardware

 - Ampere's Mt Jade has a number of updates

 - Small clenaups and additions for Everest, Rainier and Tacoma, and the
   flash layout

* tag 'aspeed-5.18-devicetree-2' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc: (27 commits)
  ARM: dts: aspeed: p10bmc: Enable ftrace in ramoops buffer
  ARM: dts: aspeed: everest: Add RTC battery gpio name
  ARM: dts: aspeed: rainer: Add RTC battery gpio name
  ARM: dts: aspeed: Add ASRock ROMED8HM3 BMC
  ARM: dts: aspeed: rainier: Remove SPI NOR controllers
  ARM: dts: aspeed: mtjade: Move all adc sensors into iio-hwmon node
  ARM: dts: aspeed: mtjade: Rename GPIO hog nodes to match schema.
  ARM: dts: aspeed: mtjade: Update host0-ready pin
  ARM: dts: aspeed: mtjade: Update rtc-battery-voltage-read-enable pin
  ARM: dts: aspeed: mtjade: Enable secondary flash
  ARM: dts: aspeed: tacoma: Remove CFAM reset GPIO
  ARM: dts: aspeed: rainier: Label reset-cause-pinhole GPIO
  ARM: dts: aspeed: everest: Label reset-cause-pinhole GPIO
  ARM: dts: aspeed: tacoma: Clean up KCS nodes
  ARM: dts: aspeed: Add device tree for Quanta S6Q BMC
  ARM: dts: aspeed: bletchley: Cleanup redundant nodes
  ARM: dts: aspeed: bletchley: Enable mdio3 bus
  ARM: dts: aspeed: bletchley: Add INA230 sensor on each sled
  ARM: dts: aspeed: bletchley: Add shunt-resistor for ADM1278
  ARM: dts: aspeed: bletchley: Add interrupt support for sled io expander
  ...

Link: https://lore.kernel.org/r/CACPK8XdUXy5cnEDKmNirtByNMBGCjXwZpdKqJ0ytc0f34vzbBA@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-02-28 15:19:55 +01:00
Arnd Bergmann
2cd76c2aba Samsung DTS ARM64 changes for v5.18, part two
1. Minor fixes and cleanups in newly introduced support for Exynos850.
 2. Add basic support for Exynos7885 and  Samsung Galaxy A8 (2018):
    SM-A530F.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmIaoIgQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD16CtD/wIWks7DuJBI4l3CGqWe+30xjIuTbcClWn9
 cykB6hONIz1Gpw+l2i/RFaYIDYD+HA9FyCC+dRvL+SuGp+awFqcgIOtTs3YzBVti
 Tu3XKX2q9xodGeMx/1vDkAfg9dpKgIs9ua4DMYeTW0B7/WTaX7YUayEDHIV4E5Z4
 FUSjD1S+JHyFQXpJrU+vlGTyLx2IbUW7ybvh0wcEdCeqVdmpg10tgjaZiKBGbNGe
 m56Wnq2v0hMVN7Ol60WUuvbKS5+l1UJtbOQQEiHU/t7qHji2zO1mMrdXiAcqp4CE
 9SPPS5uOQCVkNrNdpICQwDx+A4Fb96I1oiOoZ30EX/5VWLU2tCrWdYltRqqeYtIF
 vq9Zha4WCj80OFYfcXzHYyZf4E+OqqORZYE8plXoO7kphqRQrX0GV6MT+Sh2hmks
 zZosZUmuKj0bKZx41gDmilS5Q5a4eg0hoRFxl7DqBBulAgACJalfiLxlJXyOymwg
 a1hYrdWbUKhtyZ272Scsd3PG1kDqboanVp0ziIXgB4OWHefTeYGo84x4rDGU8Ttf
 nB2sSxalTjSWHvmywLG0iHWdaGkXKqvXS1pomvHDCNnabBCXKxgpXFuUNbrE+Nre
 5FTwveJ4CrSZbKdXcLDtXwx9Z8f+7PmROm+1E0XT7ohZXSezrxTCfYyVFyOlv3Zm
 315FnazzXw==
 =+2r/
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc2b0ACgkQmmx57+YA
 GNkFnBAAtnETyanWN205FGTIYpP0Up8Vj+4q1fultPqzcZ3bK0uo2PNl7iS3FyUW
 ix75d8onM/dakkjIRAUTsnv6oK+9LrmsPUBg4zac9AbEUo8w3sGlTeQwAHQ5kuDS
 WlZHHzkB2GFeZzwlKCYMuCgWFyOzizl9kTQmRxRcJYYd5/VzpdlcCJwwdlN5Rcvn
 4v3Mtr0Mz4YyS8Ij9EKX/xJ18S6VRU6tbHhlU5EVW4QpUbqAd3kUh2IbUO+PuFjk
 rs2kicGOP3BcmIPDa8ABscf//50NLIAHBFvl55MzL6Z+NPWdfg7EhlUGIXIs786p
 XDEUMNzwPGmba4gyDYLp5/bYe94+x0dnmFk7+i3kymHLh6xCfEE8HA8f5qAGIz1W
 GKuNUeKsh0nQNBEHW8Y4KbJIjz5/Q09wWF8iA2WliL40iktos6CcpDU+mjE57Z2T
 GCO/4dh3gYDz/+jLhBrrQrBIvt4i3xTnlnQ0yboyb20urXbHoJ6nqma+NKVvtkID
 5YhZHMFEPhJ5J6NBEJJ1OHXkJV1hR+EjP5kW3zvla5pkSfdYzTkZ6FmwovG13Nk/
 D9MG6r0NQMUfw+8OxoD4Qo5Mv2bNZemya3JjhAYvA9MJLgKDvY4DONaVVlW4ym0A
 /VdR7vN40aNHb8Ahr+3AKYLc4j4ldSGNAhTRJZMd6Hlxe8za14U=
 =efOO
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt64-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/dt

Samsung DTS ARM64 changes for v5.18, part two

1. Minor fixes and cleanups in newly introduced support for Exynos850.
2. Add basic support for Exynos7885 and  Samsung Galaxy A8 (2018):
   SM-A530F.

* tag 'samsung-dt64-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  arm64: dts: exynos: Add initial device tree support for Exynos7885 SoC
  arm64: dts: exynos: use dedicated wake-up pinctrl compatible in Exynos850
  arm64: dts: exynos: align pinctrl with dtschema in Exynos850
  arm64: dts: exynos: drop incorrectly placed wakeup interrupts in Exynos850

Link: https://lore.kernel.org/r/20220226220116.13452-2-krzysztof.kozlowski@canonical.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-02-28 15:18:37 +01:00
Arnd Bergmann
4216cd957b Samsung DTS ARM changes for v5.18, part two
Various cleanups after introducing DT schema: adding missing HDMI
 supplies and aligning PPMU event node names with DT schema.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmIaoOAQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD16u3D/0fz0m5KzfZjjnnAXXtLDisFjNniNReGdab
 FQffDRE5QKOnUuo4dZHNJmmMPtTQpO8iD7kckP9QNyA4eZE8c+friaxQGreRQH7V
 9sca1nexzWBSQfkF1F6bxyH6FkGh7lN081xZQdyzTLaaG/TDdhriqIAOV5v5RMId
 QPbCQhVZ2WMaUfhf4OTyFzuV2d40LTXtmj05WY4Z9W0BX19N+cAFTBts2DuRU+7C
 OF15vtL/Izi3LuvirLquagokeV+oq+BvZ71gUkDdkV0JQxYu9ziHRZm/FE5ZqM0a
 Vwfrag7zFFg/HyNkdRbrUCsSHKwu9nFXrdjlFJ76hUhbuJCMAp4tVP+nHMKSqYvO
 zKKT9dJzTQTz9ZdroXW+qeRVsyfOY29gwVhTZ1PO2gkAEEyVrInXCCC0XajFcQaY
 oJg95FTQrKA9ZqmO3ddIg9vvC97xAds8/x5ohELKDgIZZYd2ngwde+zCh4/eniQK
 k4zax/1uV/rxlfRDiqFBfgiI0wA4iADM/fuv2/V50O/DwXuseE72QfyihP3hlKWe
 a8Q4k6zI5y5cwizhzp8/PGZD5coubG8F/i7u5Pq6vubxd6zZpX0c+AJ9QkcOZTaz
 6ooUmzoWj3bkLnZqBeoJ5TuBYYCCxetahyLblJsfl+6cUD5eOnEpkU49GfAhnVQm
 e1+p/gOjfA==
 =3uY2
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc2ZYACgkQmmx57+YA
 GNk8pA/+L7DkSB7A1CuAK5CJwQKBh7a8wxhc4YknlmVdf1GuEBD9AeF/q8OZQsdy
 eK+cST2/wqAdQr6fQoz3nFmgDNpaL+cOv7SVr3V3NO96jc6qfRPn/mgYm9dK0fTl
 ZTRbAdxnqSVIQw9r1U76DPAsO28/kwsnBtKJDszLa8+NEGtcwYGbnDNHNb6sqm1F
 dstBJzEdCMfCAkJULyCr0A/7JnEJ3xDRfQ+TI1UHUCyA713NEH49WzbGxYVGuOW2
 B9ktG1eiN1IJeVUn6CZCilKruQGxljRi/wkJCPv8B+QAsCd6DEdBX5C7cgi/K9tv
 hkmk+Xk0jrdu1/kpuzEKRiVPPnFojNUSrHRO6wckIySOj19BaTEJtgyh9pRxDLzA
 l50QoG+4ESyuoM3SLSp2JrB9lKygY0snpqyTWW0BY1aDEaOCiZL5YHmBHcnUpQuv
 uHuvstftglOoOkGrCD5Llx5g8ZAIwiWVhXyeKB3XJQo+qb9df5SPTYuCIP5Zjb/a
 07uKol/WWYrt29ipnkyBTKHauys09rs9owYWYGbgnr3q/RuqdI/3C0t/KzYkziKj
 TwO19PYJHiqemd803OSequHP4yUfdTn+QZWui1GMJt7Zog8F25c+skr/N6Mk6Ydz
 Tj7AZwqmL51VhGX5/79votYCiUfeZ50tjVx2T3LHWePq5arDBl0=
 =oZrO
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/dt

Samsung DTS ARM changes for v5.18, part two

Various cleanups after introducing DT schema: adding missing HDMI
supplies and aligning PPMU event node names with DT schema.

* tag 'samsung-dt-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: exynos: align PPMU event node names with dtschema
  ARM: dts: exynos: add missing HDMI supplies on SMDK5420
  ARM: dts: exynos: add missing HDMI supplies on SMDK5250

Link: https://lore.kernel.org/r/20220226220116.13452-1-krzysztof.kozlowski@canonical.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-02-28 15:17:58 +01:00
Arnd Bergmann
664abe8866 arm64: tegra: Device tree changes for v5.18-rc1
Based on the for-5.18/dt-bindings changes, this adds various new
 features on Tegra234 such as IOMMU, audio, gpio-keys, I2C and PWM
 support.
 
 Device trees for 64-bit Tegra boards are now also built with overlay
 support enabled, which allows firmware to apply overlays and customize
 the DTB that is passed to the kernel.
 
 There are also a couple of cleanups and additions for older devices,
 such as USB device mode support on Jetson Xavier NX.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmIZBv4THHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoQCxD/91Rrrx6YerbjauJbX8on8yFhRGQUuf
 MNvOkfyzI3fSZjJyfZxR13gcJp0gh8oaFBEoBnIaSUEN+lLtlWZl4oQOU+Y1ZE1x
 vXiResOWGJaugKcRsR1CiGPnsWUDBiJtnRqoRdZSWUDHKno2ekqMS9lhMp+PmMY0
 8U/m3VV4C6JvNe9gO5kwo0egYRe9jFuncwtepi/YFUpMkGQ6P5WC1PjrLH3xJm3i
 609zobLbbOreV/ZN3W3x3uUgh49bm9FORwRSHrlmv79rlnBLMEXDEbWP4GHuDSUR
 jVFu9tghxv6PGy6JxkNomdv9EYOjrLa8NgmXKkfbLEIZf4jT1cNXrtSufhyj4GXC
 5KKkPB19fMtv/t53EzDjkDLfVAuCb/yBO62rtj28DLsR30ubhlVBK4GcHIsAcmot
 wz0mE7+NkBsr3X2qCUr0JBC6thFv6X8E5bXTc/zsGDfVNnKl8k+zXejiZDh68aVN
 EHYgQLneAWIQ2Af1nK6gQjs3pMdiqtAUZlCVFL0vM6VgT9hGi1N8l1DeHZa7elJw
 WHUrSFr/56WBdC0eKT2nxDzhygEGxkjkI2HKI/7hVrsRaOOC4rY4PDat0VwWyUIN
 JYPjTKqVcvYa+rNuAr7P4/EMl4kglB6dBTQFyeT446ff9R5Umxpvv+CaPD0aDz0o
 8TzA9Gc89MiH2Q==
 =ZfCL
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc2QUACgkQmmx57+YA
 GNm8RxAAn4b8uK0TQ/AMvgdFabENBfsNGm6cYVIUp28SW1PBwacSzXRJYLypVXqv
 HWb6GmWoDqgvCHPFYtUF68IvC1SY3pgT517UFSXucnfqXw17Ew9rY45lNkW4rEI3
 jEmaTGNdqon33KTNQyH6r8m4qL8lKOAdU7TO4UjvcAK41eHL2r4uTLe2hNW+etqR
 /3Vbc5aVY6gq89hQh00KNjd6RSaLC/axJCBd2fMEwGFYHajk8IEldKe2bTPU/hWZ
 egNEmWjRPy3SvJ+zKl8irbaEIvgGv59gE9mTiqDfgTHXI3FPe8I3DwqYo0a9Wmjb
 6ACU9NfO6pyXgfaPtiqtQRN/QHhJngc/pZLX7x0GdszSDGff44Z/GY6Sowi3Y56i
 h8H+bYXZouCqH8Sb850fO+Bxlrl5TuwCQ8CwVzwlKgkbnmfVMPk6pmdSuLRJGcpr
 d+Tor0jbZWF4OO1vNcJ9YmA+/CVWmOuDDJU40IwuQldHwAZsVcAt2J88FkteYn28
 seVQOkfbXIhR8r80aUU+E9yTgYAr7k9wJU+B4qB2HLZM6CxEkfRk82BpJODTakD8
 42CvZIZXBCQ+ulTUTxz0nmHCjipJPOIxJ83eYEwuCZkgM79b0APiSVjw0htPmCzD
 znh6zecOBtxr1ftNnZPi+aVfyuJDpmnkpuw+netaDms3gRqFpxE=
 =l0Ys
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-5.18-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/dt

arm64: tegra: Device tree changes for v5.18-rc1

Based on the for-5.18/dt-bindings changes, this adds various new
features on Tegra234 such as IOMMU, audio, gpio-keys, I2C and PWM
support.

Device trees for 64-bit Tegra boards are now also built with overlay
support enabled, which allows firmware to apply overlays and customize
the DTB that is passed to the kernel.

There are also a couple of cleanups and additions for older devices,
such as USB device mode support on Jetson Xavier NX.

* tag 'tegra-for-5.18-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: Drop arm,armv8-pmuv3 compatible string
  arm64: tegra: Enable Jetson Xavier NX USB device mode
  arm64: tegra: Enable UART instance on 40-pin header
  arm64: tegra: Add HDA device tree node for Tegra234
  arm64: tegra: Enable device-tree overlay support
  arm64: tegra: APE sound card for Jetson AGX Orin
  arm64: tegra: Add audio devices on Tegra234
  arm64: tegra: Move audio IOMMU properties to ADMAIF node
  arm64: tegra: Add Tegra234 IOMMUs
  arm64: tegra: Enable gpio-keys on Jetson AGX Orin Developer Kit
  arm64: tegra: Add GPCDMA node for tegra186 and tegra194
  arm64: tegra: Add Tegra234 PWM devicetree nodes
  arm64: tegra: Add Tegra234 I2C devicetree nodes

Link: https://lore.kernel.org/r/20220225164741.1064416-4-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-02-28 15:15:33 +01:00