Commit graph

1,233,488 commits

Author SHA1 Message Date
Radhey Shyam Pandey
6c461e394d net: macb: In ZynqMP resume always configure PS GTR for non-wakeup source
On Zynq UltraScale+ MPSoC ubuntu platform when systemctl issues suspend,
network manager bring down the interface and goes into suspend. When it
wakes up it again enables the interface.

This leads to xilinx-psgtr "PLL lock timeout" on interface bringup, as
the power management controller power down the entire FPD (including
SERDES) if none of the FPD devices are in use and serdes is not
initialized on resume.

$ sudo rtcwake -m no -s 120 -v
$ sudo systemctl suspend  <this does ifconfig eth1 down>
$ ifconfig eth1 up
xilinx-psgtr fd400000.phy: lane 0 (type 10, protocol 5): PLL lock timeout
phy phy-fd400000.phy.0: phy poweron failed --> -110

macb driver is called in this way:
1. macb_close: Stop network interface. In this function, it
   reset MACB IP and disables PHY and network interface.

2. macb_suspend: It is called in kernel suspend flow. But because
   network interface has been disabled(netif_running(ndev) is
   false), it does nothing and returns directly;

3. System goes into suspend state. Some time later, system is
   waken up by RTC wakeup device;

4. macb_resume: It does nothing because network interface has
   been disabled;

5. macb_open: It is called to enable network interface again. ethernet
   interface is initialized in this API but serdes which is power-off
   by PMUFW during FPD-off suspend is not initialized again and so
   we hit GT PLL lock issue on open.

To resolve this PLL timeout issue always do PS GTR initialization
when ethernet device is configured as non-wakeup source.

Fixes: f22bd29ba1 ("net: macb: Fix ZynqMP SGMII non-wakeup source resume failure")
Fixes: 8b73fa3ae0 ("net: macb: Added ZynqMP-specific initialization")
Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
Link: https://lore.kernel.org/r/1691414091-2260697-1-git-send-email-radhey.shyam.pandey@amd.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2023-08-14 19:03:39 -07:00
Russell King (Oracle)
479b322ee6 net: dsa: mv88e6060: add phylink_get_caps implementation
Add a phylink_get_caps implementation for Marvell 88e6060 DSA switch.
This is a fast ethernet switch, with internal PHYs for ports 0 through
4. Port 4 also supports MII, REVMII, REVRMII and SNI. Port 5 supports
MII, REVMII, REVRMII and SNI without an internal PHY.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Link: https://lore.kernel.org/r/E1qUkx7-003dMX-9b@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2023-08-14 18:57:17 -07:00
Dave Airlie
57bca71dce Merge tag 'drm-intel-gt-next-2023-08-11' of git://anongit.freedesktop.org/drm/drm-intel into drm-next
Cross-subsystem Changes:

- Backmerge of drm-next

Driver Changes:

- Apply workaround 22016122933 correctly (Jonathan, Matt R)

- Simplify shmem_create_from_object map_type selection (Jonathan,
  Tvrtko)
- Make i915_coherent_map_type GT-centric (Jonathan, Matt R)

- Selftest improvements (John)

Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/ZNYR3bKFquGc7u9w@jlahtine-mobl.ger.corp.intel.com
2023-08-15 11:53:32 +10:00
Lu Jialin
82b90b6c5b cgroup:namespace: Remove unused cgroup_namespaces_init()
cgroup_namspace_init() just return 0. Therefore, there is no need to
call it during start_kernel. Just remove it.

Fixes: a79a908fd2 ("cgroup: introduce cgroup namespaces")
Signed-off-by: Lu Jialin <lujialin4@huawei.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
2023-08-14 14:29:47 -10:00
Stephen Boyd
364a609dc3 Allwinner clock changes for 6.6 part 2
- Parameter name correction for ccu_nkm_round_rate()
 - Implement CLK_SET_RATE_PARENT for NKM clocks, i.e. consider alternative
   parent rates when determining clock rates
 - Set CLK_SET_RATE_PARENT for A64 pll-mipi
 - Support finding closest (as opposed to closest but not higher) clock
   rate for NM, NKM, mux and div type clocks, as use it for A64
   pll-video0
 - Prefer current parent rate if able to generate ideal clock rate for
   NKM clocks
 -----BEGIN PGP SIGNATURE-----
 
 iQJCBAABCgAsFiEE2nN1m/hhnkhOWjtHOJpUIZwPJDAFAmTY1aQOHHdlbnNAY3Np
 ZS5vcmcACgkQOJpUIZwPJDA7JA/+KUOF8mI4PClCsjDq0y+d0GPbW0b0cFVkAlY7
 gYRSfzgKWiQEuls87cpUiVskKm5pADfvpDkB4eky7ijethwhwzjjEl7IKfDyzhwr
 XmjacWE+OVqMqwGObHorgz2bJWaeiPuh2ybh/MNt7taa7TgLHbx/atP+I8V69ovR
 bljHErTG21sRLsfpDxu2hVJaWVyY3tiibEm2751JoSq/xf/Lei07hSKuh3aVsJdm
 /j5YnWkOSMaICeYSxdhDprhBz1yMnSfVvOviTazXhSkkpTkJOz0eRu3dBN6xxrLP
 Y+mOxbt4xo/O2qflo0hyaTwzf/VNmgGqji2rKsCTdt2F2KwWpd8ropr+ssVKbO3B
 IqsHXGhiXrq7/LIxJ7AZtTnuY17f2VVx/5KiryngM6Got6zZPOqApJIoetckMXeZ
 TPGvcVWkDOXcCCArmgPEwIr9S+h15SJ0bc5F79go1e93b4BWTVDmCLQwVzeNdPLr
 Mrlnj3xGRh+adbx8BQYIkDo0XlO40DK5eak/bAZj7HmuIbMQNSv9A1BK6diFqqeF
 alao/io+6c4ezjJSaLWqzx7+ix4Gfkv0z8Ux0cSQj9+f9XQIITJmlRmsZvGFdkbC
 UaAJhCN7+Eg/LVhp1ifLTmcsEP04aCXuPPCfZ9NNfYj9f+aqE/5gF2XlE1KWbT+J
 lp0Edw4=
 =u5sg
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-clk-for-6.6-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into clk-allwinner

Pull Allwinner clk driver changes from Chen-Yu Tsai:

 - Parameter name correction for ccu_nkm_round_rate()
 - Implement CLK_SET_RATE_PARENT for NKM clocks, i.e. consider alternative
   parent rates when determining clock rates
 - Set CLK_SET_RATE_PARENT for A64 pll-mipi
 - Support finding closest (as opposed to closest but not higher) clock
   rate for NM, NKM, mux and div type clocks, as use it for A64
   pll-video0
 - Prefer current parent rate if able to generate ideal clock rate for
   NKM clocks

* tag 'sunxi-clk-for-6.6-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  clk: sunxi-ng: nkm: Prefer current parent rate
  clk: sunxi-ng: a64: select closest rate for pll-video0
  clk: sunxi-ng: div: Support finding closest rate
  clk: sunxi-ng: mux: Support finding closest rate
  clk: sunxi-ng: nkm: Support finding closest rate
  clk: sunxi-ng: nm: Support finding closest rate
  clk: sunxi-ng: Add helper function to find closest rate
  clk: sunxi-ng: Add feature to find closest rate
  clk: sunxi-ng: a64: allow pll-mipi to set parent's rate
  clk: sunxi-ng: nkm: consider alternative parent rates when determining rate
  clk: sunxi-ng: nkm: Use correct parameter name for parent HW
2023-08-14 17:29:38 -07:00
Aaron Tomlin
b6a46f7263 workqueue: Rename rescuer kworker
Each CPU-specific and unbound kworker kthread conforms to a particular
naming scheme. However, this does not extend to the rescuer kworker.
At present, a rescuer kworker is simply named according to its
workqueue's name. This can be cryptic.

This patch modifies a rescuer to follow the kworker naming scheme.
The "R" is indicative of a rescuer and after "-" is its workqueue's
name e.g. "kworker/R-ext4-rsv-conver".

tj: Use "R" instead of "r" as the prefix to make it more distinctive and
    consistent with how highpri pools are marked.

Signed-off-by: Aaron Tomlin <atomlin@atomlin.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
2023-08-14 14:20:26 -10:00
Xiongfeng Wang
484281bd5b hwtracing: hisi_ptt: Use pci_dev_id() to simplify the code
PCI core API pci_dev_id() can be used to get the BDF number for a pci
device. We don't need to compose it mannually using PCI_DEVID(). Use
pci_dev_id() to simplify the code a little bit.

Signed-off-by: Xiongfeng Wang <wangxiongfeng2@huawei.com>
Reviewed-by: Yicong Yang <yangyicong@hisilicon.com>
Reviewed-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20230808030835.167538-1-wangxiongfeng2@huawei.com
2023-08-15 00:45:56 +01:00
Jason Gunthorpe
23a1b46f15 iommufd/selftest: Make the mock iommu driver into a real driver
I've avoided doing this because there is no way to make this happen
without an intrusion into the core code. Up till now this has avoided
needing the core code's probe path with some hackery - but now that
default domains are becoming mandatory it is unavoidable.

