Commit graph

1,185,212 commits

Author SHA1 Message Date
Paul E. McKenney
5ff8319f07 srcu: Fix long lines in cleanup_srcu_struct()
This commit creates an srcu_usage pointer named "sup" as a shorter
synonym for the "ssp->srcu_sup" that was bloating several lines of code.

Cc: Christoph Hellwig <hch@lst.de>
Tested-by: Sachin Sant <sachinp@linux.ibm.com>
Tested-by: "Zhang, Qiang1" <qiang1.zhang@intel.com>
Tested-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-04-04 08:36:57 -07:00
Paul E. McKenney
eabe7625f0 srcu: Fix long lines in srcu_get_delay()
This commit creates an srcu_usage pointer named "sup" as a shorter
synonym for the "ssp->srcu_sup" that was bloating several lines of code.

Tested-by: Sachin Sant <sachinp@linux.ibm.com>
Tested-by: "Zhang, Qiang1" <qiang1.zhang@intel.com>
Cc: Christoph Hellwig <hch@lst.de>
Tested-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-04-04 08:36:48 -07:00
Paul E. McKenney
a7bf4d7c16 srcu: Check for readers at module-exit time
If a given statically allocated in-module srcu_struct structure was ever
used for updates, srcu_module_going() will invoke cleanup_srcu_struct()
at module-exit time.  This will check for the error case of SRCU readers
persisting past module-exit time.  On the other hand, if this srcu_struct
structure never went through a grace period, srcu_module_going() only
invokes free_percpu(), which would result in strange failures if SRCU
readers persisted past module-exit time.

This commit therefore adds a srcu_readers_active() check to
srcu_module_going(), splatting if readers have persisted and refraining
from invoking free_percpu() in that case.  Better to leak memory than
to suffer silent memory corruption!

[ paulmck: Apply Zhang, Qiang1 feedback on memory leak. ]

Tested-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-04-04 08:36:43 -07:00
Paul E. McKenney
fd1b3f8e09 srcu: Move work-scheduling fields from srcu_struct to srcu_usage
This commit moves the ->reschedule_jiffies, ->reschedule_count, and
->work fields from the srcu_struct structure to the srcu_usage structure
to reduce the size of the former in order to improve cache locality.

However, this means that the container_of() calls cannot get a pointer
to the srcu_struct because they are no longer in the srcu_struct.
This issue is addressed by adding a ->srcu_ssp field in the srcu_usage
structure that references the corresponding srcu_struct structure.
And given the presence of the sup pointer to the srcu_usage structure,
replace some ssp->srcu_usage-> instances with sup->.

[ paulmck Apply feedback from kernel test robot. ]

Link: https://lore.kernel.org/oe-kbuild-all/202303191400.iO5BOqka-lkp@intel.com/
Suggested-by: Christoph Hellwig <hch@lst.de>
Tested-by: Sachin Sant <sachinp@linux.ibm.com>
Tested-by: "Zhang, Qiang1" <qiang1.zhang@intel.com>
Tested-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-04-04 08:36:37 -07:00
Paul E. McKenney
d20162e0bf srcu: Move srcu_barrier() fields from srcu_struct to srcu_usage
This commit moves the ->srcu_barrier_seq, ->srcu_barrier_mutex,
->srcu_barrier_completion, and ->srcu_barrier_cpu_cnt fields from the
srcu_struct structure to the srcu_usage structure to reduce the size of
the former in order to improve cache locality.

Suggested-by: Christoph Hellwig <hch@lst.de>
Tested-by: Sachin Sant <sachinp@linux.ibm.com>
Tested-by: "Zhang, Qiang1" <qiang1.zhang@intel.com>
Tested-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-04-04 08:36:33 -07:00
Paul E. McKenney
660349ac79 srcu: Move ->sda_is_static from srcu_struct to srcu_usage
This commit moves the ->sda_is_static field from the srcu_struct structure
to the srcu_usage structure to reduce the size of the former in order
to improve cache locality.

Suggested-by: Christoph Hellwig <hch@lst.de>
Tested-by: Sachin Sant <sachinp@linux.ibm.com>
Tested-by: "Zhang, Qiang1" <qiang1.zhang@intel.com>
Tested-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-04-04 08:36:28 -07:00
Paul E. McKenney
3b46679c62 srcu: Move heuristics fields from srcu_struct to srcu_usage
This commit moves the ->srcu_size_jiffies, ->srcu_n_lock_retries,
and ->srcu_n_exp_nodelay fields from the srcu_struct structure to the
srcu_usage structure to reduce the size of the former in order to improve
cache locality.

Suggested-by: Christoph Hellwig <hch@lst.de>
Tested-by: Sachin Sant <sachinp@linux.ibm.com>
Tested-by: "Zhang, Qiang1" <qiang1.zhang@intel.com>
Tested-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-04-04 08:36:23 -07:00
Paul E. McKenney
03200b5ca3 srcu: Move grace-period fields from srcu_struct to srcu_usage
This commit moves the ->srcu_gp_seq, ->srcu_gp_seq_needed,
->srcu_gp_seq_needed_exp, ->srcu_gp_start, and ->srcu_last_gp_end fields
from the srcu_struct structure to the srcu_usage structure to reduce
the size of the former in order to improve cache locality.

Suggested-by: Christoph Hellwig <hch@lst.de>
Tested-by: Sachin Sant <sachinp@linux.ibm.com>
Tested-by: "Zhang, Qiang1" <qiang1.zhang@intel.com>
Tested-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-04-04 08:36:19 -07:00
Paul E. McKenney
e3a6ab25cf srcu: Move ->srcu_gp_mutex from srcu_struct to srcu_usage
This commit moves the ->srcu_gp_mutex field from the srcu_struct structure
to the srcu_usage structure to reduce the size of the former in order
to improve cache locality.

Suggested-by: Christoph Hellwig <hch@lst.de>
Tested-by: Sachin Sant <sachinp@linux.ibm.com>
Tested-by: "Zhang, Qiang1" <qiang1.zhang@intel.com>
Tested-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-04-04 08:36:14 -07:00
Paul E. McKenney
b3fb11f7e9 srcu: Move ->lock from srcu_struct to srcu_usage
This commit moves the ->lock field from the srcu_struct structure to
the srcu_usage structure to reduce the size of the former in order to
improve cache locality.

