Commit graph

1,412,257 commits

Author SHA1 Message Date
Bastien Curutchet (Schneider Electric)
7b3c09e166 net: dsa: microchip: common: Fix checks on irq_find_mapping()
irq_find_mapping() returns a positive IRQ number or 0 if no IRQ is found
but it never returns a negative value. However, on each
irq_find_mapping() call, we verify that the returned value isn't
negative.

Fix the irq_find_mapping() checks to enter error paths when 0 is
returned. Return -EINVAL in such cases.

CC: stable@vger.kernel.org
Fixes: c9cd961c0d ("net: dsa: microchip: lan937x: add interrupt support for port phy link")
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Bastien Curutchet (Schneider Electric) <bastien.curutchet@bootlin.com>
Link: https://patch.msgid.link/20251120-ksz-fix-v6-1-891f80ae7f8f@bootlin.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-11-25 12:32:41 +01:00
Kai-Heng Feng
7526183cfd net: aquantia: Add missing descriptor cache invalidation on ATL2
ATL2 hardware was missing descriptor cache invalidation in hw_stop(),
causing SMMU translation faults during device shutdown and module removal:
[   70.355743] arm-smmu-v3 arm-smmu-v3.5.auto: event 0x10 received:
[   70.361893] arm-smmu-v3 arm-smmu-v3.5.auto:  0x0002060000000010
[   70.367948] arm-smmu-v3 arm-smmu-v3.5.auto:  0x0000020000000000
[   70.374002] arm-smmu-v3 arm-smmu-v3.5.auto:  0x00000000ff9bc000
[   70.380055] arm-smmu-v3 arm-smmu-v3.5.auto:  0x0000000000000000
[   70.386109] arm-smmu-v3 arm-smmu-v3.5.auto: event: F_TRANSLATION client: 0001:06:00.0 sid: 0x20600 ssid: 0x0 iova: 0xff9bc000 ipa: 0x0
[   70.398531] arm-smmu-v3 arm-smmu-v3.5.auto: unpriv data write s1 "Input address caused fault" stag: 0x0