This became a serious problem when the core code stopped allowing
partially registered iommu drivers in commit 14891af379 ("iommu: Move
the iommu driver sysfs setup into iommu_init/deinit_device()") which
breaks the selftest. That series was developed along with a second series
that contained this patch so it was not noticed.

Make it so that iommufd selftest can create a real iommu driver and bind
it only to is own private bus. Add iommu_device_register_bus() as a core
code helper to make this possible. It simply sets the right pointers and
registers the notifier block. The mock driver then works like any normal
driver should, with probe triggered by the bus ops

When the bus->iommu_ops stuff is fully unwound we can probably do better
here and remove this special case.

Link: https://lore.kernel.org/r/15-v6-e8114faedade+425-iommu_all_defdom_jgg@nvidia.com
Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2023-08-14 20:13:45 -03:00
Aakash Sen Sharma
08ab786556 rust: bindgen: upgrade to 0.65.1
In LLVM 16, anonymous items may return names like `(unnamed union at ..)`
rather than empty names [1], which breaks Rust-enabled builds because
bindgen assumed an empty name instead of detecting them via
`clang_Cursor_isAnonymous` [2]:

    $ make rustdoc LLVM=1 CLIPPY=1 -j$(nproc)
      RUSTC L rust/core.o
      BINDGEN rust/bindings/bindings_generated.rs
      BINDGEN rust/bindings/bindings_helpers_generated.rs
      BINDGEN rust/uapi/uapi_generated.rs
    thread 'main' panicked at '"ftrace_branch_data_union_(anonymous_at__/_/include/linux/compiler_types_h_146_2)" is not a valid Ident', .../proc-macro2-1.0.24/src/fallback.rs:693:9
    ...
    thread 'main' panicked at '"ftrace_branch_data_union_(anonymous_at__/_/include/linux/compiler_types_h_146_2)" is not a valid Ident', .../proc-macro2-1.0.24/src/fallback.rs:693:9
    ...

This was fixed in bindgen 0.62.0. Therefore, upgrade bindgen to
a more recent version, 0.65.1, to support LLVM 16.

Since bindgen 0.58.0 changed the `--{white,black}list-*` flags to
`--{allow,block}list-*` [3], update them on our side too.

In addition, bindgen 0.61.0 moved its CLI utility into a binary crate
called `bindgen-cli` [4]. Thus update the installation command in the
Quick Start guide.

Moreover, bindgen 0.61.0 changed the default functionality to bind
`size_t` to `usize` [5] and added the `--no-size_t-is-usize` flag
to not bind `size_t` as `usize`. Then bindgen 0.65.0 removed
the `--size_t-is-usize` flag [6]. Thus stop passing the flag to bindgen.

Finally, bindgen 0.61.0 added support for the `noreturn` attribute (in
its different forms) [7]. Thus remove the infinite loop in our Rust
panic handler after calling `BUG()`, since bindgen now correctly
generates a `BUG()` binding that returns `!` instead of `()`.

Link: 19e984ef8f [1]
Link: https://github.com/rust-lang/rust-bindgen/pull/2319 [2]
Link: https://github.com/rust-lang/rust-bindgen/pull/1990 [3]
Link: https://github.com/rust-lang/rust-bindgen/pull/2284 [4]
Link: cc78b6fdb6 [5]
Link: https://github.com/rust-lang/rust-bindgen/pull/2408 [6]
Link: https://github.com/rust-lang/rust-bindgen/issues/2094 [7]
Signed-off-by: Aakash Sen Sharma <aakashsensharma@gmail.com>
Closes: https://github.com/Rust-for-Linux/linux/issues/1013
Tested-by: Ariel Miculas <amiculas@cisco.com>
Reviewed-by: Gary Guo <gary@garyguo.net>
Link: https://lore.kernel.org/r/20230612194311.24826-1-aakashsensharma@gmail.com
[ Reworded commit message. Mentioned the `bindgen-cli` binary crate
  change, linked to it and updated the Quick Start guide. Re-added a
  deleted "as" word in a code comment and reflowed comment to respect
  the maximum length. ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2023-08-15 00:37:22 +02:00
Paul E. McKenney
bc19e86e28 rcutorture: Stop right-shifting torture_random() return values
Now that torture_random() uses swahw32(), its callers no longer see
not-so-random low-order bits, as these are now swapped up into the upper
16 bits of the torture_random() function's return value.  This commit
therefore removes the right-shifting of torture_random() return values.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-14 15:01:08 -07:00
Paul E. McKenney
6cab60ceb1 torture: Stop right-shifting torture_random() return values
Now that torture_random() uses swahw32(), its callers no longer see
not-so-random low-order bits, as these are now swapped up into the upper
16 bits of the torture_random() function's return value.  This commit
therefore removes the right-shifting of torture_random() return values.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-14 15:01:08 -07:00
Paul E. McKenney
10af43671e torture: Move stutter_wait() timeouts to hrtimers
In order to gain better race coverage, move the test start/stop
waits in stutter_wait() to torture_hrtimeout_jiffies().

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-14 15:01:08 -07:00
Paul E. McKenney
dea81dcfd3 torture: Move torture_shuffle() timeouts to hrtimers
In order to gain better race coverage, move the CPU-migration timed
waits in torture_shuffle() to torture_hrtimeout_jiffies().

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-14 15:01:08 -07:00
Paul E. McKenney
3f0c06e1cb torture: Move torture_onoff() timeouts to hrtimers
In order to gain better race coverage, move the CPU-hotplug-related
timed waits in torture_onoff() to torture_hrtimeout_jiffies().

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-14 15:01:08 -07:00
Paul E. McKenney
872948c665 torture: Make torture_hrtimeout_*() use TASK_IDLE
Given that it is expected that more code will use torture_hrtimeout_*(),
including for longer timeouts, make it use TASK_IDLE instead of
TASK_UNINTERRUPTIBLE.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-14 15:01:07 -07:00
Dietmar Eggemann
5d248bb39f torture: Add lock_torture writer_fifo module parameter
This commit adds a module parameter that causes the locktorture writer
to run at real-time priority.

To use it:
insmod /lib/modules/torture.ko random_shuffle=1
insmod /lib/modules/locktorture.ko torture_type=mutex_lock rt_boost=1 rt_boost_factor=50 nested_locks=3 writer_fifo=1
													^^^^^^^^^^^^^

A predecessor to this patch has been helpful to uncover issues with the
proxy-execution series.

[ paulmck: Remove locktorture-specific code from kernel/torture.c. ]

Cc: "Paul E. McKenney" <paulmck@kernel.org>
Cc: Josh Triplett <josh@joshtriplett.org>
Cc: Joel Fernandes <joel@joelfernandes.org>
Cc: Juri Lelli <juri.lelli@redhat.com>
Cc: Valentin Schneider <vschneid@redhat.com>
Cc: kernel-team@android.com
Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
[jstultz: Include header change to build, reword commit message]
Signed-off-by: John Stultz <jstultz@google.com>
Acked-by: Davidlohr Bueso <dave@stgolabs.net>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-14 15:01:07 -07:00
Paul E. McKenney
67d5404d27 torture: Add a kthread-creation callback to _torture_create_kthread()
This commit adds a kthread-creation callback to the
_torture_create_kthread() function, which allows callers of a new
torture_create_kthread_cb() macro to specify a function to be invoked
after the kthread is created but before it is awakened for the first time.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Cc: Dietmar Eggemann <dietmar.eggemann@arm.com>
Cc: Josh Triplett <josh@joshtriplett.org>
Cc: Juri Lelli <juri.lelli@redhat.com>
Cc: Valentin Schneider <vschneid@redhat.com>
Cc: Dietmar Eggemann <dietmar.eggemann@arm.com>
Cc: kernel-team@android.com
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Acked-by: John Stultz <jstultz@google.com>
2023-08-14 15:00:37 -07:00
Paul E. McKenney
9d0cce2bc3 rcu-tasks: Fix boot-time RCU tasks debug-only deadlock
In kernels built with CONFIG_PROVE_RCU=y (for example, lockdep kernels),
the following sequence of events can occur:

o	rcu_init_tasks_generic() is invoked just before init is spawned.
	It invokes rcu_spawn_tasks_kthread() and friends.

o	rcu_spawn_tasks_kthread() invokes rcu_spawn_tasks_kthread_generic(),
	which uses kthread_run() to create the needed kthread.

o	Control returns to rcu_init_tasks_generic(), which, because this
	is a CONFIG_PROVE_RCU=y kernel, invokes the version of the
	rcu_tasks_initiate_self_tests() function that actually does
	something, including invoking synchronize_rcu_tasks(), which
	in turn invokes synchronize_rcu_tasks_generic().

o	synchronize_rcu_tasks_generic() sees that the ->kthread_ptr is
	still NULL, because the newly spawned kthread has not yet
	started.

o	The new kthread starts, preempting synchronize_rcu_tasks_generic()
	just after its check.  This kthread invokes rcu_tasks_one_gp(),
	which acquires ->tasks_gp_mutex, and, seeing no work, blocks
	in rcuwait_wait_event().  Note that this step requires either
	a preemptible kernel or a fault-injection-style sleep at the
	beginning of mutex_lock().

o	synchronize_rcu_tasks_generic() resumes and invokes rcu_tasks_one_gp().

o	rcu_tasks_one_gp() attempts to acquire ->tasks_gp_mutex, which
	is still held by the newly spawned kthread's rcu_tasks_one_gp()
	function.  Deadlock.

Because the only reason for ->tasks_gp_mutex is to handle pre-kthread
synchronous grace periods, this commit avoids this deadlock by having
rcu_tasks_one_gp() momentarily release ->tasks_gp_mutex while invoking
rcuwait_wait_event().  This allows the call to rcu_tasks_one_gp() from
synchronize_rcu_tasks_generic() proceed.

Note that it is not necessary to release the mutex anywhere else in
rcu_tasks_one_gp() because rcuwait_wait_event() is the only function
that can block indefinitely.

Reported-by: Guenter Roeck <linux@roeck-us.net>
Reported-by: Roy Hopkins <rhopkins@suse.de>
Reported-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Tested-by: Roy Hopkins <rhopkins@suse.de>
2023-08-14 14:58:25 -07:00
Arnd Bergmann
1298d0dd31 Minor improvements in ARM64 DTS for v6.6
Just two cleanups of missing cache properties for Nuvoton and LG.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmTaEZ8QHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1zqND/0WciVM8HAAQ3u1JhtgNLn0gDfjHlsH0EBQ
 sC+DjrC32qVgTCIUvkdDqNbVu2x5MWrl5lPwhjZ6rGR/gypTLygbPueH5uGGRoDA
 VGRB50Uf877SQNAgrNoUnutTawty3f4Htw2/kOwrWB3cnfpu2jqhvTecX2HKt8Z5
 YY4JPF+0UkWK7Woj8EkfWB0CODTgntKY1gceRrgwe/eFUsDoIbsFhMGBdB/6uaSh
 v6HE2YtPpKfcxkPs73gbY32rvFzo1/lDwUklyOF80aS42SEtaV8rc1AfFuL3EH5L
 NBNJT2ghPamPmTwmMt9sDbJy5o7ULBiPwcuEJRP/bJUlJYmDOE5hVDdBtjZ2j1Yr
 icEJVrubj26H9yov5UsrSqdsogbDbkFOxJlFm+Nr67Iajq71/eaJ/QP10OSLSA0I
 LFp5VH2DFuwacyobCBtODFUDYpkzViP0uLeXj2dW2Xjl+Ic6E926CRyaCugf8ZE8
 /9HoNSUpCQP1qaa3u+uTPv0hbUcS5DMAsH7IBQdFkQAqkwR9QvmWFA3YH6NpAGyt
 ZOxABzAcRmxEG/r8A9J9M+d1MbPl8i7+Q8Kwjl/yEGlSR4b0oVNHqwIWcgU0YVS2
 x1o+EKMySskTq6H7P8lwCWVOcV+ftWokF8qPrVzPqLdMKRPGN/ujzzxDt7LF2ehM
 X8tf+nenlQ==
 =4tYJ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTaoOoACgkQYKtH/8kJ
 UifeJhAAzwX3syi74Hn4u15Pp6Ygzy3OjeZ9+4l+0UBVMZyDjFYJY5vEUV5NfjGn
 uZoFjrnc1o9AxZeWiwRpSBbgfP2GWP6Rc2h4MNEiQy5XK+Lo+ILHY55exfCFZgZu
 QdTUhU2wqLo6RsBMSIcnmkdFehc7fSpyxdZLw1SPqePGuxGd57ZLZxrhxp1Oy/cd
 ZIMJ0CCKIxLjI5CCw24z5f3ugzcCh0ewT12T2/0LGjn2+YERQ1EvjMXD2v6FUmK1
 littwEPDzefQiDFk5oaLNSjvcrl7LGb3sj0E8QGdS1vxkce+VnG0aqzHW2jEAH9v
 MVVoH0UttBpukJOIcJACtd2Y6+wa4/fh67gz0WuHdfPJbjlBz3AAR4IvVNiaQMXx
 no7jalxdKxW2bBk1z/ziaQ6ySgUx+ac/XI5GH359i+WILLW3OpVWMLkc+AzT/F+o
 E9pytKle/zDC6xuaJzLQhsOVu4uac/Tw1ePwsYa/867x2qzn/UodNcksXUHFCk9o
 94PL/T/B3OgR2IojpZmwfqp7O0XeqZWi6IgUsHFHtxsdJsDeQeDfBbzbka4g704m
 mPB1ZqfK/uWALRDVODt6NyZgEmBhDXY899zjh9Vpio2VKQaKLpgoebA8AMgCo9Q9
 ai5rytXd0AkndxJWlLwZgLuqQlPj4YM2BT+KeAD/FTHnlMUKKgY=
 =dgLX
 -----END PGP SIGNATURE-----

Merge tag 'dt64-cleanup-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt into soc/dt

Minor improvements in ARM64 DTS for v6.6

Just two cleanups of missing cache properties for Nuvoton and LG.

* tag 'dt64-cleanup-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt:
  arm64: dts: lg: add missing cache properties
  arm64: dts: nuvoton: add missing cache properties

Link: https://lore.kernel.org/r/20230814114154.26017-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 23:47:22 +02:00
Arnd Bergmann
99355a235a TI K3 device tree updates for v6.6
New Boards:
  - TQ group's TQMaX4XxL AM64 SOM and MBaX4XxL carrier board
  - TI's AM62P5 Starter Kit (SK)
 
 New features:
 AM625:
  - Support for Display (parallel only) - hdmi+audio support for
    AM625-SK/BeaglePlay, TC358778 DPI to MIPI-DSI bridge support
    for verdin.
  - MCU MCAN support and enable of Toradex Verdin
  - Toradex Verdin Dahlia audio support
 AM62A7:
  - MCU MCAN support
  - Enable USB Dual Role Device(DRD) support for AM62A7
    Starter Kit(SK).
 AM64:
  - TQ group's tqma64xxl: Overlays for SD-card and wlan.
 J721E:
  - Main domain CPSW9G and correponding gateway/ethernet
    switch expansion - GESI board.
 J721S2/AM68:
  - New CAN instances, ehrpwm, Display (DSS) and am68-sk HDMI support
  - Main domain CPSW2G and correponding gateway/ethernet
    switch expansion - GESI board.
 J784S4/AM69:
  - Boot phase tag marking in device tree
  - UFS support
 
 Cleanups and non-urgent fixes:
  - Cosmetic style fixups around "=" and "{" whitespace usage.
  - Fixups across multiple SoCs/boards for pwm-tbclk to matchup with
    bindings
  - Serdes header file include/dt-bindings/mux/ti-serdes.h is now
    deprecated, use k3-serdes.h in soc dtsi folder.
  - All SoCs: Enable GPIO/SDHCI/OSPI/TSADC/C6/C7 DSP nodes at the
    board level.
  - Fixups for AM62: Crypto powerdomains are conditional to better
    represent control of the crypto engines by security controller.
  - Fixups for j721e: Duplicate wakeup_i2c node dropped for SoM board.
  - Fixups for j721s2/am68: pimux offsets for OSPI.
  - Fixups for j784s4/am69: Fixups for pinmux for ospi/adc interrupt
    ranges for wkup/main gpios
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmTaSUYACgkQ3bWEnRc2
 JJ2ItQ/+KX09s67fsGuQn6G2lqoLujlPSKbQn3ygFJt/Oeo+cchqcpPg7PKsdHDq
 2vpC1crLE3aYfqFqFj0LJvG6KNf1cWmNFLXyE0Ek4h4o73vq0EjXybAUrc/cme8l
 TZ/1o938idoM9HvA1zz71KLA6cI5qbYzHHAjVq4Gp0bLiynsLLLY7mGgo4HC45Ii
 67EEWiNvNNfY9QpMNEJB2VCZ1xto83nwUgimEdJZ7pStfUtjB+r1lDfJgZg0v5Ay
 QOiTQyAtTbpBuYL53jRjiF64VAnDTN//uv1/mdfnJ82ltfdZJ79FI0xGUqVusD9t
 lHPdPicGNgtUyIFJsvNJMRQKtrVpV57C2e5ECHMzWNWyIMOylbz9Zc7eGrgB41fi
 qS8QkkJ2+MUd/I3HSuAWoSFIfjmq7Z0dsHyOFntZrSypEai217S+rJgZ/kmdorz5
 TQzqSacXjmxM4yNjJCamLQEK5KEib6Gtq4gLZMPvoc1kvnSHv6lY34/lm9mJBxZx
 +L1qONX0km5rTjaRm0TvqUR19WoFl5fWIyempidRf2TCVeH98Je5AdQgftM7Pk9M
 1Rwxob76+Tq7oL4H5/eqX+ye+k/k1wqoxEBsOLEju65/aSVxYqEiPb+kr99BaV7n
 pIBtDkiV7KfsrgxwjAlr+JPIY4v6We9+W6dE4HyCF4HOrmk+I+I=
 =Ifxz
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTaoA4ACgkQYKtH/8kJ
 UieETQ//aDZ9Gwo8JqcShhrKLGglRZ2D9me0QjFr/qhk4UQv6ip/DA9usNUKc3DH
 PC/fEfryQt2lmiTouWjfYdO4rhThqtpzk96CYsjvHLpkOoJYut/xVcNTJbIfHn+e
 GK84s9V44ARANwPNse3S0qXM8AFxv55STHu0tOxDNHz2h6lOiYv8OvwMyZyuw8MQ
 IYQ6jRAir/a0zqC/w3NC+famjNdZesvZbQOxD94ieC68RWtIrpnPv6Yc0Fq8xAvf
 0/lS8dtllOpHdjqpJuBSeCD0KrndpT1sP4++URsjujvKa9pQag8r+4CSbr2HVL01
 FCL4aXcKY62yQM7RWWRA1KdGS/yXp/9Yu9CPYuLx7GYVDr4mBEDj78oA+SaGdlFK
 MZ88vd9w1MamJqJWIRavFep29++yE+GhF54f88hZAII5k4MN3+sgj+5v37hoaR8m
 MomtlRKfxKz7UungBZrAQZqbliSbnCFra4h9R7BbwEcOLxkw1xkRE9HbjvVSNcGK
 o3yiM2xCX9ZWcWE7dsURCo6incqFPb5WOQstAzmSm2krAY2BBxn+lBTMH40RxCZ7
 bbDM+OT0SBxL27F9oFPAUMnu3mqXUjEr/jF5ELAYO8S8sOQ1zQxpR0ry4m9EJJI3
 YgLKGcCDWrVCVMV7i1K4k6ah+wfOdd0dPIF4UeC2ztyEriZ0aY8=
 =namZ
 -----END PGP SIGNATURE-----

Merge tag 'ti-k3-dt-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/dt

TI K3 device tree updates for v6.6

New Boards:
 - TQ group's TQMaX4XxL AM64 SOM and MBaX4XxL carrier board
 - TI's AM62P5 Starter Kit (SK)

New features:
AM625:
 - Support for Display (parallel only) - hdmi+audio support for
   AM625-SK/BeaglePlay, TC358778 DPI to MIPI-DSI bridge support
   for verdin.
 - MCU MCAN support and enable of Toradex Verdin
 - Toradex Verdin Dahlia audio support
AM62A7:
 - MCU MCAN support
 - Enable USB Dual Role Device(DRD) support for AM62A7
   Starter Kit(SK).
AM64:
 - TQ group's tqma64xxl: Overlays for SD-card and wlan.
J721E:
 - Main domain CPSW9G and correponding gateway/ethernet
   switch expansion - GESI board.
J721S2/AM68:
 - New CAN instances, ehrpwm, Display (DSS) and am68-sk HDMI support
 - Main domain CPSW2G and correponding gateway/ethernet
   switch expansion - GESI board.
J784S4/AM69:
 - Boot phase tag marking in device tree
 - UFS support

Cleanups and non-urgent fixes:
 - Cosmetic style fixups around "=" and "{" whitespace usage.
 - Fixups across multiple SoCs/boards for pwm-tbclk to matchup with
   bindings
 - Serdes header file include/dt-bindings/mux/ti-serdes.h is now
   deprecated, use k3-serdes.h in soc dtsi folder.
 - All SoCs: Enable GPIO/SDHCI/OSPI/TSADC/C6/C7 DSP nodes at the
   board level.
 - Fixups for AM62: Crypto powerdomains are conditional to better
   represent control of the crypto engines by security controller.
 - Fixups for j721e: Duplicate wakeup_i2c node dropped for SoM board.
 - Fixups for j721s2/am68: pimux offsets for OSPI.
 - Fixups for j784s4/am69: Fixups for pinmux for ospi/adc interrupt
   ranges for wkup/main gpios

* tag 'ti-k3-dt-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux: (68 commits)
  arm64: dts: ti: verdin-am62: Add DSI display support
  arm64: dts: ti: Add support for the AM62P5 Starter Kit
  arm64: dts: ti: Introduce AM62P5 family of SoCs
  dt-bindings: arm: ti: Add bindings for AM62P5 SoCs
  arm64: dts: ti: k3-am69-sk: Add phase tags marking
  arm64: dts: ti: k3-j784s4-evm: Add phase tags marking
  arm64: dts: ti: k3-j784s4: Add phase tags marking
  arm64: dts: ti: k3-am625-beagleplay: Add HDMI support
  arm64: dts: ti: am62x-sk: Add overlay for HDMI audio
  arm64: dts: ti: k3-am62x-sk-common: Add HDMI support
  arm64: dts: ti: k3-am62-main: Add node for DSS
  arm64: dts: ti: k3-am62x-sk-common: Update main-i2c1 frequency
  arm64: dts: ti: k3-j721e: Enable C6x DSP nodes at the board level
  arm64: dts: ti: k3-j784s4: Enable C7x DSP nodes at the board level
  arm64: dts: ti: k3-j721e: Enable C7x DSP nodes at the board level
  arm64: dts: ti: k3-*: fix fss node dtbs check warnings
  arm64: dts: ti: k3-am64: Enable TSCADC nodes at the board level
  arm64: dts: ti: k3-am65: Enable TSCADC nodes at the board level
  arm64: dts: ti: k3-j721e: Enable TSCADC nodes at the board level
  arm64: dts: ti: k3-j7200: Enable GPIO nodes at the board level
  ...

Link: https://lore.kernel.org/r/20230814160651.frxohyshd2evp2k4@expenses
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 23:43:42 +02:00
Kent Overstreet
649f070e69 block: Bring back zero_fill_bio_iter
This reverts 6f822e1b5d - this helper is
used by bcachefs.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: linux-block@vger.kernel.org
Link: https://lore.kernel.org/r/20230813182636.2966159-4-kent.overstreet@linux.dev
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-08-14 15:40:42 -06:00
Kent Overstreet
168145f617 block: Allow bio_iov_iter_get_pages() with bio->bi_bdev unset
bio_iov_iter_get_pages() trims the IO based on the block size of the
block device the IO will be issued to.

However, bcachefs is a multi device filesystem; when we're creating the
bio we don't yet know which block device the bio will be submitted to -
we have to handle the alignment checks elsewhere.

Thus this is needed to avoid a null ptr deref.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: linux-block@vger.kernel.org
Link: https://lore.kernel.org/r/20230813182636.2966159-3-kent.overstreet@linux.dev
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-08-14 15:40:42 -06:00
Kent Overstreet
7ba3792718 block: Add some exports for bcachefs
- bio_set_pages_dirty(), bio_check_pages_dirty() - dio path
 - blk_status_to_str() - error messages
 - bio_add_folio() - this should definitely be exported for everyone,
   it's the modern version of bio_add_page()

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Cc: linux-block@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Link: https://lore.kernel.org/r/20230813182636.2966159-2-kent.overstreet@linux.dev
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-08-14 15:40:42 -06:00
Shay Drory
bd3a2f7780 net/mlx5: Don't query MAX caps twice
Whenever mlx5 driver is probed or reloaded, it queries some capabilities
in MAX mode via set_hca_cap() API. Afterwards, the driver queries all
capabilities in MAX mode via mlx5_query_hca_caps() API.

Since MAX caps are read only caps, querying them twice is redundant.
Hence, delete the second query.

Signed-off-by: Shay Drory <shayd@nvidia.com>
Reviewed-by: Maher Sanalla <msanalla@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
2023-08-14 14:40:22 -07:00
Arnd Bergmann
f0df584ffa i.MX arm64 device tree chanage for 6.6:
- New board device trees: i.MX93 based MBa93xxLA SBC, DEBIX SOM A,
   Gateworks i.MX8MM and i.MX8MP Venice boards.
 - Add HDMI audio and video support for i.MX8MM/N Beacon board.
 - Add coresight trace support for i.MX8MQ SoC.
 - Replace deprecated extcon-usb-gpio id-gpio/vbus-gpio properties.
 - Add sound card support for verdin-imx8mp devices.
 - A couple of change from Frank Li to add CPU frequency table and
   thermal support for i.MX8QM SoC.
 - Add L1 and L2 cache info for LS1028A SoC.
 - A series of i.MX93 changes from Peng Fan t oadd thermal and CM33 core
   support.
 - A few imx8mq-librem5 updates from Martin Kepplinger and
   Sebastian Krzyszkowiak.
 - A series of imx8mp-phycore-som changes from Teresa Remmet to update
   regulators.
 - A bunch of changes from Tim Harvey to update various Gateworks boards.
 - A bunch of dtschema warning fixes from Fabio Estevam, Krzysztof
   Kozlowski, etc.
 - Other small and random changes.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmTYmCAUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM7fOAgAh5QwBeaKknSifUDHkpuIp7bqRari
 ADVxPp+E9g9dp3PNwZsgaODs2nYK8OCGcRhLX95s31fHOWWS5qCIxHL7gKwcB26Q
 nig8zsYA8DMChDq7Nd/Sc5SbaxHpuvGq86Qm2+YaLMJVlXKLobz1axn8xdZizWgc
 mhETuUQWi01D+UgF/9PZKaLjAMBtQRxmRedwwIgjjZ6trdtYd+S6/u8ekYBFdTEa
 aYr0oolZBk0ZMucPmuBq2+FQIE+HvVKSnAor798hX+36acw0sbQkEDP7aUPNd6/S
 O3I81nleFGzy2J9lRjkz2cTPvkaBc98V6HnBVWM1V6sn6mpyFCmb1siYyw==
 =Yz7M
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTan0YACgkQYKtH/8kJ
 UicqRBAAgxZxLoHRqaBJIeZao85XuB6GtgkEvhT37LDvqfh41HkBoxf8rgB7aKB+
 1HJs5Q6SZg2Q5cVIBBW3GxYtwFbIe/Tvt4oFZkpJH/xaUYJEbcjCdZyfcktdPtOC
 Fjg6mOk+UTwdY3mxirUk0WXDe84JoG7rMoof8wP+txNFEvP38W8FhNDoxAN3wPBH
 8tAQDWW0WlX8E00MF+5Ch7RNwsPXY4zqowxLIdQY5OWCj5Y3F830W4bXZQlgJ6d1
 vmq1iy8qdw2ubh4q2C5evjHLGg2gFLA6BkMl5xNYzrGaJRQ0FVHQWgnxXfDhZSqx
 8mvbPBlUmbj9QT+capDhHu0iOIDuj89GBKVf4TjkvOSxTYHu738GnZ9G55jZigHU
 c7wZmc1GCQAPkbHQ2pYsL1FhY1i1JmdBX+W64Eg0aDstK13TbN2CrNhaYYryDfiO
 esPcw+1SBqKjcgknf0j/WtLEQnfJLaKSJfrXRFQdbiF3cHYQPVNOD5W4J+84jf2n
 pCe20zwNXzWNjUc+24/joCGZbHZpzjgLYyMg/3W+JS8GqnXCdIr23iUQu9aSl9i4
 2IOQBKBXQipKho9+d+kz2N70BKFdDwJgyocZZiRFrmK2O7MxvTDuMh+88Ye1gzEm
 RV0FWzQM0mu/Jvx8Wod22ZFDIMTyNs1Z+5uuNMi6TqkpN0RphA4=
 =2TG4
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt64-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt

i.MX arm64 device tree chanage for 6.6:

- New board device trees: i.MX93 based MBa93xxLA SBC, DEBIX SOM A,
  Gateworks i.MX8MM and i.MX8MP Venice boards.
- Add HDMI audio and video support for i.MX8MM/N Beacon board.
- Add coresight trace support for i.MX8MQ SoC.
- Replace deprecated extcon-usb-gpio id-gpio/vbus-gpio properties.
- Add sound card support for verdin-imx8mp devices.
- A couple of change from Frank Li to add CPU frequency table and
  thermal support for i.MX8QM SoC.
- Add L1 and L2 cache info for LS1028A SoC.
- A series of i.MX93 changes from Peng Fan t oadd thermal and CM33 core
  support.
- A few imx8mq-librem5 updates from Martin Kepplinger and
  Sebastian Krzyszkowiak.
- A series of imx8mp-phycore-som changes from Teresa Remmet to update
  regulators.
- A bunch of changes from Tim Harvey to update various Gateworks boards.
- A bunch of dtschema warning fixes from Fabio Estevam, Krzysztof
  Kozlowski, etc.
- Other small and random changes.

* tag 'imx-dt64-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (88 commits)
  arm64: dts: imx8mq-librem5-devkit: Drop power-supply
  arm64: dts: imx8mq-librem5-devkit: Mark buck2 as always on
  arm64: dts: imx8mm-beacon-baseboard: Remove usbotg2 pinctrl-names
  arm64: dts: imx8mm-emcon: Remove iomuxc pinctrl-names
  arm64: dts: imx8m-beacon-kit: Remove extra sound-sai entry
  arm64: dts: freescale: Add DEBIX SOM A and SOM A I/O Board support
  arm64: dts: imx8mp-debix: remove unused fec pinctrl node
  arm64: dts: imx8mp-debix-model-a: Remove invalid rtc property
  arm64: dts: imx8mp-msc-sm2s-ep1: Remove invalid sgtl5000 property
  arm64: dts: imx8m-venice: Pass "brcm,bcm4329-fmac"
  arm64: dts: imx8mp-evk: Add HDMI support
  arm64: dts: freescale: verdin-imx8mp: dev: add sound card
  arm64: dts: freescale: verdin-imx8mp: dahlia: add sound card
  arm64: dts: imx8mm-emcon: Fix the regulator names
  arm64: dts: imx: Pass a single BD71847 clock entry
  arm64: dts: ls1028a: add l1 and l2 cache info
  arm64: dts: imx8mm-phyboard-polis-rdk: Remove 'fsl,spi-num-chipselects'
  arm64: dts: imx8dxl-evk: Remove 'fsl,spi-num-chipselects'
  arm64: dts: freescale: Replace deprecated extcon-usb-gpio id-gpio/vbus-gpio properties
  arm64: dts: tqma8mqnl: Add vcc supply to i2c eeproms
  ...

Link: https://lore.kernel.org/r/20230813133354.847010-5-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 23:40:22 +02:00
Shay Drory
a41cb59117 net/mlx5: Remove unused MAX HCA capabilities
Each device cap has two modes: MAX and CUR. The driver maintains a
cache of both modes of the capabilities. For most device caps, the MAX
cap mode is never used.

Hence, remove all driver queries of the MAX mode of the said caps as
well as their helper MACROs.

Signed-off-by: Shay Drory <shayd@nvidia.com>
Reviewed-by: Maher Sanalla <msanalla@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
2023-08-14 14:40:22 -07:00
Shay Drory
0b4eb603d6 net/mlx5: Remove unused CAPs
mlx5 driver queries the device for VECTOR_CALC and SHAMPO caps, but
there isn't any user who requires them.
As well as, MLX5_MCAM_REGS_0x9080_0x90FF is queried but not used.

Thus, drop all usages and definitions of the mentioned caps above.

Signed-off-by: Shay Drory <shayd@nvidia.com>
Reviewed-by: Maher Sanalla <msanalla@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
2023-08-14 14:40:22 -07:00
Jiri Pirko
36e5a0efc8 net/mlx5: Fix error message in mlx5_sf_dev_state_change_handler()
sw_function_id contains sfnum, so fix the error message to name the
value properly.

Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Shay Drory <shayd@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
2023-08-14 14:40:22 -07:00
Jiri Pirko
b63f8bde2f net/mlx5: Remove redundant check of mlx5_vhca_event_supported()
Since mlx5_vhca_event_supported() is called in mlx5_sf_dev_supported(),
remove the redundant call.

Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Shay Drory <shayd@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
2023-08-14 14:40:21 -07:00
Jiri Pirko
88074d81e5 net/mlx5: Use mlx5_sf_start_function_id() helper instead of directly calling MLX5_CAP_GEN()
There is a helper called mlx5_sf_start_function_id() that
wraps up a query to get base SF function id. Use that instead of
calling MLX5_CAP_GEN() directly.

Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Shay Drory <shayd@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
2023-08-14 14:40:21 -07:00
Jiri Pirko
ae80d7a06f net/mlx5: Remove redundant SF supported check from mlx5_sf_hw_table_init()
Since mlx5_sf_supported() check is done as a first thing in
mlx5_sf_max_functions(), remove the redundant check.

Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Shay Drory <shayd@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
2023-08-14 14:40:21 -07:00
Jiri Pirko
2ad0160c02 net/mlx5: Use auxiliary_device_uninit() instead of device_put()
Instead of using device_put(), use auxiliary_device_uninit() for
auxiliary device uninit which internally just calls device_put().

Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
2023-08-14 14:40:21 -07:00
Jianbo Liu
e0e22d59b4 net/mlx5: E-switch, Add checking for flow rule destinations
Firmware doesn't allow flow rules in FDB to do header rewrite and send
packets to both internal and uplink vports. The following syndrome
will be generated when trying to offload such kind of rules:

mlx5_core 0000:08:00.0: mlx5_cmd_out_err:803:(pid 23569): SET_FLOW_TABLE_ENTRY(0x936) op_mod(0x0) failed, status bad parameter(0x3), syndrome (0x8c8f08), err(-22)

To avoid this syndrome, add a checking before creating FTE. If a rule
with header rewrite action forwards packets to both VF and PF, an
error is returned directly.

Signed-off-by: Jianbo Liu <jianbol@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
2023-08-14 14:40:21 -07:00
Moshe Shemesh
a9f168e4c6 net/mlx5: Check with FW that sync reset completed successfully
Even if the PF driver had no error on his part of the sync reset flow,
the firmware can see wider picture as it syncs all the PFs in the flow.
So add at end of sync reset flow check with firmware by reading MFRL
register and initialization segment that the flow had no issue from
firmware point of view too.

Signed-off-by: Moshe Shemesh <moshe@nvidia.com>
Reviewed-by: Shay Drory <shayd@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
2023-08-14 14:40:21 -07:00
Shay Drory
6486c0f44e net/mlx5: Expose max possible SFs via devlink resource
Introduce devlink resource for exposing max possible SFs on mlx5
devices.

For example:
$ devlink resource show pci/0000:00:0b.0
pci/0000:00:0b.0:
  name max_local_SFs size 5 unit entry dpipe_tables none
  name max_external_SFs size 0 unit entry dpipe_tables none

Signed-off-by: Shay Drory <shayd@nvidia.com>
Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
2023-08-14 14:40:20 -07:00
Rahul Rameshbabu
53b836a44d net/mlx5e: Add recovery flow for tx devlink health reporter for unhealthy PTP SQ
A new check for the tx devlink health reporter is introduced for
determining when the PTP port timestamping SQ is considered unhealthy. If
there are enough CQEs considered never to be delivered, the space that can
be utilized on the SQ decreases significantly, impacting performance and
usability of the SQ. The health reporter is triggered when the number of
likely never delivered port timestamping CQEs that utilize the space of the
PTP SQ is greater than 93.75% of the total capacity of the SQ. A devlink
health reporter recover method is also provided for this specific TX error
context that restarts the PTP SQ.

Signed-off-by: Rahul Rameshbabu <rrameshbabu@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
2023-08-14 14:40:20 -07:00
Rahul Rameshbabu
3178308ad4 net/mlx5e: Make tx_port_ts logic resilient to out-of-order CQEs
Use a map structure for associating CQEs containing port timestamping
information with the appropriate skb. Track order of WQEs submitted using a
FIFO. Check if the corresponding port timestamping CQEs from the lookup
values in the FIFO are considered dropped due to time elapsed. Return the
lookup value to a freelist after consuming the skb. Reuse the freed lookup
in future WQE submission iterations.

The map structure uses an integer identifier for the key and returns an skb
corresponding to that identifier. Embed the integer identifier in the WQE
submitted to the WQ for the transmit path when the SQ is a PTP (port
timestamping) SQ. The embedded identifier can then be queried using a field
in the CQE of the corresponding port timestamping CQ. In the port
timestamping napi_poll context, the identifier is queried from the CQE
polled from CQ and used to lookup the corresponding skb from the WQE submit
path. The skb reference is removed from map and then embedded with the port
HW timestamp information from the CQE and eventually consumed.

The metadata freelist FIFO is an array containing integer identifiers that
can be pushed and popped in the FIFO. The purpose of this structure is
bookkeeping what identifier values can safely be used in a subsequent WQE
submission and should not contain identifiers that have still not been
reaped by processing a corresponding CQE completion on the port
timestamping CQ.

The ts_cqe_pending_list structure is a combination of an array and linked
list. The array is pre-populated with the nodes that will be added and
removed from the head of the linked list. Each node contains the unique
identifier value associated with the values submitted in the WQEs and
retrieved in the port timestamping CQEs. When a WQE is submitted, the node
in the array corresponding to the identifier popped from the metadata
freelist is added to the end of the CQE pending list and is marked as
"in-use". The node is removed from the linked list under two conditions.
The first condition is that the corresponding port timestamping CQE is
polled in the PTP napi_poll context. The second condition is that more than
a second has elapsed since the DMA timestamp value corresponding to the WQE
submission. When the first condition occurs, the "in-use" bit in the linked
list node is cleared, and the resources corresponding to the WQE submission
are then released. The second condition, however, indicates that the port
timestamping CQE will likely never be delivered. It's not impossible for
the device to post a CQE after an infinite amount of time though highly
improbable. In order to be resilient to this improbable case, resources
related to the corresponding WQE submission are still kept, the identifier
value is not returned to the freelist, and the "in-use" bit is cleared on
the node to indicate that it's no longer part of the linked list of "likely
to be delivered" port timestamping CQE identifiers. A count for the number
of port timestamping CQEs considered highly likely to never be delivered by
the device is maintained. This count gets decremented in the unlikely event
a port timestamping CQE considered unlikely to ever be delivered is polled
in the PTP napi_poll context.

Signed-off-by: Rahul Rameshbabu <rrameshbabu@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
2023-08-14 14:40:20 -07:00
Rahul Rameshbabu
b608dd670b net/mlx5: Consolidate devlink documentation in devlink/mlx5.rst
De-duplicate documentation by removing mellanox/mlx5/devlink.rst. Instead,
only use the generic devlink documentation directory to document mlx5
devlink parameters. Avoid providing general devlink tool usage information
in mlx5-specific documentation.

Signed-off-by: Rahul Rameshbabu <rrameshbabu@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Gal Pressman <gal@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
2023-08-14 14:40:20 -07:00
Arnd Bergmann
a5c3378290 i.MX ARM device tree change for 6.6:
- New device tree for TQ-Systems MBLS102xA board.
 - A bunch of dtschema warning fixes from Fabio Estevam and
   Krzysztof Kozlowski.
 - Add missing supply regulator for imx6qdl-mba6 and imx6qdl-tqma6x.
 - Replace deprecated extcon-usb-gpio id-gpio/vbus-gpio properties.
 - Disable the internal i.MX6 watchdog and rely on PMIC reboot handler
   for phycore and pfla02 boards.
 - Replace NO_PAD_CTL by explicit pad configuration for karo-tx25 board.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmTYiAkUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM7yWwf+IH6IzUJdwMCbQIsB2yyqj1l/emqz
 aZF38kaLAp/XuY4wwjY9Kr0fmr9igh/TAdsF4JSfZUURY5XNFm6orb3CCA/Dxkm2
 cMYwJTL5ynb+RsrK1T+W6gaVoLPuSWte2neIpYj3NCKGg5z0TQnaZ0tqVWeEZL6N
 4zD3aBgR1eRndSX0fH88Vr+Wj6fMNXumOYA6tjP4t4p41Qz+7i/SIhGTJuOp8WLN
 DqfslwDWWPjM5zw+Hbf7t9Nkx122raQbzCF38XWZa5SE8SIZYu3Jabn24FB3WGCp
 FZDu9fwImjdJ1mrBtubfGhku6ebnPDoAVDV0M5Sr8Afn/ptavRFKm9og6Q==
 =HRtG
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTanvAACgkQYKtH/8kJ
 UifZQBAA1jpnAWuYfMP5nJ2SVu6JxE9KXcZXwacfmEJDKuMOb8Mv/aNCE0V3J3zJ
 KhNZHrNFKTK/EMqXHeFJmTpEEx/bqDaqP86CeaEUkFF10mMO0KW1oiHWipNLym1+
 jYnYQSXkh78PPmtG9pXrPGt4YQq0HuEvDREcWYSqHtO3huPs1TzzY3VLewAIRiX0
 a5Mpbg5mlNskP3OBtL1z0WlAERuDzg57vm/9AfW2yDvzTEX3awb7VXDHXpO8h3nI
 WWRLGJYqRBDS3szyZt3uvf4JLMuKJM/kZJfRobUibg7wdQ9jo//LlhDgnop2e//d
 fX1MuNiNPrsObhksVvhEOwz4cgkvPTEhq7b9sG6UB/OGWfQYbvvQSlgRKOFSiGLP
 HUNgOmdNEXqyF1TycWmfoF4PUBu1T3XjJj7gSkMW1/jrjHux7tYTvb08MMO7mxub
 dL0QwI980QxkeRW2YA64ca35Q/p18cJ2kk+/uYAi8GSJawAoAOVGo8SxstgU3B+6
 uooXO28IvUW3LT32lnH9+1i4xhjh1MjEBQWYfbQKIPnLYPyTlaMrves+S5gXdRho
 d337UGhMfk4RNHi39XE8c4a8mvUdIh4FSMc/KhTOcapQbskgnea9w9Cp/7OmOSao
 Z0SjMZjdhnGKNFmhHh+mvlgUJKEcWcdduQlQdyUuU/hNMtVfN5g=
 =qeo8
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt

i.MX ARM device tree change for 6.6:

- New device tree for TQ-Systems MBLS102xA board.
- A bunch of dtschema warning fixes from Fabio Estevam and
  Krzysztof Kozlowski.
- Add missing supply regulator for imx6qdl-mba6 and imx6qdl-tqma6x.
- Replace deprecated extcon-usb-gpio id-gpio/vbus-gpio properties.
- Disable the internal i.MX6 watchdog and rely on PMIC reboot handler
  for phycore and pfla02 boards.
- Replace NO_PAD_CTL by explicit pad configuration for karo-tx25 board.

* tag 'imx-dt-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (35 commits)
  ARM: dts: imx6qdl: mba6: Fix gpio-keys button node names
  ARM: dts: imx6ul: Fix nand-controller #size-cells
  ARM: dts: imx6ul: mba6ulx: Fix stmpe811 node warnings
  ARM: dts: imx6dl-b1x5pv2: Fix simple-audio routing property
  ARM: dts: imx6q-prti6q: Fix the SDIO wifi node
  ARM: dts: vfxxx: Pass 'mmc' as the esdhc node names
  ARM: dts: imx53-smd: Remove invalid SPI flash entry
  ARM: dts: imx50-evk: Use generic node name for SPI NOR flash
  ARM: dts: imx6q-cm-fx6: Remove invalid SPI flash entry
  ARM: dts: ls1021a: add TQMLS1021A flash partition layout
  ARM: dts: ls1021a: add TQ-Systems MBLS102xA device tree
  ARM: dts: imx: Remove 'compatible' from the pfuze nodes
  ARM: dts: imx: Pass #sound-dai-cells to sgtl5000
  ARM: dts: nxp: mxs: split interrupts per cells
  ARM: dts: imx6ul-geam: Remove invalid sgtl5000 property
  ARM: dts: imx28: drop incorrect reg in fixed regulators
  ARM: dts: imx27: drop incorrect reg in fixed regulators
  ARM: dts: imx25: drop incorrect reg in fixed regulators
  ARM: dts: imx23: drop incorrect reg in fixed regulators
  ARM: dts: imx50-kobo-aura: switch to enable-gpios
  ...

Link: https://lore.kernel.org/r/20230813133354.847010-4-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 23:38:56 +02:00
Arnd Bergmann
1d9140d2af i.MX dt-bindings update for 6.6:
- Add new compatibles for various i.MX based boards: DEBIX, TQMa93xxLA,
   Gateworks i.MX8M, etc.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmTYNo4UHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM6BvQf9GDmU9XKCR8NG/9rScfCsFAhLQf/R
 MeIMmjM45kvOs9f26RQheAS4ExQFyX3ZT9WJ0/pLudmOV7j5vRMBSRNCm2STyv0a
 wMsI1dvoObd/Gevk0NnBVjea5TH096gWS0goeTXB2jk3HWIpebwqIehZPqjuLDik
 +kOYoWgCuRu4Wr9az8JTfY1re/TcLqteJKSos9l3pSlPlCNkv3Xjm0FfCZ4AvdOi
 1PmOddYGG3T5QePKVTY8DiMfiUODp4wixEiye7q6mRB8vBN5zjtoIxJc0xGlWfu8
 rxtsApbxc4GzxfFj2Jj00vm7jbEWTRl9Vo4/SCTyiesN0P7uClNPCorMKQ==
 =52HT
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTand0ACgkQYKtH/8kJ
 UielGxAApOvCLUmoBRNh611q/t1qPEL1vc7jESwNYLKgaEgoh9HRWxVXCu6z78zI
 QD+T3zccARGWpLobJgy9TJmCUTRDbYIwXlyxTkRr97IQcqP6N47RyLgZJvtnm3si
 BkMExUAFE50I9MJXqkb+5ZaNxPtID7/D0QFV0L1I7mOnOJc5WRIZJb+sQ5q6wu6T
 7DX6OSsIPaIDXQJXr3uIOR+JLAhIp5GH5NtjBFjegEByENznU+RR4YuiV3Sz3uLL
 JGc8u9IJypk+h4CTfMZ/ddYsh3czXREjgRvVwwzq+FkzZ7CdYgOUumTQWhedfN1C
 CiUPhOUg6nopnlOeb/Y1atE9AntxVKsRBYkhmxUW8zpwwF2w6RzWu0DtOmi9Z2D9
 ThuW0FskolS2WqCyRclAReJPb9WOFRCZNgOCLvbmhVSHtHi+0l+KqHqQoCEE21qo
 p22TCiXM5e6vsssTa7scdPrtm/KtyGgH2qpqrJFrO3md3x+5Eqw2Uwe/k5d8u9nQ
 CNiyCcu3N3UCkCAR8SpmiLhKEUtEW1EXHORj0U4WpFOhvmr3Skpa8og5+uWIZeMQ
 9QNf7E2aVSR2NsaczcXQaz6ad2PF50rqdYypj4/Nn3zJ/JeHqGsNzQtEApYMxZ2r
 5UNQXSaNLDK0qEQqKatYrail1+T5f2RiHSVVW3WeICNddVI5Esg=
 =EifS
 -----END PGP SIGNATURE-----

Merge tag 'imx-bindings-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt

i.MX dt-bindings update for 6.6:

- Add new compatibles for various i.MX based boards: DEBIX, TQMa93xxLA,
  Gateworks i.MX8M, etc.

* tag 'imx-bindings-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  dt-bindings: arm: Add Polyhex DEBIX SOM A based boards
  dt-bindings: arm: fsl: fix DEBIX binding
  dt-bindings: arm: fsl: add TQ-Systems LS1021A board
  dt-bindings: arm: Add Gateworks i.MX8M Plus gw73xx-2x board
  dt-bindings: arm: Add Gateworks i.MX8M Plus gw72xx-2x board
  dt-bindings: arm: Add Gateworks i.MX8M Plus gw71xx-2x board
  dt-bindings: arm: Add Gateworks i.MX8M Mini GW7905-0x board
  dt-bindings: arm: add TQMa93xxLA SOM

Link: https://lore.kernel.org/r/20230813133354.847010-3-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 23:34:21 +02:00
Uwe Kleine-König
edff54ac96
regulator: rtq2208: Switch back to use struct i2c_driver's .probe()
struct i2c_driver::probe_new is about to go away. Switch the driver to
use the probe callback with the same prototype.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20230814210759.26395-1-u.kleine-koenig@pengutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-08-14 22:26:43 +01:00
Arnd Bergmann
d02dbab12b - Add D1 CAN controller nodes
-----BEGIN PGP SIGNATURE-----
 
 iQJCBAABCgAsFiEE2nN1m/hhnkhOWjtHOJpUIZwPJDAFAmTYzuAOHHdlbnNAY3Np
 ZS5vcmcACgkQOJpUIZwPJDCd7RAAmaUT9wJVTAhSfhz0nU7cYCLSC6oGnkHHXCGU
 xXu+Jz7aRkyswUG8HUfLN717bX1okMA+6rz4xqw2yvDixqfH7yPjut7ZDfR+SnO4
 XvnHflceOnF5oUL7h+hXrPMMYWXKmbJXpNoZ2onJA3qnrsu2iEECmGSZxWZiUoDA
 hY7ctTRMMlAxHmu+39qfh9ecGhosal/TTSiov3wVqtHNuvnHqSPP8qRpGQGr7pLU
 6oqwmgHi0uQ3r7vExVXb1XPJRWJ/bFvfwnqeneYRcXwIOGdB9ADdNQ4iBfrL3h1X
 Qo3DAgMQE4K4FLzzGAtIESR3edubahafJU1+mPdf2HTi0T2S1Ma3qthfBRcvrWKH
 Xtme5YKhQ2YJA7lIkmUc0XzPC9quHT607t1dclQ7nUe+2nncL5IKd1L/4amr2YYr
 WFQXV+mpA3xDB4MEXbG0mflbOOo8oDrOOX8tbUg0LzfT8G+e4ubyT8QAv/bpu0Gk
 5vQIryfKxislf/ERHUXs5eNJyC5vLL8t0FzPExeCy3VMGHD381QuzviwZG8SsZU7
 nK/qIfNPL7PsAXLja4HuXWPFyWfq/0UsVc5cbDB+YyCncklEw6ILO+l45g8psrMI
 oapXNS5kBzEPlzCUQOGf6e2CMAmxasUMwuwUGCwkWVJ81BVzlF74bEnMHY4tENNq
 bxA//aw=
 =NFve
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTamTAACgkQYKtH/8kJ
 Uifh6hAAtM9Ua3X9ZEJ61+Eia8uFN0ltnNkrsFU/d+IuiZNHhn97I7oGofjcNgOU
 o0WGKJ7NrEBTRuypKx1jbhXeDz1G4aUHKjtY1saKjRPMrmxEC7ytO+rqjo5fWU2Q
 WRMVnsFiw9aeCsSxJ02rXImlS1HP4BdW/faSVGdZ7jsAY+oK6Qq5/7gk33Uq8Olw
 6TpqydN87IZq/WZnPBleUPgY0O1vhKLDq0A63Cq9W5oY6C1YgmGsVzmLS3bF3BVN
 lDv7KWs/x4WK8+SEkMcJjaiHrZBOCoaCL/dOG9R78TeEa/iAI8DojEH53tG3VZ2B
 yrh2WrHS1CZqHQUZDrlVO+adZyZtWOx5KUi2oc570HLQGdGjCUKxVPu/thnQrGMK
 eEtgno8aCCC+ENPKTipj4OLPKzxIDEj9mlQd0qIN8l4UzgkbPA07KuiULeoo/jDQ
 x5VIlcyNPWHJ/bfj2Tnl8PhgFrGFr67TiYK8fMRfzlhJ8KEZu/+IKPy5tWFq68bZ
 n/IfxaAXCz3iOjGWIcnDhEHf1wG+ee/55Woim6r11sAiiG/zC8uJhc05ykOE48uE
 gadRXI8nw99bcxZGWpSc3IzdeyiuXdKUzbcEndH0qmUnb9Yrh+wYiO7JetI2454k
 hP/QK/GjCFEQKMY79VxCT73WPbIIUnb6MkuDI12idQSKrGhK7Kw=
 =hbAj
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-6.6-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt

- Add D1 CAN controller nodes

* tag 'sunxi-dt-for-6.6-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  riscv: dts: allwinner: d1: Add CAN controller nodes

Link: https://lore.kernel.org/r/ZNjRV0kJ7v7+DAH5@wens.tw
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 23:14:24 +02:00
mnlife
62cc82e648
ASoC: soc-jack: calling snd_soc_jack_report causes a null pointer access
When snd_soc_card_jack_new is not called or the call fails,
calling this function causes a null pointer access

Signed-off-by: mnlife <mnlife@126.com>
Link: https://lore.kernel.org/r/20230811142511.6570-1-mnlife@126.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-08-14 22:10:35 +01:00
Ajye Huang
273bc8bf22
ASoC: Intel: Add rpl_nau8318_8825 driver
Boards were using this in older kernels before adl and rpl ids were
split. Add this back to maintain support.

Signed-off-by: Ajye Huang <ajye_huang@compal.corp-partner.google.com>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20230804085648.3721416-1-ajye_huang@compal.corp-partner.google.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-08-14 22:10:34 +01:00
Mark Brown
f5b19425cd
spi: switch to use modern name (part2)
Merge series from Yang Yingliang <yangyingliang@huawei.com>:

I'm trying to rename the legacy name to modern name used in SPI drivers,
this is part2 patchset.

After introducing devm_spi_alloc_host/spi_alloc_host(), the legacy
named function devm_spi_alloc_master/spi_alloc_master() can be replaced.
And also change other legacy name master/slave to modern name host/target
or controller. All compile test passed.

Yang Yingliang (20):
  spi: amlogic-spifc-a1: switch to use devm_spi_alloc_host()
  spi: au1550: switch to use modern name
  spi: ep93xx: switch to use modern name
  spi: falcon: switch to use modern name
  spi: fsi: switch to use spi_alloc_host()
  spi: fsl-dspi: switch to use modern name
  spi: fsl-espi: switch to use modern name
  spi: fsl-lpspi: switch to use modern name
  spi: fsl-qspi: switch to use modern name
  spi: fsl-spi: switch to use modern name
  spi: gpio: switch to use modern name
  spi: gxp: switch to use modern name
  spi: bcmbca-hsspi: switch to use modern name
  spi: hisi-sfc-v3xx: switch to use modern name
  spi: img-spfi: switch to use modern name
  spi: imx: switch to use modern name
  spi: ingenic: switch to use devm_spi_alloc_host()
  spi: intel: switch to use modern name
  spi: jcore: switch to use modern name
  spi: lantiq: switch to use modern name

 drivers/spi/spi-amlogic-spifc-a1.c |   2 +-
 drivers/spi/spi-au1550.c           |  74 ++++++------
 drivers/spi/spi-bcmbca-hsspi.c     |  66 +++++------
 drivers/spi/spi-ep93xx.c           | 174 ++++++++++++++---------------
 drivers/spi/spi-falcon.c           |  34 +++---
 drivers/spi/spi-fsi.c              |   2 +-
 drivers/spi/spi-fsl-dspi.c         |  24 ++--
 drivers/spi/spi-fsl-espi.c         |  76 ++++++-------
 drivers/spi/spi-fsl-lpspi.c        |  54 ++++-----
 drivers/spi/spi-fsl-qspi.c         |  10 +-
 drivers/spi/spi-fsl-spi.c          |  76 ++++++-------
 drivers/spi/spi-gpio.c             |  72 ++++++------
 drivers/spi/spi-gxp.c              |   6 +-
 drivers/spi/spi-hisi-sfc-v3xx.c    |  18 +--
 drivers/spi/spi-img-spfi.c         | 118 +++++++++----------
 drivers/spi/spi-imx.c              | 114 +++++++++----------
 drivers/spi/spi-ingenic.c          |   2 +-
 drivers/spi/spi-intel.c            |  42 +++----
 drivers/spi/spi-jcore.c            |  44 ++++----
 drivers/spi/spi-lantiq-ssc.c       |  96 ++++++++--------
 20 files changed, 552 insertions(+), 552 deletions(-)

--
2.25.1
2023-08-14 22:09:42 +01:00
Mark Brown
56f6ee6d53
ASoC: merge DAI call back functions into ops
Merge series from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:

v1 -> v2
	- add Reviewed-by on each patches.
	- fixup git-log typo (thesse -> there)
	- add missing patch for au1x

Link: https://lore.kernel.org/r/87a5vauuzg.wl-kuninori.morimoto.gx@renesas.com
2023-08-14 22:09:34 +01:00
Arnd Bergmann
ba81791185 RISC-V Devicetrees for v6.6
StarFive:
 There's only StarFive stuff this time around, starting with some
 bindings to get clock ID defines out of the binding headers. Getting
 these (and the syscon bindings) in unblocked a swathe of stuff sitting
 on the list. Added are: new clock controllers and sycons, ethernet
 support, thermal sensors, USB and PCIe PHYs, hwrng, mmc and a few more
 besides for the VisionFive v2. The original VisionFive and BeagleV
 Starlight got some the thermal sensor support too, as that is supported
 by the same driver. These changes make the board actually usable with
 something other than an initramfs.
 Overlay support by way of the -@ flag set during dtb building, is added
 also.
 
 Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCZNiusAAKCRB4tDGHoIJi
 0u5JAP90hKhmPTWqxdRpnFrWi83k9RX4J6k5LHrqyt3e0sZ0HAD+JNiv4i4j8fDv
 fm7usmraq8B2zLaV/AFmj9kiqdx0JgU=
 =AH1c
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTal/YACgkQYKtH/8kJ
 Uiet0g/9HNACOcnwZi0Py4CJupn+amV5FhsJcqu5ENls0dV73PPVa76+EvNiszsr
 FqxfAd/n8RMUCAsc6XOHXDUkvVsfWlZSGlslxSC+yPoCGV/4vr7pBbfmQZ42oNX1
 YC6Wg1kXhuaKZv68nYLGpFelPBSeKkYLAgcSD8HGx6Ac5tYgblHGDmHW+HZ5ITT3
 MA9Am6DaDTN3NpiTGBc/Py2KUGLewqJU6jJutENDDmtO2ocAUR+6OGgq4Kn1w6yQ
 5Py5QfJDzds2Eq/GmrL3gxL29OXZYjTqfig/dv9yACTjAPnI0P1JzwdSW++g36i/
 CXQ/YQDQ35HK7kUtF2FuQ3Fi5sSdiyoQLtiwfY2HSjI78g3XKJjx2BTo1sGSC8E8
 7GVSDxl5ugEo+KhDJnAavTEfJ9p1E6Ik49F4Nj4nnF9HererZwuwMOtxuzy306B1
 0iSmcCquUiPkTvQ8SBZW2IC7xpRn3zgjYO8zzLJkPQ+r018mxtpud1OO9bgwGyvf
 8GvLGVle4r8mdO74+a0x32sGcbkvSFsD0uf/XZ/nW1ixc/rWuK/WWh6CYnSyR6nI
 cByzkPWbex9Jx/kIOKKC7wmuMh7rGrp7gLoq/LVCxEQamKmGGjnlTNiiambF9Jfg
 ie7vLFuNGNDrT1Qh/EWbOtKnNs48WY3Okiid9o9IMdD1ukoA76o=
 =+tgF
 -----END PGP SIGNATURE-----

Merge tag 'riscv-dt-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/dt

RISC-V Devicetrees for v6.6

StarFive:
There's only StarFive stuff this time around, starting with some
bindings to get clock ID defines out of the binding headers. Getting
these (and the syscon bindings) in unblocked a swathe of stuff sitting
on the list. Added are: new clock controllers and sycons, ethernet
support, thermal sensors, USB and PCIe PHYs, hwrng, mmc and a few more
besides for the VisionFive v2. The original VisionFive and BeagleV
Starlight got some the thermal sensor support too, as that is supported
by the same driver. These changes make the board actually usable with
something other than an initramfs.
Overlay support by way of the -@ flag set during dtb building, is added
also.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

* tag 'riscv-dt-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux: (26 commits)
  riscv: dts: starfive: jh7110: Fix GMAC configuration
  riscv: dts: starfive - Add hwrng node for JH7110 SoC
  riscv: dts: starfive - Add crypto and DMA node for JH7110
  riscv: dts: starfive: Add mmc nodes on VisionFive 2 board
  riscv: dts: starfive: enable DCDC1&ALDO4 node in axp15060
  riscv: dts: starfive: Add QSPI controller node for StarFive JH7110 SoC
  riscv: dts: starfive: jh7110: add the node and pins configuration for tdm
  riscv: dts: starfive: jh7110: add dma controller node
  riscv: dts: starfive: Add spi node and pins configuration
  riscv: dts: starfive: Add USB dts node for JH7110
  riscv: dts: starfive: Add USB and PCIe PHY nodes for JH7110
  riscv: dts: starfive: jh7110: Add temperature sensor node and thermal-zones
  riscv: dts: starfive: jh7100: Add temperature sensor node and thermal-zones
  riscv: dts: starfive: visionfive 2: Add configuration of gmac and phy
  riscv: dts: starfive: jh7110: Add ethernet device nodes
  riscv: dts: starfive: jh7110: Add PLL clocks source in SYSCRG node
  riscv: dts: starfive: jh7110: Add syscon nodes
  riscv: dts: starfive: jh7110: Add STGCRG/ISPCRG/VOUTCRG nodes
  riscv: dts: starfive: jh7110: Add DVP and HDMI TX pixel external clocks
  dt-bindings: clock: Add StarFive JH7110 Video-Output clock and reset generator
  ...

Link: https://lore.kernel.org/r/20230813-naturist-fragment-ac7d10c453ba@spud
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 23:09:10 +02:00
Zhiguo Niu
0cc81b1ad5 f2fs: should update REQ_TIME for direct write
The sending interval of discard and GC should also
consider direct write requests; filesystem is not
idle if there is direct write.

Signed-off-by: Zhiguo Niu <zhiguo.niu@unisoc.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-08-14 13:42:28 -07:00
Chao Yu
eb61c2cca2 f2fs: fix to account cp stats correctly
cp_foreground_calls sysfs entry shows total CP call count rather than
foreground CP call count, fix it.

Fixes: fc7100ea2a ("f2fs: Add f2fs stats to sysfs")
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-08-14 13:42:05 -07:00
Chao Yu
9bf1dcbdfd f2fs: fix to account gc stats correctly
As reported, status debugfs entry shows inconsistent GC stats as below:

GC calls: 6008 (BG: 6161)
  - data segments : 3053 (BG: 3053)
  - node segments : 2955 (BG: 2955)

Total GC calls is larger than BGGC calls, the reason is:
- f2fs_stat_info.call_count accounts total migrated section count
by f2fs_gc()
- f2fs_stat_info.bg_gc accounts total call times of f2fs_gc() from
background gc_thread

Another issue is gc_foreground_calls sysfs entry shows total GC call
count rather than FGGC call count.

This patch changes as below for fix:
- account GC calls and migrated segment count separately
- support to account migrated section count if it enables large section
mode
- fix to show correct value in gc_foreground_calls sysfs entry

Fixes: fc7100ea2a ("f2fs: Add f2fs stats to sysfs")
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-08-14 13:41:57 -07:00