Suggested-by: Christoph Hellwig <hch@lst.de>
Tested-by: Sachin Sant <sachinp@linux.ibm.com>
Tested-by: "Zhang, Qiang1" <qiang1.zhang@intel.com>
Tested-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-04-04 08:36:07 -07:00
Paul E. McKenney
0839ade94b srcu: Move ->lock initialization after srcu_usage allocation
Currently, both __init_srcu_struct() in CONFIG_DEBUG_LOCK_ALLOC=y kernels
and init_srcu_struct() in CONFIG_DEBUG_LOCK_ALLOC=n kernel initialize
the srcu_struct structure's ->lock before the srcu_usage structure has
been allocated.  This of course prevents the ->lock from being moved
to the srcu_usage structure, so this commit moves the initialization
into the init_srcu_struct_fields() after the srcu_usage structure has
been allocated.

Cc: Christoph Hellwig <hch@lst.de>
Tested-by: Sachin Sant <sachinp@linux.ibm.com>
Tested-by: "Zhang, Qiang1" <qiang1.zhang@intel.com>
Tested-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-04-04 08:36:01 -07:00
Paul E. McKenney
574dc1a7ef srcu: Move ->srcu_cb_mutex from srcu_struct to srcu_usage
This commit moves the ->srcu_cb_mutex field from the srcu_struct structure
to the srcu_usage structure to reduce the size of the former in order
to improve cache locality.

Suggested-by: Christoph Hellwig <hch@lst.de>
Tested-by: Sachin Sant <sachinp@linux.ibm.com>
Tested-by: "Zhang, Qiang1" <qiang1.zhang@intel.com>
Tested-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-04-04 08:35:56 -07:00
Paul E. McKenney
a0d8cbd382 srcu: Move ->srcu_size_state from srcu_struct to srcu_usage
This commit moves the ->srcu_size_state field from the srcu_struct
structure to the srcu_usage structure to reduce the size of the former
in order to improve cache locality.

Suggested-by: Christoph Hellwig <hch@lst.de>
Tested-by: Sachin Sant <sachinp@linux.ibm.com>
Tested-by: "Zhang, Qiang1" <qiang1.zhang@intel.com>
Tested-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-04-04 08:35:50 -07:00
Paul E. McKenney
208f41b131 srcu: Move ->level from srcu_struct to srcu_usage
This commit moves the ->level[] array from the srcu_struct structure to
the srcu_usage structure to reduce the size of the former in order to
improve cache locality.

Suggested-by: Christoph Hellwig <hch@lst.de>
Tested-by: Sachin Sant <sachinp@linux.ibm.com>
Tested-by: "Zhang, Qiang1" <qiang1.zhang@intel.com>
Tested-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-04-04 08:35:44 -07:00
Paul E. McKenney
95433f7263 srcu: Begin offloading srcu_struct fields to srcu_update
The current srcu_struct structure is on the order of 200 bytes in size
(depending on architecture and .config), which is much better than the
old-style 26K bytes, but still all too inconvenient when one is trying
to achieve good cache locality on a fastpath involving SRCU readers.

However, only a few fields in srcu_struct are used by SRCU readers.
The remaining fields could be offloaded to a new srcu_update
structure, thus shrinking the srcu_struct structure down to a few
tens of bytes.  This commit begins this noble quest, a quest that is
complicated by open-coded initialization of the srcu_struct within the
srcu_notifier_head structure.  This complication is addressed by updating
the srcu_notifier_head structure's open coding, given that there does
not appear to be a straightforward way of abstracting that initialization.

This commit moves only the ->node pointer to srcu_update.  Later commits
will move additional fields.