Commit 7a1bb49461 ("net: aquantia: fix potential IOMMU fault after
driver unbind") and commit ed4d81c4b3 ("net: aquantia: when cleaning
hw cache it should be toggled") fixed cache invalidation for ATL B0, but
ATL2 was left with only interrupt disabling. This allowed hardware to
write to cached descriptors after DMA memory was unmapped, triggering
SMMU faults. Once cache invalidation is applied to ATL2, the translation
fault can't be observed anymore.

Add shared aq_hw_invalidate_descriptor_cache() helper and use it in both
ATL B0 and ATL2 hw_stop() implementations for consistent behavior.

Fixes: e54dcf4bba ("net: atlantic: basic A2 init/deinit hw_ops")
Tested-by: Carol Soto <csoto@nvidia.com>
Signed-off-by: Kai-Heng Feng <kaihengf@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20251120041537.62184-1-kaihengf@nvidia.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-11-25 12:15:12 +01:00
Jacky Chou
e3daf0e7fe dt-bindings: net: aspeed: add AST2700 MDIO compatible
Add "aspeed,ast2700-mdio" compatible to the binding schema with a fallback
to "aspeed,ast2600-mdio".

Although the MDIO controller on AST2700 is functionally the same as the
one on AST2600, it's good practice to add a SoC-specific compatible for
new silicon. This allows future driver updates to handle any 2700-specific
integration issues without requiring devicetree changes or complex
runtime detection logic.

For now, the driver continues to bind via the existing
"aspeed,ast2600-mdio" compatible, so no driver changes are needed.

Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Jacky Chou <jacky_chou@aspeedtech.com>
Link: https://patch.msgid.link/20251120-aspeed_mdio_ast2700-v2-1-0d722bfb2c54@aspeedtech.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-11-25 12:11:47 +01:00
Arnd Bergmann
0363169ac7 TI SoC driver updates for v6.19
- ti_sci: Add Partial-IO poweroff support and sys_off handler integration
 - ti_sci: Gate IO isolation programming on firmware capability flag
 - ti_sci: cleanup by replacing ifdeffery in PM ops with pm_sleep_ptr() macro
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmkbH5kACgkQ3bWEnRc2
 JJ3/mA/7BvQ1eDOFjouB/l+YjYDuD+y0P/LRwLv1L5lROX95EbaGD7dyAdZJ6Yyw
 ih2HbWtZvzF8WgcKLFKrzSxhefSvUPOlisyMCWa2tUF4OVW3zRgCXI9DPJeE6nJK
 jxzwPz53G7KKReMlOmvwz225HGaPxPojQs7WQldx/nWVB9+Vlg0Nz7z5gEfUgHJj
 5/ysx4sAgWZrDoZvHMaU5FTT6zvcmH42W9f513A6pI4mrlyREO/OaxnNEe6jhH9O
 sebqKX9xvIOnpPjpC3i6gtT22fYZ5uXlcDla7GNWkHhflY4g2lJo4QEYcAC0hskM
 ps/9tO7zeV/nBg8WkjmiibyDFScVbXWNeWrL6H9WxO5wAc1/kVwd5KH6TtTAyIcf
 ijog5ykuwRgLZHoEzmCZMsBHpRK5xpRa6rVADVpKl9Z3vHHfyZQc5rqx4AWSiU6t
 zLB0Iuonzi4FFkBhtdhYmVTAEb9D7tfL6vRsrpzi+ogFe1pvJQpXjYbXArv8hnfI
 ofqiyo6h9+/MM2xpGkOako3GsXTC+94Unr/3Dcbu04PeByEClK8fq6BTrGYFH5dA
 +wIda9TZOlf6IsRobZLlOc1DeeiMBnmrzmYwx76/B89ABj0VotbVFYG8DQ5H7fys
 /AgvB5U6MypGgBzvfnhWbl4S/EHOVPRVRgCijGSRqDhJrzgjR9o=
 =4Ap0
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIyBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmklorUACgkQmmx57+YA
 GNmIsA/4g45AA3I30tf9xelPhQsg9JuTWiqgqbGt1gHS2fIafpS5cqDUcx7RDTi5
 AM9Q+EQ6c1pmpJLSU9qM9y7V1GXt7fsghz6bJDjWD3Ee5+ky+x0LkHQRxGUIeLTy
 K5t0C8jGnU6JexXCz5KH2kEA+7uaooaaXD1zWwviJ4P0M6by+Jo2PqEKj6Nj3YwL
 Xvz0vsJzZn1cRFrnuickUzEy+SuRfdI3egY0H6Sj+UdDXhyQ47GfC6A84zmpqT95
 ZGWmRC132s0VY1JB6d5TMsWgTZdzQE9xmyip2xrKAqR7kdViWiiWTlv+o3MPUkfx
 qWGPDhUQHb15IKp8KThnW4VHt+jR6cao8LldepVMPVHd4Jgq53tpknZ6i46f1LaV
 E0dVUPYKZi72BAePkDA0Is6c+GkTJrxiPh6mlZ1Vd9kv1b9OWmh2i+93O6tXYg2M
 dko+Iqiq/FHbYJJIWW67bWkzHr/0r2JtEU/ZdVWWMw5FMUl6X7zD1zkT8zS3CV7N
 /3R0gnPpsW+bSw8sRWDuoQi2QAZkJT+qiRmEFUwpxvForTRbRXGTqN3U255AxIG0
 3YlY5evsFV4H05VEjCqh3rEmWoqMqUr/vibe3Q3QEHfa61Y7WLzHotljGk7+bNk7
 IW0npsNst31TfdV4ID9QbsZ8EQvA/dL4f+2/fBb5T13BHbwAjw==
 =0KD+
 -----END PGP SIGNATURE-----

Merge tag 'ti-driver-soc-for-v6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/drivers

TI SoC driver updates for v6.19

- ti_sci: Add Partial-IO poweroff support and sys_off handler integration
- ti_sci: Gate IO isolation programming on firmware capability flag
- ti_sci: cleanup by replacing ifdeffery in PM ops with pm_sleep_ptr() macro

* tag 'ti-driver-soc-for-v6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  firmware: ti_sci: Partial-IO support
  firmware: ti_sci: Support transfers without response
  firmware: ti_sci: Set IO Isolation only if the firmware is capable
  firmware: ti_sci: Replace ifdeffery by pm_sleep_ptr() macro

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-25 11:33:10 +01:00
Arnd Bergmann
16e8af6c03 i.MX drivers update for 6.19:
- A series from Peng Fan to to improve i.MX SCU firmware drivers
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmkbDRkACgkQUFdYWoew
 fM4P0Qf7BNHm+UMhOtNsKpydwY6D5IqFt1NlN6x95IAKOX6A1BrF55og5A61YVdi
 G9vW8PtTG3jo4UwBJj9HKgSDyew1iPVfXHOpLw8/6d7D5swIqNXoQw7TPIWu/1B5
 Jp9Vt3JCJGSxMXd8UW5gh/j9TONbMEghhHlp0C+evCtGZBnDpX4S/dKkpajkh55r
 WDYJYwuFFcY6xdmULPe419ggHlMxbG4/JvA27HzlOdPJUvEsz6tw5qaWgQOlPoZm
 lurKgaubtgpFkvsR8pF0yVg82ZVsGHtuliNh3ODUcVDTIACjF493BlYBNVe2DRSb
 JPato2KOYbJVCkBgEfo408C8zjAh+g==
 =nbkK
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmklhb8ACgkQmmx57+YA
 GNmXuA//bpO26LLMBWg7+QOYPPqYxl2xA8k5LNQTJuXm5ZgtPZrcl7z+TTUYo7lD
 3+2DYAa2O9fm9QOav8l82jteb+VaPiKDpJ+F3kD1TtuNtvKUWDxev6ncGTDY2Jfv
 DrEuecZiVT75ZqcIx5o94BuSiqzk5NcJi0wd2x4e3F+YtACEqou3giAortWcjaTn
 h9+j9X0MWR8jKGLq+qWr2KL1sJDpqeAFNaRgailuDzRbvA0RRRE6JwQo2bl7yNiv
 BsaMizpnLP3O8JU1swFWPGzzMBgi9R0RlASg4Z2X0UZjsqtR82hDhUoVFteE4hlx
 qRAf2ZQfiyYOFmNRf8vzGSrEItYNHWBsHaP9FGurO8N0gEpPNai38feiND+spwLb
 d30R5qcjfD+goKDPnLKuEnZ00Sa/ZiCR7X2jNEURgYL8yVABxiDRvZ/wKi1ZPgVG
 mPIh+2QCl2VB2pOAnMnJRXAjeAgDCT0KGREptRIm5d7Ti7CDwy7Ne27JfhMzKx2S
 4jqVnDU6Sn1/GeCgc3Y7IXkQWb2ZEombEM/sUiPZU9jkKsru//1bjS2d9Tbc7Uc7
 FVitD1oxC/9AAhUCP3rZ9qd8orwYn18BKGZcO1imXEQepkRQpvgVmw+6h9Rz/bv1
 BMKkbbmD/peHIaytNmKq7wtjDQDw+K6/wJxgoVudvM3do6RVPas=
 =3ZOr
 -----END PGP SIGNATURE-----

Merge tag 'imx-drivers-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/drivers

i.MX drivers update for 6.19:

- A series from Peng Fan to to improve i.MX SCU firmware drivers

* tag 'imx-drivers-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  firmware: imx: scu: Use devm_mutex_init
  firmware: imx: scu: Suppress bind attrs
  firmware: imx: scu: Update error code
  firmware: imx: scu-irq: Remove unused export of imx_scu_enable_general_irq_channel
  firmware: imx: scu-irq: Set mu_resource_id before get handle
  firmware: imx: scu-irq: Init workqueue before request mbox channel
  firmware: imx: scu-irq: Free mailbox client on failure at imx_scu_enable_general_irq_channel()
  firmware: imx: scu-irq: fix OF node leak in

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-25 11:32:27 +01:00
Arnd Bergmann
e7ec4df222 Allwinner driver changes for 6.19
Just one cleanup change that is part of tree wide cleanup of redundant
 pm_runtime_mark_last_busy() calls.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE2nN1m/hhnkhOWjtHOJpUIZwPJDAFAmkZfWMQHHdlbnNAa2Vy
 bmVsLm9yZwAKCRA4mlQhnA8kMOgsEAClgjHeKwclck1jmiauM8iFjCmtwuRDJHW3
 45wPa88K15ZoloxgIZuBLgslwvr6hb+HVjZhyyt3558yyycmU1VU9+Q8mgRiBu6v
 di3FcJhiYjU77+woHzxxseOJVm8vm+OopEO9wFwSB8CwJzdqgpnLI7yQQ9LE0NIW
 SjuN1aKxg2kh0x9TzRediA9wvn/N0M93YDc9b9QzJk4faxntnymIyhm6JlOBNrLF
 ZnkqkpJ1Tlrk5FytXZ2vepCSTKun/v8HK9iUuLkbgBFEe5OarmpdhH8eDIiDPOnc
 IqplNiUHjDw/rqrMQKXiN4qmLP+kK3dOkRrcyhS1pxXzZOlpQ+ylS4xF8PyzUB8u
 7U6hgOctYfHJSwC769p3yjQTypaZj/f6HBQhHaXUvI19kYivuNiAVFMt4DnVZ8EL
 QYhZi5l7T7KlTODeITL6QLWVGGPRT5kc6YivSsJwpjuIeTUkXPmOjas1orp9y2Pr
 R+aOo7ybCRf3MgIgC3QBWnzcGa5c+Yij2Vf9btFPcls6MO+eSf2a3A+YCPse4law
 XqwJAs3DbCsq81zPAfCizy7YRiX7MYuP6xgo+mYBICI5s+l0suBisuEdT7LLVB9Q
 mvEwVTKR9GCpppdbsFrN7V/Cn+jyqSXYbFbY3L42O7yGJddfoD0MuIrkastW1tlP
 Wo+G2AnD9Q==
 =X4bH
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmklhZgACgkQmmx57+YA
 GNlLRRAAqy4g6OoOpbM2+BFoz93ywblI03pDUCRmbf+FSVETVAAwkpk1RAgF6WnH
 Z3s62qaTpN+fAk/w9Ro+XKYnXTO8PB0xIf68batfsHQlqxxXVN8tRTSBufI45TMr
 AFQeIDuKkmY8ZZxa18p0FgpOs+i6M65flkyOq1Wtx/ai1abJF8f/y1Cop3zXqZty
 Adh4Jw20Lk+o9jd8qzSCnjmCPWBK0REHDNP51cySSXQbTKBc8AkeQzIu3GD2Tfdb
 oj6yLhjyod8LtDeVjWbM9sG0Zq9E/y6UY8OI+NO4S0n9ZzZYi4pjLnJZi3xMECGX
 pnh2By1tSNDX+l2XxZoubJiTbTzhRE49Fdpaie0RjRPNOXoHpD5H1GMoaz12eqnO
 fC3PgbknsNHINVFrCoJD87AhhU1rfnWp7ipo0DD85unHDb1X9/qJoaxdt+7dtdHC
 mrYho5p8X1d8fxRCWWR86jjGObgTE9wE4YhQwSn3WC2yKPe9v9wmHeF5CWllxvqK
 gngRHVmP9WhGGS7adFaZNsAsgh6bDVWjhHfPkustZpLzMZ/qjzFNhdZvI8J89L1o
 /BXb40Mr3pYv2JzbNODAxRziTz5oN5AsXKFewvzLeG1TV6EUp5PUmVcavhOK0/Wg
 GXDwFGuPZXq2lI8WMORLZLtv7WBrgmjY0E2GtV0H0SBz8Utx/uo=
 =ucy4
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-drivers-for-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/drivers

Allwinner driver changes for 6.19

Just one cleanup change that is part of tree wide cleanup of redundant
pm_runtime_mark_last_busy() calls.

* tag 'sunxi-drivers-for-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  bus: sunxi-rsb: Remove redundant pm_runtime_mark_last_busy() calls

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-25 11:26:00 +01:00
Bartosz Golaszewski
194832dcb1 string: use __attribute__((nonnull())) in strends()
The arguments of strends() must not be NULL so annotate the function
with the nonnull attribute.

Suggested-by: Kees Cook <kees@kernel.org>
Link: https://lore.kernel.org/r/20251118-strends-follow-up-v1-2-d3f8ef750f59@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2025-11-25 11:22:08 +01:00
Thomas Zimmermann
63c971af40 drm/fb-helper: Allocate and release fb_info in single place
Move the calls to drm_fb_helper_alloc_info() from drivers into a
single place in fbdev helpers. Allocates struct fb_info for a new
framebuffer device. Then call drm_fb_helper_single_fb_probe() to
create an fbdev screen buffer. Also release the instance on errors
by calling drm_fb_helper_release_info().

Simplifies the code and fixes the error cleanup for some of the
drivers.

Regular release of the struct fb_info instance still happens in
drm_fb_helper_fini() as before.

v2:
- remove error rollback in driver implementations (kernel test robot)
- initialize info in TTM implementation (kernel test robot)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Christian König <christian.koenig@amd.com> # radeon
Acked-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> # msm
Acked-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patch.msgid.link/20251027081245.80262-1-tzimmermann@suse.de
2025-11-25 11:02:43 +01:00
Malaya Kumar Rout
16e802667e tools/thermal/thermal-engine: Fix format string bug in thermal-engine
The error message in the daemon() failure path uses %p format specifier
without providing a corresponding pointer argument, resulting in undefined
behavior and printing garbage values.

Replace %p with %m to properly print the errno error message, which is
the intended behavior when daemon() fails.

This fix ensures proper error reporting when daemonization fails.

Signed-off-by: Malaya Kumar Rout <mrout@redhat.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://patch.msgid.link/20251124104401.374856-1-mrout@redhat.com
2025-11-25 11:00:28 +01:00
Arnd Bergmann
aee7ea4681 soc/tegra: Changes for v6.19-rc1
A couple of small fixes across the board: ACPI support on FUSE no longer
 exposes duplicate SoC information, speedo IDs for Tegra210 are updated,
 some comments see typo fixes or kerneldoc additions. Finally, support
 for USB wake events is added on Tegra234, which allow these systems to
 resume from suspend on USB activity.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmkYO7YACgkQ3SOs138+
 s6GjLhAAtZYYBEib28eSySwVdXp7EJj4HZadp0c54h0Q7UUOUkj6Wcvly7H9Tds6
 qaIc+LpakgDbIJXfYS1uEe1L69QqR0BhUrLPxQFxJB/QDJOsqt7LGrCAV9ylQWSM
 K6hD9/+vFpri4hPajM51kuyuZO7a5Df5keooq1/jQyVJ1I6N19m2NR1IygrO/wEt
 gY271o64eFL0gsUX4rjB+N9DrWHVON8f8O9NIEvdKYF5Zkg5/PY+y6KKkZhpf38H
 0J4yo8+EQObObx9RVvcy3wJ9Xq49P+aWMxXeP64VlcRhyXiiTGnIIplAoYvhOzNv
 zqLF7R4YhmV+DLIEgw4MAnVVR59lRZKcNaLbd0Uq9uaeKazvg5hUZdOAU92Bxp0N
 nRNbkeXekE0KSMTQtAd3Chu8Qukbjs+KtT9EUJhtPOLOp7yB7M1IpfGMbQ4bB8+0
 mHmzA2atEcC1e0l7dhhfwyjG5+BnV8wcVvSOSmO+uRyKbuSXM1XiRPBXXfO3dAfY
 wPDqGMhUIonPRt9mmCYVWruBRGC+dwcdzIFURsHFFNjBdzFD4ksTnBBsaDWr0RxH
 Zy5AYssL/DB7ivjzj7OMotKkHS/fnY4CV4E1b/67ecCeLHhnAL2ljE+a7YE1EDuO
 fZKDySQ/pYTAWtT5EV1uauDScOHC6icV+oton4zoq5bkCh3wdew=
 =qeBh
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmklgCIACgkQmmx57+YA
 GNmvEQ//ae9ERAzSzw4iW+HIdYKy3rCZvE6uayruQilYRB9c4PbpcLa3L9c9yj1R
 BFskUE9SBTBOtH+fRteS1Y/DugzC/8AiZ0TnwZ7b/2ynsTOCy/+5WlFYMUGGOauP
 qCrwRwbxVDN0OQD8avfqgAfiahvRz7mfDAmJ4jCqNwwTwJqsOl820WSZlOgUl3cX
 F3wGBKDc2ggcNNYbFarJQRLGV8yPF1o++w4JqUbPhz7wThYp0q12l4uTFm766GpM
 O3JhH8bqeVRrmU0oyOQjXQNFJ/36egcR3yIvrLf97XMAkDPNXuW6+zRLfDF1jZE/
 A6Wr2gHBya2pUxayGYNqitcCYDBUxjG3NluHYDGWBmbh7TGXO8MPWP2Qyw3hDzxi
 Jcv6ObNt3+MVZzQIn5xR+8lxIWCHb51CRywMbNuQGcpu3/+gFBuP2S3kWOI4UhrL
 miMqkKi2OuUi1JoRKxkvC3mKDFmM8Oq2qVxidirAXKfwVj7Uksd9xpRX9reRa8Z0
 SaEQKr+RwWXKTumct8aVaPVtXVLhDaYiNATypyqR3YQ0CI1uRAlAdvMZRX6QLTn0
 lncBmN79svBtawBhZbSZtJHdqVtdKPWjgTiV8UW5CpNUevSNbMwVN3Q5DVnNjzD9
 xV135iOl8GfptFFS4gqO2Loca1tClPDv8qHIXG8KPOE0MCppr9w=
 =Eh4e
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-6.19-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers

soc/tegra: Changes for v6.19-rc1

A couple of small fixes across the board: ACPI support on FUSE no longer
exposes duplicate SoC information, speedo IDs for Tegra210 are updated,
some comments see typo fixes or kerneldoc additions. Finally, support
for USB wake events is added on Tegra234, which allow these systems to
resume from suspend on USB activity.

* tag 'tegra-for-6.19-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  soc/tegra: pmc: Add USB wake events for Tegra234
  soc/tegra: pmc: Document tegra_pmc.syscore field
  soc/tegra: pmc: Don't fail if "aotag" is not present
  soc/tegra: fuse: speedo-tegra210: Add SoC speedo 2
  soc/tegra: fuse: speedo-tegra210: Update speedo IDs
  soc/tegra: Resolve a spelling error in the tegra194-cbb.c
  soc/tegra: fuse: Do not register SoC device on ACPI boot

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-25 10:49:10 +01:00
Christian König
ac364014fd dma-buf: cleanup dma_fence_describe v3
The driver and timeline name are meaningless for signaled fences.

Drop them and also print the context number.

v2: avoid the calls when the BO is already signaled.
v3: use same format as trace points for context and seqno.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Link: https://lore.kernel.org/r/20251113145332.16805-2-christian.koenig@amd.com
2025-11-25 10:46:55 +01:00
Randy Dunlap
1c6a92a5a5 wifi: nl80211: vendor-cmd: intel: fix a blank kernel-doc line warning
Delete an empty line prevent a kernel-doc warning:

Warning: ../include/uapi/linux/nl80211-vnd-intel.h:86 bad line:

Fixes: 3d2a2544ea ("nl80211: vendor-cmd: add Intel vendor commands for iwlmei usage")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Link: https://patch.msgid.link/20251125022834.3171742-1-rdunlap@infradead.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2025-11-25 10:34:55 +01:00
Mateusz Guzik
003a660730
fs: push list presence check into inode_io_list_del()
For consistency with sb routines.

ext4 is the only consumer outside of evict(). Damage-controlling it is
outside of the scope of this cleanup.

Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>
Link: https://patch.msgid.link/20251103230911.516866-1-mjguzik@gmail.com
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 10:34:49 +01:00
Mateusz Guzik
4c6b40877b
fs: cosmetic fixes to lru handling
1. inode_bit_waitqueue() was somehow placed between __inode_add_lru() and
   inode_add_lru(). move it up
2. assert ->i_lock is held in __inode_add_lru instead of just claiming it is
   needed
3. s/__inode_add_lru/__inode_lru_list_add/ for consistency with itself
   (inode_lru_list_del()) and similar routines for sb and io list
   management
4. push list presence check into inode_lru_list_del(), just like sb and
   io list

Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>
Link: https://patch.msgid.link/20251029131428.654761-2-mjguzik@gmail.com
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 10:34:49 +01:00
Mateusz Guzik
a27628f436
fs: rework I_NEW handling to operate without fences
In the inode hash code grab the state while ->i_lock is held. If found
to be set, synchronize the sleep once more with the lock held.

In the real world the flag is not set most of the time.

Apart from being simpler to reason about, it comes with a minor speed up
as now clearing the flag does not require the smp_mb() fence.

While here rename wait_on_inode() to wait_on_new_inode() to line it up
with __wait_on_freeing_inode().

Christian Brauner <brauner@kernel.org> says:

As per the discussion in [1] I folded in the diff sent in [2].

Link: https://lore.kernel.org/69238e4d.a70a0220.d98e3.006e.GAE@google.com [1]
Link: https://lore.kernel.org/c2kpawomkbvtahjm7y5mposbhckb7wxthi3iqy5yr22ggpucrm@ufvxwy233qxo [2]
Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>
Link: https://patch.msgid.link/20251010221737.1403539-1-mjguzik@gmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 10:32:39 +01:00
Lachlan Hodges
cba1ba11c1 wifi: cfg80211: include s1g_primary_2mhz when comparing chandefs
When comparing chandefs, ensure we include s1g_primary_2mhz.

Signed-off-by: Lachlan Hodges <lachlan.hodges@morsemicro.com>
Link: https://patch.msgid.link/20251125025927.245280-3-lachlan.hodges@morsemicro.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2025-11-25 10:31:28 +01:00
Lachlan Hodges
3fc830cd8c wifi: cfg80211: include s1g_primary_2mhz when sending chandef
The chandef now includes a flag denoting the use of a 2MHz primary
channel for S1G interfaces, include this when sending the chandef.

Signed-off-by: Lachlan Hodges <lachlan.hodges@morsemicro.com>
Link: https://patch.msgid.link/20251125025927.245280-2-lachlan.hodges@morsemicro.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2025-11-25 10:31:11 +01:00
Ria Thomas
24d4da5c25 wifi: ieee80211: correct FILS status codes
The FILS status codes are set to 108/109, but the IEEE 802.11-2020
spec defines them as 112/113. Update the enum so it matches the
specification and keeps the kernel consistent with standard values.

Fixes: a3caf7440d ("cfg80211: Add support for FILS shared key authentication offload")
Signed-off-by: Ria Thomas <ria.thomas@morsemicro.com>
Reviewed-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
Link: https://patch.msgid.link/20251124125637.3936154-1-ria.thomas@morsemicro.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2025-11-25 10:28:20 +01:00
Johannes Berg
cf1d7dc28c mt76 patches for 6.19
- relicense to BSD-3-Clause-Clear
 - fixes
 - support WED on devices which exceed 32-bit DMA
 - airoha NPU support
 - mt7925 regd improvements
 - more mt7996 MLO work
 -----BEGIN PGP SIGNATURE-----
 Comment: GPGTools - http://gpgtools.org
 
 iF0EABECAB0WIQR10Rp9kadxD0kAQu/XfRQdAqdu9QUCaSRorgAKCRDXfRQdAqdu
 9X+NAKCQZC5gtZELHdvSJNAB5MwOJP5H1QCgvC+LUxf0etHH3ukChZm0WOen/S0=
 =DXR8
 -----END PGP SIGNATURE-----

Merge tag 'mt76-next-2025-11-24' of https://github.com/nbd168/wireless

Felix Fietkau says:
===================
mt76 patches for 6.19

- relicense to BSD-3-Clause-Clear
- fixes
- support WED on devices which exceed 32-bit DMA
- airoha NPU support
- mt7925 regd improvements
- more mt7996 MLO work
===================

Link: https://patch.msgid.link/6b6d1033-dddf-4cc9-b240-93da7f8b8773@nbd.name
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2025-11-25 10:27:19 +01:00
Arnd Bergmann
d34a71ba21 syscore: Changes for v6.19-rc1
Add a parameter to syscore operations to allow passing contextual data,
 which in turn enables refactoring of drivers to make them independent of
 global data. This initially only contains the API changes along with the
 updates for existing drivers. Subsequent work will make use of this to
 improve drivers.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmkYOjQACgkQ3SOs138+
 s6F7rRAAhUpjKYoZeht0i0x7B0aXsWzSyR4Mp5crHypKLuJSzglcuo82MrVk2kwj
 nBliQelCNUjkvRI4fIQq4Ci8GnkfkbACCw6JKzEeue13j0V1YiJ7de2/DILfi36I
 un4DXuxghH5kWbiinrYr5I4pi9yOcc9Ev1vdB1cxcWqtEcmCx7JpCtL7dCm9pMgN
 y5obnXECKCLyuWexh0XNHl3YKKs9jfocGBrpEAEMCB5pz2OdUIeWaZjRP6l0Gfhl
 kdRY/5WAlkAJV3ZAzQ3QN1RUufj1k2GCt4riY+u10sJHXJkBosz2fjWq5e/Omn0R
 FS2uMbJrUiXmN4URKmHcUuuOf0AysWmKjmUS9DrnaQs1LvYhXmu9a4NpjAts+roD
 E1G7KrU++/P/dR5weIa/6wP2fyfIlfKKrNHWaMZSQcJtqT5OoDol9pZGcMwPGvpv
 rNa4Yk30mo27ShzqIDqDPeNo/2rpDdOaN1AqvtVSFpsQGTdPfjrdv5IS6/zyKUs3
 pAYQvoxExq93N2hyfFr4PWzSHtbEoTFXWXkIOVK6FEIxxvo4q94+u05YYEkaeAWv
 SvZq/X//j4yafRwmE5zAgavbmwoTh+LUwyEfxa/YRzsVt66GT9ahVuAYkgHSRgoy
 bKYwyrtOwKL0swrFvBsaIjY8fqnrdbghFL/KikR1g8pKG8SyGf0=
 =dbAm
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkldigACgkQmmx57+YA
 GNls9Q/+O0T9T9YF3I1lfTQUFa80gx+BaNt/tFGxIeZxQYfUCT5pY8dv6atlqLhU
 QbPnQrAT74wyBjAVFxnUZlQL5qRfsayrRTSYV3hzEEyCVIfg+8DdOjma8io0M8J3
 v5y74cpUSOYAyJUHtuuhC6TA071+YfBaTLLkYNvwTaOQNCkiTq2tQM75uEuYatYZ
 W1cepjh5/YKEHUCW1ETiT1hbSJSmUq5BAS/9mSzVBAcFDKxMLfop/6VQk/PgefUq
 0xz0A52VtJS+sGAJEGcKysZKFbWLVcdT1hSk2Y6biCSR25TEhhxnRkmvgiiLjzTR
 HexdiHaV/5GbK3EcWiZE1KOg6lqR/HmuLWokEQZ0oR2vy7N8a/CE9Rjy+z6Y/xku
 qSYq2VdgTMAOXxTqkkLMEp4av3Kzgrl4A7IdP89ATEPnJt05vt9zAgJ5CAbsL7KG
 xci9GtA4sKs9uoStm5jy0aTfxxDQ2s2cVkOy//b/C3RM517aY17qQIeJtpARYL1D
 /WDQI8Lbx9vEJ8Y6jNpEkVZThCMNMSfQCHWIcoPtsikYlb2IPxF6Rwc3Esm2J7iY
 lY4dPkCHQMJwMvH683BdYNInhG6bUyUfffhiuzDEoZ1srizvOoqkIqma25btFhuC
 g45iHw6Z+xszx1X35RpS50hzUj02WGyu1VXEqEcmMapMlKBenns=
 =4jOh
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-6.19-syscore' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers

syscore: Changes for v6.19-rc1

Add a parameter to syscore operations to allow passing contextual data,
which in turn enables refactoring of drivers to make them independent of
global data. This initially only contains the API changes along with the
updates for existing drivers. Subsequent work will make use of this to
improve drivers.

* tag 'tegra-for-6.19-syscore' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  syscore: Pass context data to callbacks

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-25 10:25:56 +01:00
Arnd Bergmann
5d5b056ba3 amba: Fixes for v6.19-rc1
Fix a device leak. Could go into v6.18 as a fix, but since this problem
 has existed for a long time and nobody has reported it before it doesn't
 seem critical enough and sufficient to get it into 6.19 and then
 backported.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmkYOwEACgkQ3SOs138+
 s6GteRAAv4iX1cWTP20qI6lQVbr1/nTpmsL1e+QfaHHLIi8+KZpXpSLyMnhK0ZKS
 EJh+0iANiZALdA9oMEdodxKD1CAPj17g1CIUPAFWzqUYPNZQY3FIZFvKRwvbPIeq
 Nickloe3H8+sRnb1D3mGX9XMlwVco1vS9F3L1TtHV9MhNzlsLh47QL+zkaqWLedk
 A/68obiSWA2Q7b5AtELNvD0z+cjw7B4G4zmXCdM3lfpZC0hFyc3drVcc7ozylrqA
 DGEBb85Sp1IlPpyYRz9vuwc1u/Nb3wj3v5RwFGB1S0Hn541fPWE7PlQGn8jkNb5E
 laPGJV3sOUi31G0lEwBwTmN8EMCfdcif6xwrhqYdxWUm3wNuL3f4gBVZh0tpFLRk
 TDF0Ye1SDjk+eWTVqM33Kzn7d5QmRH18OxPBpSfg5/IFdJmOh1tjW/nF7qhklB4Q
 vwKvOm868Pbi30gko0/hH8ry7g+9dGcnyd2bPf67PU4i1qUdKKsBVX+uvL8Ld28W
 ggvklt10bZoeBLnq+bPLn6DExnmJJWd6Jpmo5mFXiGYv6ZWojQosf1ycg+O0qb4s
 yYKiod/AfXuCQLxu6EOi58JLGEikF3iVoWq+0uaXY7olCO+lFAieoHAnJ5QsjkjJ
 opS/mmzl39IbmQhsBZD+B0aHpzHeFtA+ayQ0WxBZAbYOGcqGsxY=
 =OCIb
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkldeAACgkQmmx57+YA
 GNmSPRAAtpCj8X3yhYmG88mrp67WshDnSd77k9lTd4Hihp//d9zhyQlkZDBZc9Bh
 0P3Zt4JVjCmNqV/coBG8swpkj4ytw3yScvK473EQb+9Gz8g9Lj1Ou3qtJhcKHPdZ
 IZOhwFG1R+Q6DMfdOq8Sx4jkX7gvaSEJ6+kWb8HNDwMmSfuZ/33On6ybI9u+87y/
 9HcuT4Hmn45zfISBFaZ8wajNsMDsdiOxvYouAIxtMeU6JQnn/WzyXsxgx5C2KzzS
 RhgIs9kVi0LIWXKTIYr+7HDuwTJU1KRFKn5rMivlSszV0cnCfJLAEi4sBf9YjwTL
 13zsrNoYj5PUBeriOt+Ui4oLCwgZ2i/Jm1kzRLxDIakzOxqHU0OFu6Gdiz3GTVrg
 5FP8RU92ATeQysvoDVFM2KUvM30+i4mCCC0fpErK0fOYdGktFLUkkNaaEZG8v9ZQ
 keIwFi+0/CMwfVSk5J8PWVqc5qvmBT/PyY8ciUVuLc66zMSjjK1oGAj+A7MZaSw4
 Gxcja5lAVXr8I/x8aqb0SYYW4n3wBWhYD/T0M6jkedmwhqlXMgifp7/Hnl3BgWMa
 L72srVfWbTTmWAyrdXO6gAib3WxxzDFJP1HMCx6m9DMUq1OYykRvwyWRlUf9YbkT
 DGFHTqravdZcYmt+LGeypaF7AwbMiANa5kbFdwpDKRf8sJxGo70=
 =c/dC
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-6.19-core' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers

amba: Fixes for v6.19-rc1

Fix a device leak. Could go into v6.18 as a fix, but since this problem
has existed for a long time and nobody has reported it before it doesn't
seem critical enough and sufficient to get it into 6.19 and then
backported.

* tag 'tegra-for-6.19-core' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  amba: tegra-ahb: Fix device leak on SMMU enable

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-25 10:24:21 +01:00
Arnd Bergmann
9b26d16d79 Renesas driver updates for v6.19 (take two)
- Fix accessing forbidden registers from regmap debugfs on RZ/G3E,
     RZ/G3S, RZ/V2H, and RZ/V2N.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCaRb87wAKCRCKwlD9ZEnx
 cLprAQDZ0tKpmFAX237dW6jyxrUB/vD25Lq3lDA128RkET2p9wEAqncw7Agpfx2J
 EorBJz3a1uzEctP/etvT756ETRCuVQM=
 =iw3Z
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkldZEACgkQmmx57+YA
 GNlBHA/9Epbc4OGykDRCYgU/chbLC6C2lxe+oPyrCu8AuP+r1G+Nhfi0bBXmfgHd
 MeQrQnu0LXnhFuEegiumFam51X9YNsd2NlKiKnVArglHhPPnuMGbJ3IthKn4upnG
 SRxhLdlZpg38uCgspdCzE63yUBvfxwVnQWiqBTzqqWe5yxnr1K6BHmGU1VKffzev
 ubE8OOzwLkzjAAqia6KkWkGSlRslYNP7JRK2qqNC36TDfFiQKC/X7z8s9V9+c6rC
 Q5277hx+m7ynYZBscMPdt2b9qLtgFSjkIgBcfn/b2IvtF/NPOfAYR/a4lY4mLkB5
 r2jlzsOXWHLyTk1p8c5SvrnuNcaiZ7NEAqcOo8esutqPqYE+Bu8ObUjV6BnA4esp
 bd3mUCqDcLJf2ezqV679ULPkbqT5Hb4GoJzzPLJGGxbn0ZDuc4B3WHlb5CUvF8yy
 eIp2vBxDWgRHzG5P8NwEw5mQ2EtLlTSaWkxEEwbfovpDCJ+FDkvDdXb5a9QNKkbU
 JIYhoWfmtfVowe8+1ToYz92gTm6jDctl5dNPO1h7w6pWV1K/c7+4vWxiq6B0F5z9
 G73gZaxR/VobgkY/ySasEhL6KUHlixvQNhZDLKBovwqfaHlepeqgdWVCI2uh26gW
 /INc9pIgd3ptpXUMNtUszAqH1ntM4QSURHkNP3Wpd84Af2sLwdQ=
 =bARn
 -----END PGP SIGNATURE-----

Merge tag 'renesas-drivers-for-v6.19-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/drivers

Renesas driver updates for v6.19 (take two)

  - Fix accessing forbidden registers from regmap debugfs on RZ/G3E,
    RZ/G3S, RZ/V2H, and RZ/V2N.

* tag 'renesas-drivers-for-v6.19-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: rz-sysc: Populate readable_reg/writeable_reg in regmap config
  soc: renesas: r9a09g056-sys: Populate max_register

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-25 10:23:26 +01:00
Christoph Hellwig
7fd8720dff
iomap: allocate s_dio_done_wq for async reads as well
Since commit 222f2c7c6d14 ("iomap: always run error completions in user
context"), read error completions are deferred to s_dio_done_wq.  This
means the workqueue also needs to be allocated for async reads.

Fixes: 222f2c7c6d14 ("iomap: always run error completions in user context")
Reported-by: syzbot+a2b9a4ed0d61b1efb3f5@syzkaller.appspotmail.com
Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://patch.msgid.link/20251124140013.902853-1-hch@lst.de
Tested-by: syzbot+a2b9a4ed0d61b1efb3f5@syzkaller.appspotmail.com
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 10:22:19 +01:00
Joanne Koong
d7ff85d4b8
iomap: fix iomap_read_end() for already uptodate folios
There are some cases where when iomap_read_end() is called, the folio
may already have been marked uptodate. For example, if the iomap block
needed zeroing, then the folio may have been marked uptodate after the
zeroing.

iomap_read_end() should unlock the folio instead of calling
folio_end_read(), which is how these cases were handled prior to commit
f8eaf79406 ("iomap: simplify ->read_folio_range() error handling for
reads"). Calling folio_end_read() on an uptodate folio leads to buggy
behavior where marking an already uptodate folio as uptodate will XOR it
to be marked nonuptodate.

Fixes: f8eaf79406 ("iomap: simplify ->read_folio_range() error handling for reads")
Signed-off-by: Joanne Koong <joannelkoong@gmail.com>
Link: https://patch.msgid.link/20251118211111.1027272-2-joannelkoong@gmail.com
Tested-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reported-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 10:22:19 +01:00
Christian Brauner
5ec58e6acd
Merge patch series "enable iomap dio write completions from interrupt context v2"
Christoph Hellwig <hch@lst.de> says:

Currently iomap defers all write completions to interrupt context.  This
was based on my assumption that no one cares about the latency of those
to simplify the code vs the old direct-io.c.  It turns out someone cared,
as Avi reported a lot of context switches with ScyllaDB, which at least
in older kernels with workqueue scheduling issues caused really high
tail latencies.

Fortunately allowing the direct completions is pretty easy with all the
other iomap changes we had since.

While doing this I've also found dead code which gets removed (patch 1)
and an incorrect assumption in zonefs that read completions are called
in user context, which it assumes for it's error handling.  Fix this by
always calling error completions from user context (patch 2).
Against the vfs-6.19.iomap branch.

* patches from https://patch.msgid.link/20251113170633.1453259-1-hch@lst.de:
  iomap: invert the polarity of IOMAP_DIO_INLINE_COMP
  iomap: support write completions from interrupt context
  iomap: rework REQ_FUA selection
  iomap: always run error completions in user context
  fs, iomap: remove IOCB_DIO_CALLER_COMP

Link: https://patch.msgid.link/20251113170633.1453259-1-hch@lst.de
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 10:22:19 +01:00
Christoph Hellwig
76192a42c2
iomap: invert the polarity of IOMAP_DIO_INLINE_COMP
Replace IOMAP_DIO_INLINE_COMP with a flag to indicate that the
completion should be offloaded.  This removes a tiny bit of boilerplate
code, but more importantly just makes the code easier to follow as this
new flag gets set most of the time and only cleared in one place, while
it was the inverse for the old version.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://patch.msgid.link/20251113170633.1453259-6-hch@lst.de
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 10:22:19 +01:00
Christoph Hellwig
eca9dc2089
iomap: support write completions from interrupt context
Completions for pure overwrites don't need to be deferred to a workqueue
as there is no work to be done, or at least no work that needs a user
context.  Set the IOMAP_DIO_INLINE_COMP by default for writes like we
already do for reads, and the clear it for all the cases that actually
do need a user context for completions to update the inode size or
record updates to the logical to physical mapping.

I've audited all users of the ->end_io callback, and they only require
user context for I/O that involves unwritten extents, COW, size
extensions, or error handling and all those are still run from workqueue
context.

This restores the behavior of the old pre-iomap direct I/O code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://patch.msgid.link/20251113170633.1453259-5-hch@lst.de
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 10:22:19 +01:00
Christoph Hellwig
29086a31b3
iomap: rework REQ_FUA selection
The way how iomap_dio_can_use_fua and the caller is structured is
a bit confusing, as the main guarding condition is hidden in the
helper, and the secondary conditions are split between caller and
callee.

Refactor the code, so that iomap_dio_bio_iter itself tracks if a write
might need metadata updates based on the iomap type and flags, and
then have a condition based on that to use the FUA flag.

Note that this also moves the REQ_OP_WRITE assignment to the end of
the branch to improve readability a bit.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://patch.msgid.link/20251113170633.1453259-4-hch@lst.de
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 10:22:18 +01:00
Christoph Hellwig
ddb4873286
iomap: always run error completions in user context
At least zonefs expects error completions to be able to sleep.  Because
error completions aren't performance critical, just defer them to workqueue
context unconditionally.

Fixes: 8dcc1a9d90 ("fs: New zonefs file system")
Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://patch.msgid.link/20251113170633.1453259-3-hch@lst.de
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 10:22:18 +01:00
Christoph Hellwig
f9f8514999
fs, iomap: remove IOCB_DIO_CALLER_COMP
This was added by commit 099ada2c87 ("io_uring/rw: add write support
for IOCB_DIO_CALLER_COMP") and disabled a little later by commit
838b35bb6a ("io_uring/rw: disable IOCB_DIO_CALLER_COMP") because it
didn't work.  Remove all the related code that sat unused for 2 years.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://patch.msgid.link/20251113170633.1453259-2-hch@lst.de
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 10:22:18 +01:00
Christian Brauner
f53d302ee8
Merge patch series "iomap: buffered io changes"
This series contains several fixes and cleanups:

* Renaming bytes_pending/bytes_accounted to
  bytes_submitted/bytes_not_submitted for improved code clarity

* Accounting for unaligned end offsets when truncating read ranges

* Adding documentation for iomap_finish_folio_write() requirements

* Optimizing pending async writeback accounting logic

* Simplifying error handling in ->read_folio_range() for read operations

* Streamlining logic for skipping reads during write operations

* Replacing manual bitmap scanning with find_next_bit() for both dirty
  and uptodate bitmaps, improving performance

* patches from https://patch.msgid.link/20251111193658.3495942-1-joannelkoong@gmail.com:
  iomap: use find_next_bit() for uptodate bitmap scanning
  iomap: use find_next_bit() for dirty bitmap scanning
  iomap: simplify when reads can be skipped for writes
  iomap: simplify ->read_folio_range() error handling for reads
  iomap: optimize pending async writeback accounting
  docs: document iomap writeback's iomap_finish_folio_write() requirement
  iomap: account for unaligned end offsets when truncating read range
  iomap: rename bytes_pending/bytes_accounted to bytes_submitted/bytes_not_submitted

Link: https://patch.msgid.link/20251111193658.3495942-1-joannelkoong@gmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 10:22:10 +01:00
Joanne Koong
b56c1c54f2
iomap: use find_next_bit() for uptodate bitmap scanning
Use find_next_bit()/find_next_zero_bit() for iomap uptodate bitmap
scanning. This uses __ffs() internally and is more efficient for
finding the next uptodate or non-uptodate bit than iterating through the
the bitmap range testing every bit.

Signed-off-by: Joanne Koong <joannelkoong@gmail.com>
Link: https://patch.msgid.link/20251111193658.3495942-10-joannelkoong@gmail.com
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Suggested-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 10:22:10 +01:00
Joanne Koong
fed9c62d28
iomap: use find_next_bit() for dirty bitmap scanning
Use find_next_bit()/find_next_zero_bit() for iomap dirty bitmap
scanning. This uses __ffs() internally and is more efficient for
finding the next dirty or clean bit than iterating through the bitmap
range testing every bit.

Signed-off-by: Joanne Koong <joannelkoong@gmail.com>
Link: https://patch.msgid.link/20251111193658.3495942-9-joannelkoong@gmail.com
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Suggested-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 10:22:10 +01:00
Arnd Bergmann
babf4c8841 Samsung SoC drivers for v6.19
1. ChipID driver: Add support for identifying Exynos8890 and Exynos9610.
 
 2. PMU driver: Allow specifying list of valid registers for the custom
    regmap used on Google GS101 SoC.  The PMU (Power Management Unit) on
    that SoC uses more complex access to registers than simple MMIO and
    invalid registers trigger aborts halting the system.
 
 3. Few minor cleanups.
 
 4. Several new bindings for compatible devices.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmkR0ggQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD19GdD/47OlRvdAeqrLA4SShMPJZ0/YItO1K1Veyv
 SiiH6bn9qAzUGrNFVsQ3vxkZd+Fnt1Bpwv1IY8tnc/xI39eZrGzR2VoemcePPsxs
 28MqMos94A4xiqzRScD2i95Axo+92r7p64UAfO9ff/5ZNgZl6Ksxn7cU9OkVtQDf
 OrtYimJuJWXXvb0Pu8NV/BJv3ybOUa4v4JcPie6PGMU5GJVrF+nlTyWIz03PUE0j
 uJWO6+VzlxXStLXFC13ADMu1boJv0ABzspOKrccGCLoNNUpNcmz+oKn4npfQRZ8L
 fEeITtdkEJ+CwmVRaBF/2yvZR7M5xt9W1Jml1jPry5vig9IAv3uzt5aX/cEmHOJF
 Uqtwaqn/3JOu4MYQikIWnMH8fta/3g8l8LtOsj9a4rWujuGsDxIsV4ICSQCTclYF
 yDo/3QPXWLlnFc2xmgvKl2VXpTEK4D97VmTZqmTyju1mbemCbXALwWb/VhY9wWPP
 f50PVyrAmsl4tA/M+wFQyVDEbU4EMRqBun49b9mVkXxgQ9nubpkmhszHLwNXQ+7V
 pHGaH7P82V/T+7YT28xh+PMrpi0sdVa7I6z9Bp+2jr+vM4mPW+a5jFPSh+/o02o8
 7zvqhDFqFIXTrmDGtTzCTpOTNIIH0BLEqmxRWvga/69kNYJngkM+PnfTdSV47sfn
 oMHdRw35LQ==
 =hX5T
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkldUIACgkQmmx57+YA
 GNkS0w/8CEbE0WGWGYPXcG7a5lg7Hbbn3I060xCFc2YATdtymRTS0PoD4cNt5ts7
 6YFg0JR+zUjN0ZCM5wY+CzbAsrGzjlY/CtqeYYAKyso3vj6ujKuUmsobELhlnEeN
 RQzUR/sOok6EvGavFTkDAR33bLyW2Mg+vXt5sMtF186eGk7qDecxkpp0joJaZEPj
 1Rbd8TnHDNfvi6VAWHpQOmiroLAC15aTwa5flruvsu+RvhfsOIcccCRjVpmHNSvL
 6nS162lnXFntFr66/Hnm2JCy4rggDRGM1akCRlI25iAZBvFNPFE5rifAZsh060yo
 QMcqphhEAvy5DpA7GClbt7BdyinjqbV8RL8qAgdXGXxX1rgAd0f6bmnPc3S4CDS8
 dkBtTViXOxqU7dD/lsy5OnO+g9td055c4KsPv+Y3MTRpNIDH8jVuvoNT1c+LTzQS
 KzKEMxghfdSQNZQVaCs5vzs3ticapUHcf5sfdNJwmOIYdEURctI0MNc1/GXw+GZ3
 frNM6YNyYZUoTU3WK9sGQhzms0ucR/mFeJCHyNLxPpBnZ414OuOhag2lJjbfyvlA
 46kKAa7T8GlYG2zoTj74Cmabrin5Q4eOeUBS/APOpp2zMYHN+06zkthQrZeGgOmu
 zoK4OHZS3+6qIhhlGoPPlVnaj7yBECg6hhYdj1RgvjNR6Q05jCg=
 =VGfE
 -----END PGP SIGNATURE-----

Merge tag 'samsung-drivers-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/drivers

Samsung SoC drivers for v6.19

1. ChipID driver: Add support for identifying Exynos8890 and Exynos9610.

2. PMU driver: Allow specifying list of valid registers for the custom
   regmap used on Google GS101 SoC.  The PMU (Power Management Unit) on
   that SoC uses more complex access to registers than simple MMIO and
   invalid registers trigger aborts halting the system.

3. Few minor cleanups.

4. Several new bindings for compatible devices.

* tag 'samsung-drivers-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  dt-bindings: soc: samsung: exynos-pmu: allow mipi-phy subnode for Exynos7870 PMU
  soc: samsung: exynos-chipid: use a local dev variable
  dt-bindings: soc: samsung: exynos-sysreg: add gs101 hsi0 and misc compatibles
  dt-bindings: soc: samsung: exynos-sysreg: add power-domains
  soc: samsung: gs101-pmu: implement access tables for read and write
  soc: samsung: exynos-pmu: move some gs101 related code into new file
  soc: samsung: exynos-pmu: allow specifying read & write access tables for secure regmap
  dt-bindings: samsung: exynos-sysreg: add exynos7870 sysregs
  soc: samsung: exynos-chipid: add exynos8890 SoC support
  dt-bindings: hwinfo: samsung,exynos-chipid: add exynos8890-chipid compatible
  dt-bindings: soc: samsung: exynos-pmu: add exynos8890 compatible
  soc: samsung: exynos-pmu: Annotate online/offline functions with __must_hold
  soc: samsung: exynos-chipid: Add exynos9610 SoC support
  dt-bindings: hwinfo: samsung,exynos-chipid: add exynos9610 compatible
  dt-bindings: soc: samsung: exynos-sysreg: Add Exynos990 PERIC0/1 compatibles

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-25 10:21:57 +01:00
David Gow
a74b6c0e53 um: Don't rename vmap to kernel_vmap
In order to work around the existence of a vmap symbol in libpcap, the
UML makefile unconditionally redefines vmap to kernel_vmap. However,
this not only affects the actual vmap symbol, but also anything else
named vmap, including a number of struct members in DRM.

This would not be too much of a problem, since all uses are also
updated, except we now have Rust DRM bindings, which expect the
corresponding Rust structs to have 'vmap' names. Since the redefinition
applies in bindgen, but not to Rust code, we end up with errors such as:

error[E0560]: struct `drm_gem_object_funcs` has no fields named `vmap`
  --> rust/kernel/drm/gem/mod.rs:210:9

Since libpcap support was removed in commit 12b8e7e69a ("um: Remove
obsolete pcap driver"), remove the, now unnecessary, define as well.

We also take this opportunity to update the comment.

Signed-off-by: David Gow <davidgow@google.com>
Acked-by: Miguel Ojeda <ojeda@kernel.org>
Link: https://patch.msgid.link/20251122083213.3996586-1-davidgow@google.com
Fixes: 12b8e7e69a ("um: Remove obsolete pcap driver")
[adjust commmit message a bit]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2025-11-25 10:18:37 +01:00
Askar Safin
54ca9e913e
include/linux/fs.h: trivial fix: regualr -> regular
Trivial fix.

Signed-off-by: Askar Safin <safinaskar@gmail.com>
Link: https://patch.msgid.link/20251120195140.571608-1-safinaskar@gmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 10:13:09 +01:00
Askar Safin
bef0202fb7
fs/splice.c: trivial fix: pipes -> pipe's
Trivial fix.

Signed-off-by: Askar Safin <safinaskar@gmail.com>
Link: https://patch.msgid.link/20251120211316.706725-1-safinaskar@gmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 10:11:16 +01:00
Matthew Wilcox (Oracle)
37d369fa97
fs: Add uoff_t
In a recent commit, I inadvertently changed a comparison from being an
unsigned comparison (on 64-bit systems) to being a signed comparison
(which it had always been on 32-bit systems).  This led to a sporadic
fstests failure.

To make sure this comparison is always unsigned, introduce a new type,
uoff_t which is the unsigned version of loff_t.  Generally file sizes
are restricted to being a signed integer, but in these two places it is
convenient to pass -1 to indicate "up to the end of the file".

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Link: https://patch.msgid.link/20251123220518.1447261-1-willy@infradead.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 10:07:42 +01:00
Christian König
17331d0f33 dma-buf/sw-sync: always taint the kernel when sw-sync is used
The SW-sync functionality should only be used for testing and debugging
since it is inherently unsave.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Sumit Semwal <sumit.semwal@linaro.org>
Link: https://lore.kernel.org/r/20251120150018.27385-3-christian.koenig@amd.com
2025-11-25 10:07:08 +01:00
Mateusz Guzik
8d79ec9e7f
fs: mark lookup_slow() as noinline
Otherwise it gets inlined notably in walk_component(), which convinces
the compiler to push/pop additional registers in the fast path to
accomodate existence of the inlined version.

Shortens the fast path of that routine from 87 to 71 bytes.

Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>
Link: https://patch.msgid.link/20251119144930.2911698-1-mjguzik@gmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 10:04:38 +01:00
Mateusz Guzik
7c179096e7
fs: add predicts based on nd->depth
Stats from nd->depth usage during the venerable kernel build collected like so:
bpftrace -e 'kprobe:terminate_walk,kprobe:walk_component,kprobe:legitimize_links
{ @[probe] = lhist(((struct nameidata *)arg0)->depth, 0, 8, 1); }'

@[kprobe:legitimize_links]:
[0, 1)           6554906 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@|
[1, 2)              3534 |                                                    |

@[kprobe:terminate_walk]:
[0, 1)          12153664 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@|

@[kprobe:walk_component]:
[0, 1)          53075749 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@|
[1, 2)            971421 |                                                    |
[2, 3)             84946 |                                                    |

Additionally a custom probe was added for depth within link_path_walk():
bpftrace -e 'kprobe:link_path_walk_probe { @[probe] = lhist(arg0, 0, 8, 1); }'
@[kprobe:link_path_walk_probe]:
[0, 1)           7528231 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@|
[1, 2)            407905 |@@                                                  |

Given these results:
1. terminate_walk() is called towards the end of the lookup and in this
   test it never had any links to clean up.
2. legitimize_links() is also called towards the end of lookup and most
   of the time there s 0 depth. Patch consumers to avoid calling into it
   in that case.
3. walk_component() is typically called with WALK_MORE and zero depth,
   checked in that order. Check depth first and predict it is 0.
4. link_path_walk() also does not deal with a symlink most of the time
   when !*name

Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>
Link: https://patch.msgid.link/20251119142954.2909394-1-mjguzik@gmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 10:04:01 +01:00
Andrei Vagin
7b6dcd9bfd
fs/namespace: fix reference leak in grab_requested_mnt_ns
lookup_mnt_ns() already takes a reference on mnt_ns.
grab_requested_mnt_ns() doesn't need to take an extra reference.

Fixes: 78f0e33cd6 ("fs/namespace: correctly handle errors returned by grab_requested_mnt_ns")
Signed-off-by: Andrei Vagin <avagin@google.com>
Link: https://patch.msgid.link/20251122071953.3053755-1-avagin@google.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-11-25 09:34:56 +01:00
Arnd Bergmann
bcae469769 Memory controller drivers for v6.19
1. Tegra drivers: Several cleanups (dev_err_probe(), error messages).
 2. Renesas RPC IF: Add system suspend support.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmkhyLoQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD18WSD/4ks7F1aAMhd/jjPW7Zzkl99LSPnwUgpYYn
 CR/kf78AMVLYh3z/zIGUJNanjF7huqcI/uJ5YZSDIXMHQDFfTNbomOY5O6VesGTn
 aNAU2D0Isn2Afb3f10b/RYQNyLIMiNhvZLTxqpduNpAfWVp2/gZzEpf9Lrspt6Ni
 J5uzzGrqvnlbjsEc23WlxK0zBgTzrJHcD/Tv+SQwRsy6QSZTeugesey48sqw84wo
 bAj3kYTxDXajQgLt/Ricb8ZgVMH7XUdXxAr7EnRD3ZXoODWoJKQotp5HaV9d2Nac
 e7YMf8kqEX0qyO11mAnrYCNTxRItb4Ks0mqoMSSeg1kfIy/WsDyK7e3XyFl1MKCj
 E3j+Vty17PZHU2Tq35zgnk/P+PVAg0juyEV5pllW20Ky7fQQj5jFNzjeaVbZ0o6F
 1KKAIgsDnHnrsKqYDlvBMCoU5ZYvY85/8MTxOfPUcTNCoAxdgJ/ORMbcNAm2rzzJ
 9cfTZXlHoMuL9sm8TnDvpV1S8YzN6uKLSoDW3wj0HsFHE4QQ4crGETFOnVygJu60
 FIb27/wrwzOxu1dvUvR8RPfwxFa3yfR6EGKqVQEXFXOvkfUp/AxHDPSNhFuCAgJh
 +mVwqWAubNrko0uALNkqzj68NyejXnKOE0wsFVXv6U8ZxwMugNflDcptTLRvzmTP
 M3H3af+Pqw==
 =eiGr
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmklZ8IACgkQmmx57+YA
 GNmZRw//fRJxilV+aSSSDI8buNOuu6VvBWHKh3ikj0j9RXeK54zoxeNjwWHyttD9
 fq0QdFCSefRN2k1JS29z4rIo1KDbyaQtssNpmxsktoHofHYOVLmewI2dcrf5O6l/
 WCKrnGdH1bzuXrBWrLeHeexx0Dl17DEq2Wid/dWL1uWfVNwpohNYjfPI4Z7dM8wb
 3teCeNRTT/OLoXsezcDr/F3gPhEGBnH08SYgvn5JtVhnLOrm0sjTTViHQyinpuo2
 GsmHX34OJJyehp5axzib2/dAyr99+C6fJh/rNQzRHlSs9vheThXDQEhH8jftxVtg
 /wyJijbpTaea0NBB5zgeluiClgNI4sitsvOWUmRwDzbGbNGut+R7A59LHmaC+YO8
 yjNfXmReBfWi51YUBdnIFjsXvsiOMcIayc9WX9izloi/i2IN0OG3kTCLNiqVU6mo
 0bKvaDBSvXBv6ogodvlu99KX8PPfoD63hBfi5EDmqB0UUWKoHlwsVhWptwWlAk7Y
 2l96TOYqrk3uJOC/T3epRWqXzFnnNL/QOHAcRHQmBJuF4GnGSdJKPyIueSKSbLtH
 M8aOMeA2WKKvSu8f+DolFEgBXIkcAdSJAYl/jBxnrWyrvAlV3x6eb2DFhPXdiA37
 1vnkjDTmH06NcA9k+KGubrWOe8qraYDCgx8A3amOXjkkJbhKxSw=
 =5JHX
 -----END PGP SIGNATURE-----

Merge tag 'memory-controller-drv-6.19-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into soc/drivers

Memory controller drivers for v6.19

1. Tegra drivers: Several cleanups (dev_err_probe(), error messages).
2. Renesas RPC IF: Add system suspend support.

* tag 'memory-controller-drv-6.19-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
  memory: tegra186-emc: Fix missing put_bpmp
  memory: renesas-rpc-if: Add suspend/resume support
  memory: tegra30-emc: Add the SoC model prefix to functions
  memory: tegra20-emc: Add the SoC model prefix to functions
  memory: tegra186-emc: Add the SoC model prefix to functions
  memory: tegra124-emc: Add the SoC model prefix to functions
  memory: tegra124-emc: Simplify and handle deferred probe with dev_err_probe()
  memory: tegra186-emc: Simplify and handle deferred probe with dev_err_probe()
  memory: tegra20-emc: Simplify and handle deferred probe with dev_err_probe()
  memory: tegra30-emc: Simplify and handle deferred probe with dev_err_probe()
  memory: tegra30-emc: Do not print error on icc_node_create() failure
  memory: tegra20-emc: Do not print error on icc_node_create() failure
  memory: tegra186-emc: Do not print error on icc_node_create() failure
  memory: tegra124-emc: Do not print error on icc_node_create() failure
  memory: tegra124-emc: Simplify return of emc_init()

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-25 09:24:27 +01:00
Arnd Bergmann
d30c7cf491 Renesas driver updates for v6.19
- Keep the WDTRSTCR.RESBAR2S bit in the default state on R-Car Gen4.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCaQSESQAKCRCKwlD9ZEnx
 cHT9AQCDNPePCxys+cJiV7Z8vchZvIK4HhREtdZh5LVlrLx6WQEAh2Gk6QVa8ULs
 ZFfoqcxPHV2NK1O/G+uFxUrm9VRNSQE=
 =mCfo
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmklZ2sACgkQmmx57+YA
 GNmY3A//eMPfIICzEc3Y5celWIa2IsRpU3T7LGdSTX2VzFN89GQyz2Yt3invRwbl
 7EJXUsqHBc7Koeeet1zKfSCkFTLhmN+W88l7n6xEzcCINhw6SSvNmjRHL1l+jqxr
 0u3YF57iXJ7t5pQ7ISqsUP6e9MwBBoWl8G2euWhDEwBARXEn/l6yjzXqPDeijeCB
 d0/KK0Xf422UVIdAmBCXdNqg5po0GjIzBr4Ag55oXjAhYeAFjE9irtK1kpi7xkz5
 jaPob1IBoNVT545Kb3J9hiE9z4EFNpbSa2KbtjTIXNBi9Yhb/JwiGmLrIh3dskcX
 hev8rp0jKo6CNY4RFic6qFM94TELPJvY/d+OccAHNEA+HAHYnNHKUzQWpHSns3wq
 WS9lBdIqnXDHPlkSq+HRiU8uNCsQbVrMhK8s8/CriZyf8dUZ8SNPcXT0k44eY0Qx
 k3f/qRecdM+LhqQxOpzwXNXEW7qy816/EMqIs7si1Z6ERE9yT0u6wCsRYCzaD9K/
 nS1I0RefopdZfUFEJHI6f55nMxhEsILux7Kps1h8MeGYLHBeRq+dEPRT4D62XJI7
 IqGIKoh8PDIxcCRVSm6q1yDR5sHn5nkenz0yMO8mP73TcHl6XOIkjFicQKaroa2S
 8uDFga/7k3AyFVXLmePY59LPRxyS/f4DwTYeZ18wWDqCkGzX2jg=
 =wE3h
 -----END PGP SIGNATURE-----

Merge tag 'renesas-drivers-for-v6.19-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/drivers

Renesas driver updates for v6.19

  - Keep the WDTRSTCR.RESBAR2S bit in the default state on R-Car Gen4.

* tag 'renesas-drivers-for-v6.19-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: rcar-rst: Keep RESBAR2S in default state

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-25 09:23:02 +01:00
Randy Dunlap
73029e73cc x86/cc: Fix enum spelling to fix kernel-doc warnings
Make the enum name in kernel-doc match the code to prevent kernel-doc warnings:

  Warning: include/linux/cc_platform.h:106 Enum value
   'CC_ATTR_GUEST_SEV_SNP' not described in enum 'cc_attr'
  Warning: include/linux/cc_platform.h:106 Excess enum value
   '%CC_ATTR_SEV_SNP' description in 'cc_attr'

Fixes: f742b90e61 ("x86/mm: Extend cc_attr to include AMD SEV-SNP")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://patch.msgid.link/20251125022730.3163679-1-rdunlap@infradead.org
2025-11-25 09:17:13 +01:00
Wanpeng Li
32bd348be3 KVM: Fix last_boosted_vcpu index assignment bug
In kvm_vcpu_on_spin(), the loop counter 'i' is incorrectly written to
last_boosted_vcpu instead of the actual vCPU index 'idx'. This causes
last_boosted_vcpu to store the loop iteration count rather than the
vCPU index, leading to incorrect round-robin behavior in subsequent
directed yield operations.

Fix this by using 'idx' instead of 'i' in the assignment.

Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
Reviewed-by: Sean Christopherson <seanjc@google.com>
Message-ID: <20251110033232.12538-7-kernellwp@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-11-25 09:15:38 +01:00
Arnd Bergmann
feae664d3a New boards: QNAP TS233 (2-bay variant of the RK3568 NAS series) and
Asus Tinkerboard 3 + 3S.
 Additional peripherals enabled on 100ASK DshanPi A1, Orange Pi 3B,
 Indiedroid Nova, QNAP-TSx33 series + LED states on Radxa boards,
 power-domains for the previously added RK3368 display components.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmkk07cQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgSbNB/9Yp0zMIh32zhhsgOC6rjsFJFRDpriEogij
 5YjZIHdYcScPcufMB9CfpwKzEXf40TP6x5xxkyaaEc6rZRTCBD+7XC5J4t2xBS0I
 aIvl4RuRs1xb5MkWccoJP/xVXykWIaBju6I+Feqzt6O6KRoNJd+O/N4nkPazIF1F
 6bvJrD5vLkl2vWBO1VCUBzGOMGiSwKUJf8uiUeTHHSuEn+O1xGLrQkvgUQOFrBnH
 IC3OORMT0u3yQujblr1/B8KCaUeuQIRHlLH8IjEoJUvRv1ay5pNc7s0NYrgHrzRZ
 H+DcT65hhwhq3pqA90rEusU9RBZp5MlQ6T1Jv7Z4M3GRXsTduW+1
 =yhUe
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmklZT0ACgkQmmx57+YA
 GNk6mhAAoy/vBNndqCNuRQqup8ApuAP+ojPEB7CvU6qE9IIfc9R4S0GRAj46PVw1
 V3jLuU7uxv11EcwQ+AaGxREG8XtYV5tWAiNN0XlTZ9tEup4tZ0nshafgphVekI11
 2CmJDiIOSvHVaVBFqdEft1rxZZN0M6+G6GNe14nbZM2VcRb7fnIBQfBs1Cf3HRlM
 RaUZrXeHt6bvSBljGi7JXzHiEVxY+vIAboOlfIhzOWlsUd/EcILRa9BRMC0MiHUz
 JkTWBSPxf2OmCpnD1nOIhk1KCExve7DPpJPpusi63pUkMSPi/PeYnuwevmvozJc9
 IHBRXsk7ztuZbceYQ/6Md2ue+RoCFFeMATPE2DWOl4+pAjYmQMeqxqQdievcTbJX
 Z9HBYxtuhZIujapgIEdGmIQ0eF1r7HUcvyZiuVUhrwg2rS03ss7NLsCsW+wih/Cl
 peGPLqLUH0tDChyBXzt7eaMHbx7jixpkbrLUN58E4GCb7V3C/4kZ2DmbugiSdKjs
 vKWpFeKymiYt3fEkwuhxwCR/j3W4r2JWhhT7qjj5yRAeOFdMj7hF0wyFd6bJFzXF
 a/bu62eWtAuygC5ffzj1ifbDwcUTib22xkOe7vTSB1B63HE2PAueXpPGBDQ8kejn
 Q1YPU53FZBZjX3GdWmcJr6PPfW+SQnM3i1EXtVgz5oFMpS9TOUk=
 =xuz3
 -----END PGP SIGNATURE-----

Merge tag 'v6.19-rockchip-dts64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt

New boards: QNAP TS233 (2-bay variant of the RK3568 NAS series) and
Asus Tinkerboard 3 + 3S.
Additional peripherals enabled on 100ASK DshanPi A1, Orange Pi 3B,
Indiedroid Nova, QNAP-TSx33 series + LED states on Radxa boards,
power-domains for the previously added RK3368 display components.

* tag 'v6.19-rockchip-dts64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (22 commits)
  arm64: dts: rockchip: enable RTC for 100ASK DshanPi A1
  arm64: dts: rockchip: enable USB for 100ASK DshanPi A1
  arm64: dts: rockchip: enable button for 100ASK DshanPi A1
  arm64: dts: rockchip: add mmc aliases for 100ASK DshanPi A1
  arm64: dts: rockchip: remove mmc max-frequency for 100ASK DshanPi A1
  arm64: dts: rockchip: Enable i2c2 on Orange Pi 3B
  arm64: dts: rockchip: Use default-state for power LED for Radxa boards
  arm64: dts: rockchip: fix PCIe 3.3V regulator voltage on 9Tripod X3568 v4
  arm64: dts: rockchip: Add power-domain to RK3368 VOP controller
  arm64: dts: rockchip: Add power-domain to RK3368 DSI controller
  arm64: dts: rockchip: Add host wake pin for wifi on Indiedroid Nova
  arm64: dts: rockchip: Correct pinctrl for pcie for Indiedroid Nova
  arm64: dts: rockchip: Define regulator for pcie2x1l2 on Indiedroid Nova
  arm64: dts: rockchip: Add clk32k_in for Indiedroid Nova
  arm64: dts: rockchip: Add Asus Tinker Board 3 and 3S device tree
  dt-bindings: arm: rockchip: Add Asus Tinker Board 3/3S
  dt-bindings: arm: rockchip: merge Asus Tinker and Tinker S
  arm64: dts: rockchip: add QNAP TS233 devicetree
  dt-bindings: arm: rockchip: add TS233 to RK3568-based QNAP NAS devices
  arm64: dts: rockchip: move common qnap tsx33 parts to dtsi
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-25 09:13:43 +01:00
Rob Herring (Arm)
d86a4e6458
arm64: dts: sprd: sc9860: Simplify clock nodes
The various "syscon" nodes in SC9860 are only referenced by clock
provider nodes in a 1:1 relationship, and nothing else references the
"syscon" nodes. There's no apparent reason for this split. The 2 nodes
can simply be merged into 1 node. The clock driver has supported using
either "reg" or "sprd,syscon" to access registers from the start, so
there shouldn't be any compatibility issues.

With this, DT schema warnings for missing a specific compatible with
"syscon" and non-MMIO devices on "simple-bus" are fixed.

Reviewed-by: Chunyan Zhang <zhang.lyra@gmail.com>
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20251124210031.767382-2-robh@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-25 09:13:11 +01:00
Thomas Zimmermann
eb76d0f555 drm, fbcon, vga_switcheroo: Avoid race condition in fbcon setup
Protect vga_switcheroo_client_fb_set() with console lock. Avoids OOB
access in fbcon_remap_all(). Without holding the console lock the call
races with switching outputs.

VGA switcheroo calls fbcon_remap_all() when switching clients. The fbcon
function uses struct fb_info.node, which is set by register_framebuffer().
As the fb-helper code currently sets up VGA switcheroo before registering
the framebuffer, the value of node is -1 and therefore not a legal value.
For example, fbcon uses the value within set_con2fb_map() [1] as an index
into an array.

Moving vga_switcheroo_client_fb_set() after register_framebuffer() can
result in VGA switching that does not switch fbcon correctly.

Therefore move vga_switcheroo_client_fb_set() under fbcon_fb_registered(),
which already holds the console lock. Fbdev calls fbcon_fb_registered()
from within register_framebuffer(). Serializes the helper with VGA
switcheroo's call to fbcon_remap_all().

Although vga_switcheroo_client_fb_set() takes an instance of struct fb_info
as parameter, it really only needs the contained fbcon state. Moving the
call to fbcon initialization is therefore cleaner than before. Only amdgpu,
i915, nouveau and radeon support vga_switcheroo. For all other drivers,
this change does nothing.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://elixir.bootlin.com/linux/v6.17/source/drivers/video/fbdev/core/fbcon.c#L2942 # [1]
Fixes: 6a9ee8af34 ("vga_switcheroo: initial implementation (v15)")
Acked-by: Javier Martinez Canillas <javierm@redhat.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Cc: dri-devel@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: amd-gfx@lists.freedesktop.org
Cc: linux-fbdev@vger.kernel.org
Cc: <stable@vger.kernel.org> # v2.6.34+
Link: https://patch.msgid.link/20251105161549.98836-1-tzimmermann@suse.de
2025-11-25 09:08:32 +01:00
Thomas Zimmermann
0a8bc1d03e drm/client: log: Implement struct drm_client_funcs.restore
Restore the log client's output when the DRM core invokes the restore
callback. Follow the existing behavior of fbdev emulation wrt. the
value of the force parameter.

If force is false, acquire the DRM master lock and reprogram the
display. This is the case when the user-space compositor exits and
the DRM core transfers the display back to the in-kernel client. This
also enables drm_log output during reboot and shutdown.

If force is true, reprogram without considering the master lock. This
overrides the current compositor and prints the log to the screen. In
case of system malfunction, users can enter SysRq+v to invoke the
emergency error reporting. See Documentation/admin-guide/sysrq.rst for
more information.

v2:
- s/exists/exits/ in second paragraph of commit description
- fix grammar in commit description

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>
Link: https://patch.msgid.link/20251110154616.539328-4-tzimmermann@suse.de
2025-11-25 08:43:48 +01:00