[ paulmck: Fold in qiang1.zhang@intel.com's memory-leak fix. ]

Link: https://lore.kernel.org/all/20230320055751.4120251-1-qiang1.zhang@intel.com/
Suggested-by: Christoph Hellwig <hch@lst.de>
Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
Cc: "Michał Mirosław" <mirq-linux@rere.qmqm.pl>
Cc: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Tested-by: Sachin Sant <sachinp@linux.ibm.com>
Tested-by: "Zhang, Qiang1" <qiang1.zhang@intel.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Tested-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-04-04 08:35:34 -07:00
Paul E. McKenney
f4d01a2593 srcu: Use static init for statically allocated in-module srcu_struct
Further shrinking the srcu_struct structure is eased by requiring
that in-module srcu_struct structures rely more heavily on static
initialization.  In particular, this preserves the property that
a module-load-time srcu_struct initialization can fail only due
to memory-allocation failure of the per-CPU srcu_data structures.
It might also slightly improve robustness by keeping the number of memory
allocations that must succeed down percpu_alloc() call.

This is in preparation for splitting an srcu_usage structure out
of the srcu_struct structure.

[ paulmck: Fold in qiang1.zhang@intel.com feedback. ]

Cc: Christoph Hellwig <hch@lst.de>
Tested-by: Sachin Sant <sachinp@linux.ibm.com>
Tested-by: "Zhang, Qiang1" <qiang1.zhang@intel.com>
Tested-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-04-04 08:35:28 -07:00
Paul E. McKenney
3e67cb8a3c srcu: Add whitespace to __SRCU_STRUCT_INIT() & __DEFINE_SRCU()
This is a whitespace-only commit with no change in functionality.
Its purpose is to prepare for later commits that: (1) Cause statically
allocated srcu_struct structures to rely on compile-time initialization
and (2) Move fields from the srcu_struct structure to a new srcu_usage
structure.

Cc: Christoph Hellwig <hch@lst.de>
Tested-by: Sachin Sant <sachinp@linux.ibm.com>
Tested-by: "Zhang, Qiang1" <qiang1.zhang@intel.com>
Tested-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-04-04 08:35:17 -07:00
Lingyu Liu
83c911dc5e ice: Reset FDIR counter in FDIR init stage
Reset the FDIR counters when FDIR inits. Without this patch,
when VF initializes or resets, all the FDIR counters are not
cleaned, which may cause unexpected behaviors for future FDIR
rule create (e.g., rule conflict).

Fixes: 1f7ea1cd6a ("ice: Enable FDIR Configure for AVF")
Signed-off-by: Junfeng Guo <junfeng.guo@intel.com>
Signed-off-by: Lingyu Liu <lingyu.liu@intel.com>
Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2023-04-04 08:34:52 -07:00
Simei Su
b4a01ace20 ice: fix wrong fallback logic for FDIR
When adding a FDIR filter, if ice_vc_fdir_set_irq_ctx returns failure,
the inserted fdir entry will not be removed and if ice_vc_fdir_write_fltr
returns failure, the fdir context info for irq handler will not be cleared
which may lead to inconsistent or memory leak issue. This patch refines
failure cases to resolve this issue.

Fixes: 1f7ea1cd6a ("ice: Enable FDIR Configure for AVF")
Signed-off-by: Simei Su <simei.su@intel.com>
Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2023-04-04 08:34:52 -07:00
Paul E. McKenney
2b4be54830 rcu-tasks: Fix warning for unused tasks_rcu_exit_srcu
The tasks_rcu_exit_srcu variable is used only by kernels built
with CONFIG_TASKS_RCU=y, but is defined for all kernesl with
CONFIG_TASKS_RCU_GENERIC=y.  Therefore, in kernels built with
CONFIG_TASKS_RCU_GENERIC=y but CONFIG_TASKS_RCU=n, this gives
a "defined but not used" warning.

This commit therefore moves this variable under CONFIG_TASKS_RCU.

Link: https://lore.kernel.org/oe-kbuild-all/202303191536.XzMSyzTl-lkp@intel.com/
Reported-by: kernel test robot <lkp@intel.com>
Reviewed-by: Frederic Weisbecker <frederic@kernel.org>
Tested-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-04-04 08:34:47 -07:00
Pavel Begunkov
69bbc6ade9 io_uring/rsrc: add custom limit for node caching
The number of entries in the rsrc node cache is limited to 512, which
still seems unnecessarily large. Add per cache thresholds and set to
to 32 for the rsrc node cache.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/d0cd538b944dac0bf878e276fc0199f21e6bccea.1680576071.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-04-04 09:30:39 -06:00
Pavel Begunkov
757ef4682b io_uring/rsrc: optimise io_rsrc_data refcounting
Every struct io_rsrc_node takes a struct io_rsrc_data reference, which
means all rsrc updates do 2 extra atomics. Replace atomics refcounting
with a int as it's all done under ->uring_lock.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/e73c3d6820cf679532696d790b5b8fae23537213.1680576071.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-04-04 09:30:39 -06:00
Pavel Begunkov
1f2c8f610a io_uring/rsrc: add lockdep sanity checks
We should hold ->uring_lock while putting nodes with io_put_rsrc_node(),
add a lockdep check for that.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/b50d5f156ac41450029796738c1dfd22a521df7a.1680576071.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-04-04 09:30:39 -06:00
Pavel Begunkov
9eae8655f9 io_uring/rsrc: cache struct io_rsrc_node
Add allocation cache for struct io_rsrc_node, it's always allocated and
put under ->uring_lock, so it doesn't need any extra synchronisation
around caches.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/252a9d9ef9654e6467af30fdc02f57c0118fb76e.1680576071.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-04-04 09:30:39 -06:00
Pavel Begunkov
36b9818a5a io_uring/rsrc: don't offload node free
struct delayed_work rsrc_put_work was previously used to offload node
freeing because io_rsrc_node_ref_zero() was previously called by RCU in
the IRQ context. Now, as percpu refcounting is gone, we can do it
eagerly at the spot without pushing it to a worker.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/13fb1aac1e8d068ad8fd4a0c6d0d157ab61b90c0.1680576071.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-04-04 09:30:39 -06:00
Pavel Begunkov
ff7c75ecaa io_uring/rsrc: optimise io_rsrc_put allocation
Every io_rsrc_node keeps a list of items to put, and all entries are
kmalloc()'ed. However, it's quite often to queue up only one entry per
node, so let's add an inline entry there to avoid extra allocations.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/c482c1c652c45c85ac52e67c974bc758a50fed5f.1680576071.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-04-04 09:30:39 -06:00
Pavel Begunkov
c824986c11 io_uring/rsrc: rename rsrc_list
We have too many "rsrc" around which makes the name of struct
io_rsrc_node::rsrc_list confusing. The field is responsible for keeping
a list of files or buffers, so call it item_list and add comments
around.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/3e34d4dfc1fdbb6b520f904ee6187c2ccf680efe.1680576071.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-04-04 09:30:39 -06:00
Pavel Begunkov
0a4813b1ab io_uring/rsrc: kill rsrc_ref_lock
We use ->rsrc_ref_lock spinlock to protect ->rsrc_ref_list in
io_rsrc_node_ref_zero(). Now we removed pcpu refcounting, which means
io_rsrc_node_ref_zero() is not executed from the irq context as an RCU
callback anymore, and we also put it under ->uring_lock.
io_rsrc_node_switch(), which queues up nodes into the list, is also
protected by ->uring_lock, so we can safely get rid of ->rsrc_ref_lock.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/6b60af883c263551190b526a55ff2c9d5ae07141.1680576071.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-04-04 09:30:39 -06:00
Pavel Begunkov
ef8ae64ffa io_uring/rsrc: protect node refs with uring_lock
Currently, for nodes we have an atomic counter and some cached
(non-atomic) refs protected by uring_lock. Let's put all ref
manipulations under uring_lock and get rid of the atomic part.
It's free as in all cases we care about we already hold the lock.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/25b142feed7d831008257d90c8b17c0115d4fc15.1680576071.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-04-04 09:30:39 -06:00
Pavel Begunkov
03adabe81a io_uring: io_free_req() via tw
io_free_req() is not often used but nevertheless problematic as there is
no way to know the current context, it may be used from the submission
path or even by an irq handler. Push it to a fresh context using
task_work.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/3a92fe80bb068757e51aaa0b105cfbe8f5dfee9e.1680576071.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-04-04 09:30:39 -06:00
Pavel Begunkov
2ad4c6d080 io_uring: don't put nodes under spinlocks
io_req_put_rsrc() doesn't need any locking, so move it out of
a spinlock section in __io_req_complete_post() and adjust helpers.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/d5b87a5f31270dade6805f7acafc4cc34b84b241.1680576071.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-04-04 09:30:39 -06:00
Pavel Begunkov
8e15c0e71b io_uring/rsrc: keep cached refs per node
We cache refs of the current node (i.e. ctx->rsrc_node) in
ctx->rsrc_cached_refs. We'll be moving away from atomics, so move the
cached refs in struct io_rsrc_node for now. It's a prep patch and
shouldn't change anything in practise.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/9edc3669c1d71b06c2dca78b2b2b8bb9292738b9.1680576071.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-04-04 09:30:39 -06:00
Pavel Begunkov
b8fb5b4fdd io_uring/rsrc: use non-pcpu refcounts for nodes
One problem with the current rsrc infra is that often updates will
generates lots of rsrc nodes, each carry pcpu refs. That takes quite a
lot of memory, especially if there is a stall, and takes lots of CPU
cycles. Only pcpu allocations takes >50 of CPU with a naive benchmark
updating files in a loop.

Replace pcpu refs with normal refcounting. There is already a hot path
avoiding atomics / refs, but following patches will further improve it.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/e9ed8a9457b331a26555ff9443afc64cdaab7247.1680576071.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-04-04 09:30:39 -06:00
Yang Li
49aba1c589 EDAC/amd64: Fix indentation in umc_determine_edac_cap()
Use consistent indentation to improve the readability and fix:

  drivers/edac/amd64_edac.c:1279 umc_determine_edac_cap() warn: inconsistent indenting

Fixes: f6a4b4a1aa ("EDAC/amd64: Split determine_edac_cap() into dct/umc functions")
Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20230404022557.46409-1-yang.lee@linux.alibaba.com
2023-04-04 17:22:55 +02:00
Eli Cohen
f0417e72ad vdpa/mlx5: Add and remove debugfs in setup/teardown driver
The right place to add the debugfs create is in
setup_driver() and remove it in teardown_driver().

Current code adds the debugfs when creating the device but resetting a
device will remove the debugfs subtree and subsequent set_driver will
not be able to create the files since the debugfs pointer is NULL.

Fixes: 2942210043 ("vdpa/mlx5: Add debugfs subtree")
Signed-off-by: Eli Cohen <elic@nvidia.com>

v3 -> v4:
Fix error flow in setup_driver()
Message-Id: <20230403114039.11102-1-elic@nvidia.com>

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
2023-04-04 11:08:30 -04:00
Yeongjin Gil
e8c5d45f82 dm verity: fix error handling for check_at_most_once on FEC
In verity_end_io(), if bi_status is not BLK_STS_OK, it can be return
directly. But if FEC configured, it is desired to correct the data page
through verity_verify_io. And the return value will be converted to
blk_status and passed to verity_finish_io().

BTW, when a bit is set in v->validated_blocks, verity_verify_io() skips
verification regardless of I/O error for the corresponding bio. In this
case, the I/O error could not be returned properly, and as a result,
there is a problem that abnormal data could be read for the
corresponding block.

To fix this problem, when an I/O error occurs, do not skip verification
even if the bit related is set in v->validated_blocks.

Fixes: 843f38d382 ("dm verity: add 'check_at_most_once' option to only validate hashes once")
Cc: stable@vger.kernel.org
Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Yeongjin Gil <youngjin.gil@samsung.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
2023-04-04 11:03:39 -04:00
Ross Zwisler
9513c55ce3 tools/virtio: fix typo in README instructions
We need to have a unique chardev for each data path, else the chardevs
will collide and qemu will die with this message:

  qemu-system-x86_64: -device
  virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel0,
  id=channel1,name=trace-path-cpu0:
  Property 'virtserialport.chardev' can't take value 'charchannel0':
  Device 'charchannel0' is in use

Signed-off-by: Ross Zwisler <zwisler@google.com>
Message-Id: <20230215223350.2658616-7-zwisler@google.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2023-04-04 11:01:58 -04:00
Mike Christie
4c363c81f6 vhost-scsi: Fix crash during LUN unmapping
We normally clear the endpoint then unmap LUNs so the devices are fully
shutdown when the LUN is unmapped, but it's legal to unmap before
clearing. If the user does that while TMFs are running then we can end
up crashing.

vhost_scsi_port_unlink assumes that the LUN's tmf struct will always be on
the tmf_queue list. However, if a TMF is running then it will have been
removed while it's executing. If we do a LUN unmap at this time, then
we assume the entry is on the list and just start accessing it and free
it.

This fixes the bug by just allocating the vhost_scsi_tmf struct when it's
needed like is done with the se_tmr struct that's needed when we submit
the TMF. In this path perf is not an issue and we can use GFP_KERNEL
since it won't swing directly back on us, so we don't need to preallocate
the struct.

Signed-off-by: Mike Christie <michael.christie@oracle.com>
Message-Id: <20230321020624.13323-3-michael.christie@oracle.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2023-04-04 11:01:58 -04:00
Mike Christie
e508efc3ae vhost-scsi: Fix vhost_scsi struct use after free
If vhost_scsi_setup_vq_cmds fails we leave the tpg->vhost_scsi pointer
set. If the device is freed and then the user unmaps the LUN, the call to
vhost_scsi_port_unlink -> vhost_scsi_hotunplug will see the that
tpg->vhost_scsi is still set and try to use it.

This has us clear the vhost_scsi pointer in the failure path. It also
has us take tv_tpg_mutex in this failure path, because tv_tpg_vhost_count
is accessed under this mutex in vhost_scsi_drop_nexus and in the future
we will want to serialize access to tpg->vhost_scsi with that mutex
instead of the vhost_scsi_mutex.

Signed-off-by: Mike Christie <michael.christie@oracle.com>
Message-Id: <20230321020624.13323-2-michael.christie@oracle.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2023-04-04 11:01:58 -04:00
Dmitry Fomichev
10805eb5d6 virtio-blk: fix ZBD probe in kernels without ZBD support
When the kernel is built without support for zoned block devices,
virtio-blk probe needs to error out any host-managed device scans
to prevent such devices from appearing in the system as non-zoned.
The current virtio-blk code simply bypasses all ZBD checks if
CONFIG_BLK_DEV_ZONED is not defined and this leads to host-managed
block devices being presented as non-zoned in the OS. This is one of
the main problems this patch series is aimed to fix.

In this patch, make VIRTIO_BLK_F_ZONED feature defined even when
CONFIG_BLK_DEV_ZONED is not. This change makes the code compliant with
the voted revision of virtio-blk ZBD spec. Modify the probe code to
look at the situation when VIRTIO_BLK_F_ZONED is negotiated in a kernel
that is built without ZBD support. In this case, the code checks
the zoned model of the device and fails the probe is the device
is host-managed.

The patch also adds the comment to clarify that the call to perform
the zoned device probe is correctly placed after virtio_device ready().

Fixes: 95bfec41bd ("virtio-blk: add support for zoned block devices")
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Message-Id: <20230330214953.1088216-3-dmitry.fomichev@wdc.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2023-04-04 11:01:57 -04:00
Dmitry Fomichev
f1ba4e674f virtio-blk: fix to match virtio spec
The merged patch series to support zoned block devices in virtio-blk
is not the most up to date version. The merged patch can be found at

https://lore.kernel.org/linux-block/20221016034127.330942-3-dmitry.fomichev@wdc.com/

but the latest and reviewed version is

https://lore.kernel.org/linux-block/20221110053952.3378990-3-dmitry.fomichev@wdc.com/

The reason is apparently that the correct mailing lists and
maintainers were not copied.

The differences between the two are mostly cleanups, but there is one
change that is very important in terms of compatibility with the
approved virtio-zbd specification.

Before it was approved, the OASIS virtio spec had a change in
VIRTIO_BLK_T_ZONE_APPEND request layout that is not reflected in the
current virtio-blk driver code. In the running code, the status is
the first byte of the in-header that is followed by some pad bytes
and the u64 that carries the sector at which the data has been written
to the zone back to the driver, aka the append sector.

This layout turned out to be problematic for implementing in QEMU and
the request status byte has been eventually made the last byte of the
in-header. The current code doesn't expect that and this causes the
append sector value always come as zero to the block layer. This needs
to be fixed ASAP.

Fixes: 95bfec41bd ("virtio-blk: add support for zoned block devices")
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Message-Id: <20230330214953.1088216-2-dmitry.fomichev@wdc.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2023-04-04 11:01:57 -04:00
Oliver Hartkopp
1afae605e0 kvaser_usb: convert USB IDs to hexadecimal values
USB IDs are usually represented in 16 bit hexadecimal values. To match
the common representation in lsusb and for searching USB IDs in the
internet convert the decimal values to lowercase hexadecimal.

changes since v1: https://lore.kernel.org/all/20230327175344.4668-1-socketcan@hartkopp.net
- drop the aligned block indentation (suggested by Jimmy)
- use lowercase hex values (suggested by Alex)

Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Acked-by: Jimmy Assarsson <extja@kvaser.com>
Reviewed-by: Alexander Dahl <ada@thorsis.com>
Link: https://lore.kernel.org/all/20230329090915.3127-1-socketcan@hartkopp.net
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2023-04-04 16:48:45 +02:00
Frank Jungclaus
c42fc36949 can: esd_usb: Add support for CAN_CTRLMODE_BERR_REPORTING
Announce that the driver supports CAN_CTRLMODE_BERR_REPORTING by means
of priv->can.ctrlmode_supported. Until now berr reporting always has
been active without taking care of the berr-reporting parameter given
to an "ip link set ..." command.

Additionally apply some changes to function esd_usb_rx_event():
- If berr reporting is off and it is also no state change, then
immediately return.
- Unconditionally (even in case of the above "immediate return") store
tx- and rx-error counters, so directly use priv->bec.txerr and
priv->bec.rxerr instead of intermediate variables.
- Not directly related, but to better point out the linkage between a
failed alloc_can_err_skb() and stats->rx_dropped++:
Move the increment of the rx_dropped statistic counter (back) to
directly behind the err_skb allocation.

Signed-off-by: Frank Jungclaus <frank.jungclaus@esd.eu>
Link: https://lore.kernel.org/all/20230330184446.2802135-1-frank.jungclaus@esd.eu
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2023-04-04 16:48:45 +02:00
Peng Fan
066b41a599 dt-bindings: can: fsl,flexcan: add optional power-domains property
Add optional power-domains property for i.MX8 usage.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/all/20230328054602.1974255-1-peng.fan@oss.nxp.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2023-04-04 16:48:45 +02:00
Geert Uytterhoeven
8e85d550c1 can: rcar_canfd: rcar_canfd_probe(): fix plain integer in transceivers[] init
Fix the following compile warning with C=1:

| drivers/net/can/rcar/rcar_canfd.c:1852:59: warning: Using plain integer as NULL pointer

Fixes: a0340df7ec ("can: rcar_canfd: Add transceiver support")
Reported-by: Jakub Kicinski <kuba@kernel.org>
Link: https://lore.kernel.org/r/20230328145658.7fdbc394@kernel.org
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Steen Hegelund <Steen.Hegelund@microchip.com>
Link: https://lore.kernel.org/all/7f7b0dde0caa2d2977b4fb5b65b63036e75f5022.1680071972.git.geert+renesas@glider.be
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2023-04-04 16:48:42 +02:00
Neil Armstrong
5ca2653011
ARM: oxnas: remove OXNAS support
Due to lack of maintainance and stall of development for a few years now,
and since no new features will ever be added upstream, remove support
for OX810 and OX820 ARM support.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-04-04 16:32:37 +02:00
Arnd Bergmann
c00574bb43 Clean-up for omap1 for v6.4 merge window
Two clean-up patches to fix Kconfig indentation and to simplify the
 return path for ams_delta_modem_init().
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmQlg/URHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXNb3Q/9EJXtA2f1sF8+pCLPb6a6IXLE0z8rEAT8
 Wvy0PzFzJuj7cxa7q+IpxmOEWNw6NKF5zwwTrrPwskXtJSaI+0jlr/qvA3bz0CRf
 sdtFMGFHBp+/s9vZoC6oZoUtOSRVfE+gXxYe+kjMUKvoRZgTdH3gtA1jOKZFeid5
 z/WHODcZolKN40k4NSS5Qb1zHvK6bRFSZ6Z6WGdBVt2vfICQSSYtshm0kmVXUHrO
 VegqRgX21+i+MoEKogQ3/1PYex9e3l3pWu9FroUEnrPmEPUrsnKiX4m4u3ShBGzw
 1oTR0vckaqmQe4mXFAENsE9euriPtmo4U2NGDPnTWlPpreweQHWREde60w3fRftM
 HonNq7SZBHH2NGYZvp1jiZUSm+lasO+vaslctDufSqDkrORrE2t3ZNwCpUpgLdwV
 0IUcTDKElXqXI1W45F+qLnJ1e/JmZmCZYCheKghRdCIPFa27+BpQ8PbyhKaLuAGW
 6UAniws6LZ5ey4zUry87bxUFbf4buwzaBgUBvHnBjEZflxGXajgB5/yeEbUTAiO5
 8vlTC8B9/kXGuioztyw17sjjR5v+WOzLu5/V/Hpkl2nsaVsN6b5AHmSjQ4WADvvm
 RgiihRHQF8Mt+KNxzq753eMqsbpJspfXurVn41rAk+ZeJZFTNMlBALv0N39hPt/3
 NZkFV7Pmh0I=
 =hktt
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmQsNMMACgkQmmx57+YA
 GNnD+Q/5AVBP7NN7DGXZzul52S2tSv2dFgM5k886EGg0kc804Ou2dxc10RqbswCh
 ICCBbEW2jz5H5GeBYzVxFleRGCw+8hlpH0WFkTw79ht0OamPYeKiFDJnL0SO8/Xz
 +uOjed6T+EXVelMjkb0gCbOyP7sFyoWE+NpzaRlMWkxNnwsEW+SL0rCXRhS1qrAm
 jm7APyp1jcDnWTS3b76wFmDdRCsz0oP8zBvo0u3YNW2/TgTqq2R18+wkAhxsDJez
 aI3Vpdh/LS291o//0oNAcVa3osh7HCkFYnBqgi/WwJxFUMROvFbdpmYrVigUvc8P
 dcRuMP/RL1/TO4iJ7uzAIzg7uRRbAi8LORWz5jRzJGle2FTPNVlrzMYO+zQtk+y9
 gdZA4bAwh6rhk1xLz2pGKM3AVbrOjFpg8SCbAEdDZW2wwX/YJiYkhb9dq188Nuc+
 LENBPnCUmN2WIdgmk0p54i1N8pyHpr/kBpmYfF0OPP5nui+SoHSd0j+nLyflVWnH
 3exWjsfNgpXj94L97fdrqoUwWaazY0j4iE7PIsicPkT1P0ek0QLQTMIP0Ytz5fgu
 mzqQyzwkVdEcb4cjuta4oY28pAQnvVJuz5p7/Q7mc7qKPevGwgvZBSy54S8gSsE1
 4zULT2DQ3FAk3Hv0OuFiTULlRBtRgCq8fRxam5p6AKW+asr1AlY=
 =OTXH
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v6.4/omap1-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into soc/arm

Clean-up for omap1 for v6.4 merge window

Two clean-up patches to fix Kconfig indentation and to simplify the
return path for ams_delta_modem_init().

* tag 'omap-for-v6.4/omap1-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: omap1: remove redundant variables err
  ARM: omap1: Kconfig: Fix indentation

Link: https://lore.kernel.org/r/pull-1680180485-415954@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-04-04 16:31:30 +02:00
Arnd Bergmann
fb481b2e5a Clean-up for omaps for v6.4
Some clean-up changes for omaps mostly to use of_property_read_bool() and
 of_address_to_resource(). Also included is removal for an obsolete Kconfig
 option, a typo fix, a return path change for am33xx_suspend_init(), and a
 change to use kzalloc instead of kcalloc for a single element.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmQlfE4RHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXPHCw/+KZXtEWQm3sgJBi1HTya7PRbuik6bbXdW
 /H/nZIC9rDMOB3Ere8ZxYKMef9E1uLkYtv4FcWGcAffNmYYLL2q1bRwD2B/cI2hn
 XZIJvSlAwuJh1yLn21+mGwKY49zKwBmidMcNT97PGyCLoA18E2ROA2/pw0NL03qQ
 T0kWNhghplIcbGXlQkOvHteQHF2fmOoy/5wIHEayu/uYqoBp9uUjk59d5TOoji3S
 Pgt1WrbcIRPTIoTQg25fDkCfs1YyeVwz5ptthkbWuTM4sHaRTfikS9hCszv/wmCd
 T/XENjPSbmeSmr8S0utXyWb7ydOYdBumSVSsIOj4fNInf65soHeQH102MiE7Rl00
 46MtQcHDqeJaoFrPRxtwXNKwjd9qxOztXJvCnuP0Z2+j+a17pvThGTuIqpBC7XNI
 u2odq/5sJgEJzzzS/ADm4B6okYiAwCj6Ic2D9LIMoJaJHh4FD3d04G3noTD3NwWE
 fW4ZfsE9MwQ9tRBC4SmItiZsTv/ZvJj1zITZD89fmD3M2EJzv6vwbzELZuZyyMY+
 tG9CiUBDaDZW/EoE6IbV7/XvFn1N0FBJMV7Htpwbu8MT6MXlFer8nQIaVQGD39mv
 Pe9GaXI1WYnF+Q1yKfMuT36bIxMFj7k3oJdn+HmdLE8zS6nuGIe8jfDoPDM6PY5K
 RXE2Iu9H64E=
 =V1fz
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmQsNJUACgkQmmx57+YA
 GNkpjg//UC34Vlf4MRczFtIvPVj613sa9nP121ESNZq580wgTdVJDY2eeF5YkBws
 N/EN9fgTNLOc+b7b6e/2HLEtUXIQYJ6gprJ1ImAmEdttOFcF/YZVVYS1OZf1O4Dg
 lSw00B92kh7/htCWtEVGI2gY5CxnpmPlmueEKuqPG6sfy7pCPfv7P4iqP+DyNpOs
 VAU6wUo4WZWwmpGXGOfucezMNAcUetRs3Z2IqvYGCh6tK0UF0NHG+Td4OglhOED/
 hlTxrJBwCvM2vbtaWrfPcp2wIC36jwqWO4GsVwI0NjKbCBM2+RRYiAX3Tx9H4byf
 KjPKVCxVMLpU3ycJNbwU8pwgQSi4JgjB7UMpDHUGSsfhlbNffn7ii8bGTJsByHcy
 kvayJoBsJ6FwNvNXPv8OPYSc2zeuxVWtq08vpWJsDYrQH+aUrwkuQSdhSnlx/HqF
 CqNV1p2FPTr3Ur9COL3UM9cK+70+Q5V3l2UpejmHhwDEnVna+t1kS/hE2v6dxwj0
 B36YZEy3gyxAccAfsMNIqaHricqdK5PpMIWq6/iayf5Pd491QsPivKaLpHYA1MGr
 2k9yq5oeNV77g/CoOTIDVpe32fs5rh+nyREVd26rxVIr+JtNx2FwsVGUvvofj9yF
 V4oU19K8aOmpWpKRABe+mEr3p09SOTELZ4fNznPUYNfPeSH2sME=
 =8t7P
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v6.4/cleanup-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into soc/arm

Clean-up for omaps for v6.4

Some clean-up changes for omaps mostly to use of_property_read_bool() and
of_address_to_resource(). Also included is removal for an obsolete Kconfig
option, a typo fix, a return path change for am33xx_suspend_init(), and a
change to use kzalloc instead of kcalloc for a single element.

* tag 'omap-for-v6.4/cleanup-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: hwmod: Use kzalloc for allocating only one element
  ARM: OMAP2+: Remove the unneeded result variable
  ARM: OMAP2+: fix repeated words in comments
  ARM: OMAP2+: remove obsolete config OMAP3_SDRC_AC_TIMING
  ARM: OMAP2+: Use of_address_to_resource()
  ARM: OMAP2+: Use of_property_read_bool() for boolean properties

Link: https://lore.kernel.org/r/pull-1680180293-92168@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-04-04 16:30:45 +02:00
Arnd Bergmann
837be1cc22 Amlogic ARM64 DT changes for v6.4:
- set of DT bindings check fixes
 - adjust order of some compatibles to match dt-schema migration
 - add support for BananaPi M2S variants
 - gxbb-kii-pro: add audio & bluetooth support
 - meson-a1: add gpio_intc node
 - gxl: use gxl mdio multiplexer
 - Add initial support for BPI-CM4 module with BPI-CM4IO baseboard
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmQr6l4ACgkQd9zb2sjI
 SdFBOQ/+I9j/2kZFj7mstbKHBr4EpLNdKN7UeeRHKD1hod2Iaq5RVoBH0o+6H/Qa
 nJKUHOj19UIF4lz6sKBRjWWeLncHPKfmrNKtuhuXNVQg+rsdgnc39K63K2UmFKav
 RDHJwGEEaXslgzJIq2XLl2jNyRtE4AvNzmTRdbT84pDVbkYGxQLAqJ1kbSXmgc6f
 wogWGUBXZxMEcey/wXiUGfgBJPem2szczPZ5J4WlPfYoJxLEAgbYSh3cqjjEAPcV
 xk/IJavQ85xgR06YTLKkWPOOGGZgXORQMlElY1bCAcs742gSlpfoNZaS/nFwlA6N
 6+rX8EvVXGBvnc0Ayv9rwb9RuTvhOUXCbLByB/qy5W/kliUoz/Jmbxf6yC7ZVkqx
 u7TtHDJfWYyJBLdlwcTiREwGvJb2AdmtrEvC3KNn+VBWyNnTNBEgmwkr/GTAZ8jk
 qO0MQOWlfS6MAkl98y6VPwIFsaqy6A+d5oLH46bMJVcNKQlWuavlVrvtf9IHCshA
 fbsl/h/V7AItYiaUhvkm5OJ0Hl7ZvEImEd3Lxv/B/NEx4p0xQfF7mUKE78oppxqD
 b2gtmnZ1ADjeiToEN3C+DpYulrkXkvhBIB/c3oNP2vg8yZQIpFmc/LnHgw6QJUZt
 awpfe6lqpiu2mzom7cfJpMnuTUodw7XhXbKD9ncuCHgFZjTdjr4=
 =hTpB
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmQsNFYACgkQmmx57+YA
 GNkGHQ/+JbQvhA/AB6t8exQT7KrW1DZ3v9PPkHY2Zo5mhei2ZfYjceTc+6uYiToC
 4YxTBFJjn+IPB10sf4ba/fVlmYZZMcVtRaiCgNOKK2EAa6J08lVeYdJ4EbOTnuvX
 I+/KlD3I8i+TtEd9lMsa+dxYghJxh+Uv+f1DzAF5Dvkyo7itaM5cJdD6rRgpOWcD
 AbAflfUqlkmTt/t/+F+pKePh0wkDAuP3RAgsYqXmpExS4tir4UyS64m8eFLiXFru
 k7qFuDOl767GUHSvD19O6J/BMUHTQ7KWjwWERuArNdwP/ArXTRYUR1cxA/c8oLgM
 PO4cRn1x7akuOPxmz16K+Goe6eHVJ+1Dt0MkL77nOYJrUQtIXiQU6mHnwvPHTvT1
 rsJObb4RBGsoIO3890KCufzSY7GxeeTM7dA7rp/BYVvCG8Zhs++DmMiucR59EQmq
 13QLq1YP+6iFzzaneR5VUlY7dcpi7CuIDViGZsD5htkV3iixpEm+k6zXQxVFuF1R
 6tt4frfQ2fSNZut5QRlWrkmyAmfzejBBOMozQuWqF856OPT8LsZSqJ6CRqkA+Nhy
 fokO/jjMIaWMWsMOQnahkJg8IKbzi99ZaH1QHPjjL14nQJg+GGNUWVSYcjxqEZ3j
 VypQ+Y4Xpwle4MW25WnqXH58sVq5ZVVQWfb89K3rMoY2iSI9OfA=
 =0R2K
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-arm64-dt-for-v6.4' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/dt

Amlogic ARM64 DT changes for v6.4:
- set of DT bindings check fixes
- adjust order of some compatibles to match dt-schema migration
- add support for BananaPi M2S variants
- gxbb-kii-pro: add audio & bluetooth support
- meson-a1: add gpio_intc node
- gxl: use gxl mdio multiplexer
- Add initial support for BPI-CM4 module with BPI-CM4IO baseboard

* tag 'amlogic-arm64-dt-for-v6.4' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  arm64: dts: amlogic: Add initial support for BPI-CM4 module with BPI-CM4IO baseboard
  dt-bindings: arm: amlogic: Document the boards with the BPI-CM4 connected
  arm64: dts: amlogic: gxl: use gxl mdio multiplexer
  arm64: dts: meson-a1: add gpio_intc node
  arm64: dts: meson: gxbb-kii-pro: add initial audio support
  arm64: dts: meson: gxbb-kii-pro: complete the bluetooth node
  arm64: dts: meson: gxbb-kii-pro: sort and tidy the dts
  arm64: dts: meson: adjust order of some compatibles
  arm64: dts: meson: add support for BananaPi M2S variants
  dt-bindings: arm: amlogic: add support for BananaPi M2S variants
  arm64: dts: amlogic: meson-gxm-s912-libretech-pc: remove unused pinctrl-names from phy node
  arm64: dts: amlogic: meson-sm1: use correct enable-gpios
  arm64: dts: amlogic: meson-s4: fix apb4 bus node name
  arm64: dts: amlogic: meson-g12b-odroid-go-ultra: rename keypad-gpio pinctrl node
  arm64: dts: amlogic: meson-g12b-radxa-zero2: fix pwm clock names
  arm64: dts: amlogic: meson-axg-jethome-jethub-j1xx: remove invalid #gpio-cells in onewire node
  arm64: dts: amlogic: meson-gxm-s912-libretech-pc: add simple connector node in fusb302 node
  arm64: dts: amlogic: meson-sm1-bananapi: correct usb-hub hog node name

Link: https://lore.kernel.org/r/1b955bb7-1a35-8d67-beb6-dd289533ff6f@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-04-04 16:29:42 +02:00
Arnd Bergmann
9514e51932 Amlogic ARM DT changes for v6.4:
- adjust order of some compatibles
 - meson8: add the xtal_32k_out pin
 - meson8: add the SDXC_A pins
 - mxiii-plus: Enable Bluetooth and WiFi support
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmQr6dIACgkQd9zb2sjI
 SdGIxQ//ZpbqL6CT8CFWxRiat+vP7t5XqJKug/tMPVAurGSVqelNrPqnUUZbkOWo
 ycTNIhEIbZFh89pH0C/NtTV84Pu14z6Z/lie6/RXudoy5jaH9mgNM+VZKIJlKxFb
 EhAabAlWOYooSbP3Am5WyH5QvFU9tybogIDTRLU+mgctuEDEgGC1kQdpxLKmjLjv
 pD7TvT85OSZNH6oustn0vZ17EIvFePF3ZJ649o05sdq0X6xQBSk+R5zFgk0X1hNY
 VJJEgvL8IBa7Qjd8Pnv1yZoc0P8G09oMwqdiLMq/XjEA/r7bNEUwQqeQfGq31i8T
 ZWHtzzoenLMrJ5V6UKG3qrI8ksXjx8wr6U0n4AnBH9URSqRBs4S9bbOgR3UCt5fN
 L9IlAOd+yy8B5TO/aAsPUYdpAr7cRIl/K+KaLanhyf+4NLgti2mTJjYk2bFf/DmS
 Z1+CTOd8Qkzckt7c7T4JxRWF+tLSUPi/krXBbzupK5wPBd9AxYGWiD2TBErb1WCA
 G3+AxuKT8RjE4BZtrMsAaWCNLtgY2C5yixIvh3wYL6ZVKGi7odv6kAbL/yaT2MbY
 G/t6iiug7rJfW25xyYp6SKkREUtR4au+kzHnt/KLUDUBwpBZ38pKFRShA4r3/cvH
 S5sGKv05OxbC//9pLhMsvrPUG/1V3RFgCGtGTlxqjPCfjvlXto0=
 =gZEJ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmQsM9sACgkQmmx57+YA
 GNkzjQ/7BfkCJ6t+XPnF792Zc3o+nNopuvIIMUfc11H+yA8mkkHdNDgpIlwVQYgB
 4VooSfVwQJg9HrgekRgybCf/5lasN7EFk1NBrlZQU6U3ahH2oPBKJPPsoaMtoTyU
 ScMf+3+YXgv2nx6ZJ8dbSi2la1ElKhXv6QbSl08HvueUNkAW4ybdnwbJU4PkwplT
 WGSLAPtAt6NUcmeAOASXBd8lNdqhRyjfswgB+uPNqeBewYvkyxbl5NPBiCTCf6yx
 4u3QLkSgiASRxjsTwBkK+cklxl6Z/A2vCOQV7oi0mclAjygypdlD3qimyHmZEBLm
 7/dRtakvQMiPdztgDVnsQjGsqRinJiswbZCmSkSkM39kuzdO3/MzbwOKVKlNP4IC
 eFyWV+7a7Ykshll4ij3QjUavjHqf358hfIng7FbmUc368hTCDxY5rZ6n8CMP+MjF
 3vF/jaDwnjO3j7McxRHwqPHem6ezp2HqTL4abBWyHjiK83mz+EBiYKw96ktk9V+s
 W44WiL2YnQEWVfYFXf2dmK7mpYeqfdZtjuRcQqEjCZVsu4Sm+ZzwYYlvymgPTtI3
 /MNoVvAhgcD5tt6k9grqsA5Dg6OrX5OngcVyI2+KQHZtCPdtFyYMJTAyYpVfX2zn
 dUqpt2gNqlJUchFuUcpxhbxNfoaHnWK5SycxrCdSy0k7/5GL1m4=
 =juyK
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-arm-dt-for-v6.4' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/dt

Amlogic ARM DT changes for v6.4:
- adjust order of some compatibles
- meson8: add the xtal_32k_out pin
- meson8: add the SDXC_A pins
- mxiii-plus: Enable Bluetooth and WiFi support

* tag 'amlogic-arm-dt-for-v6.4' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  ARM: dts: meson8m2: mxiii-plus: Enable Bluetooth and WiFi support
  ARM: dts: meson8: add the SDXC_A pins
  ARM: dts: meson8: add the xtal_32k_out pin
  arm: dts: meson: adjust order of some compatibles

Link: https://lore.kernel.org/r/eb1f32f8-822d-9cfc-fca6-9e044bf4a5ab@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-04-04 16:27:39 +02:00