Commit graph

1,264,717 commits

Author SHA1 Message Date
Christoph Hellwig
f467b48e38 nvme: cleanup the nvme_init_integrity calling conventions
Handle the no metadata support case in nvme_init_integrity as well to
simplify the calling convention and prepare for future changes in the
area.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Max Gurtovoy <mgurtovoy@nvidia.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
2024-03-04 08:24:55 -08:00
Christoph Hellwig
f404dd928b nvme: move max_integrity_segments handling out of nvme_init_integrity
max_integrity_segments is just a hardware limit and doesn't need to be
in nvme_init_integrity with the PI setup.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Max Gurtovoy <mgurtovoy@nvidia.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
2024-03-04 08:24:55 -08:00
Christoph Hellwig
1b2f5d5d28 nvme: remove nvme_revalidate_zones
Handle setting the zone size / chunk_sectors and max_append_sectors
limits together with the other ZNS limits, and just open code the
call to blk_revalidate_zones in the current place.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Signed-off-by: Keith Busch <kbusch@kernel.org>
2024-03-04 08:24:55 -08:00
Christoph Hellwig
63dfa10043 nvme: move NVME_QUIRK_DEALLOCATE_ZEROES out of nvme_config_discard
Move the handling of the NVME_QUIRK_DEALLOCATE_ZEROES quirk out of
nvme_config_discard so that it is combined with the normal write_zeroes
limit handling.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Max Gurtovoy <mgurtovoy@nvidia.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
2024-03-04 08:24:55 -08:00
Christoph Hellwig
152694c829 nvme: set max_hw_sectors unconditionally
All transports set a max_hw_sectors value in the nvme_ctrl, so make
the code using it unconditional and clean it up using a little helper.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Max Gurtovoy <mgurtovoy@nvidia.com>
Reviewed-by: John Garry <john.g.garry@oracle.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
2024-03-04 08:24:55 -08:00
Arnd Bergmann
6b5fad59fd Arm Vexpress update for v6.9
Just a single update to add stdout-path in the device tree chosen node
 so that the system console can be routed to this serial/uart port.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmXX+a8ACgkQAEG6vDF+
 4pjkkRAAhffLwy+6xyEHikyAIc6dwDPV2I0Kzlf4KtOG0d6dM1d8DFD9qiPh8fdX
 h+ceFRiTjKJyuHgHERKcoLiRs10PKWUrZlIHVU7LYe+R9lp4ZMdmqHUTqRAMkHD0
 qUlFZ0YdbVpOZO7XdQboMfoXpYIPYCp/AloU7tUV+9BrxUoNTbcJj74e/ru+XOPK
 cdze5ph/Uw5mofZJLO8wdDm33hAiIdgf8PhRwGlf1i3bIbkvaIXGKWXQ4G07Ir+T
 llkH1fRGkDG8kIBRMM4mi4CbrymnqQB0oCdWNKv4dQy0NIbS56T4eMK7zlD1G9qf
 vaXtQ9N7AVuPCrua3Sz5Om/rPH1oIbpGGP4cnofWzM3kM0IsN9o+fbRJopM0IQby
 WbTIWq7Fums2I0kO2uoHHIwJqQyyXaYHX6F7XQ+zxN+/EmOTyrD//rMDtn+VuorH
 PGN9W2MzFcZRdE67cjsNxiyAOiGwJyUsbysSFeN/CGFbLB6tM6WdzK5w8/lQS1Qe
 kIN1omM0/DHkAHOY/b+C9UefddQkUFnqD9RdKPXnnUe6HThezPTAcj2k0SH7LpLA
 ExrvLaEFLseV2wE/Fwp1+v5zleCCksGsOpz6rwPlGa5l3eR2fMfz9R2mAZUJYoSl
 GNnakcWaXVefKpc1zsrjhkJYkdoH++XdlFvhjgNaolYw6soY2xs=
 =96Xc
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl9ZAACgkQYKtH/8kJ
 UidwOg/9HJXbWfqO0MMPsXvL74YqTrabBy1S30q/ILEyoYoeyZJXln5sY3Lnw+Kj
 SAPkRL7MR1l2mKcZta+lfo6u1+ZqMfBjWqeEwVMSqYqZFANbWc+dry7twocUCA4b
 bNNILEncVNn8k8RV8/JM1N/u43JtQiGk5EOtbB0EgBHZKAAiJzLDRfvZKbLr5AVf
 hXffHL/viDZ0nkZ4ht23GGpLMtlXXsUIETOjsYjZEh/RA2czUpQ7ZAF6hA8pCNGt
 Fb8M6R15vIhQuz+iFKjuc/ZDKTdyMhFb3Xq8EHJN7qLl0Emy2ygPhS3Mp4VdKs3U
 DAnWuMX1wEqh1fgByoIU1ViMNfHuMTZh4XU/jrGG9kL4dhArhaGcSpQ8VXHVuj2I
 AQXhK/1BNcXeGFldrFIguu1QG33Axz21rtzv6z5EqJX7WefSE8fMLPyLj5YwOdFc
 m94uPCpTsJ4PIgQqYdjYyILqZZ7WMuBZXErFavXodlrvgPEkW+hAF71Ux+9tJli0
 lG6mGQe1FKcxCHSw4L1Hg3mtTqv+o7ZnySzdPMHkmffQ86RDVhdJbv0GdeVTj0IR
 0+C3JhmckP+yTuVR1Orn8ol0JkzEiAPW7Gvf8by/bNtjbmPp0JQJYJNigYheB9iH
 sJevIkpAKO1L5+5K02q2XELjAoDCSny1Y1saGXn6W8eXvWRoJD4=
 =7Q/S
 -----END PGP SIGNATURE-----

Merge tag 'vexpress-update-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/dt

Arm Vexpress update for v6.9

Just a single update to add stdout-path in the device tree chosen node
so that the system console can be routed to this serial/uart port.

* tag 'vexpress-update-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  ARM: dts: vexpress: Set stdout-path to serial0 in the chosen node

Link: https://lore.kernel.org/r/20240223033307.117906-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 17:23:43 +01:00
Artur Weber
784c93e3ca
ARM: dts: samsung: exynos4412: decrease memory to account for unusable region
The last 4 MiB of RAM on those devices is likely used by trustzone
firmware, and is unusable under Linux. Change the device tree memory
node accordingly.

The proprietary bootloader (S-BOOT) passes these memory ranges through
ATAG_MEM; this change allows us to have the correct memory ranges
without relying on ATAG_MEM.

Tested-by: Henrik Grimler <henrik@grimler.se> # i9300, i9305
Signed-off-by: Artur Weber <aweber.kernel@gmail.com>
Link: https://lore.kernel.org/r/20240217-exynos4-memsize-fix-v1-1-7858e9c5f844@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 17:22:43 +01:00
Arnd Bergmann
cceac3f06f Keystone2 device tree updates for v6.9
Cosmetic cleanups:
 * Replace http urls with https.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmXlzdQACgkQ3bWEnRc2
 JJ2VURAAmKbWM8enGyaC0k5i4HqYmwFIm6F4bFD10yQEr4b2JbAUmZzXlhsJlksX
 yWHB+SByn4qK6D9o1XapfQJAMlOp/bH6G8jqhXqvfVZG9kckLDlJyKvxI6ieXZWm
 sCS7l+Qv+bVtmJuqOP2c70t1+J46t9uPBBTiX4Q2QF1GnYgUxo8aFE54B6a31ThA
 0VcIYHMhYEjWj1bU88Vwc4fNJMq3g60TIkL3Vp2qR3AROE1AAGbgLR5HJz4L/cxA
 Xv0flHyvWnXEctPK9UFKqtpYxwV4SvYJ8g/LsoZXS0/6rMH1Uii/1K9hp34bKqAn
 g0gsV0eIIvTtPLpErUHx9ehcBE/eYaUId34AU6x77o4ivac6SnVJqnQ+GqA5HvfB
 OBYAyRgkBFE9PDJnJV6LqE/5hEyzPS1LKLxKR48SEH3bP7u2SKVfktBjBNtRN+q6
 t3nL685uTY43qVdPQUav7KRSxAJ2CxyB4gqdYYzRf2brA2fUb04rOQYFaMX1WvAp
 7xf5l4sd7I3nF0V/74JrDEhgIJ64k71NNMLP4tuPNy7E3odeuJpQvSylvlTJegxL
 V2QDCJd3yMCrYDEwAs2Aba2eq9yp9eAYtNsP+5izblRwqfYs0+lSE+fhEBCnSFQV
 QVUrWoWCsNRvO+BMOFcUDvOo3ezyasyeDtd6aEThZtM1OJT2u3s=
 =BAsQ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl9T4ACgkQYKtH/8kJ
 UidiSQ/+LLqXHv24RNOq0sVa0CPpdqsGuE7eKMPOpxu8eDJW30Ag8EI53kzs0cqQ
 BJQT+Aue/Y8UYogWVcH7gywCU0SOf/kDW9TjK48GQqk5mfNWxKjzFkEWJTDi2sJK
 PsNKXxRi0ZyCU8+YDQpRvJi5215VCVn/Hd1Klj6sIHYN6mluwiIvbbZbTdhwsWG1
 LbtNBZPLd2o6ffhqMvFZdgqizZJE0V3YtpHbxgLLWDVyx/YA6EITLMGBbAjI9MI/
 GpVMMZq7i8WlHDyVTEoN3v6dMXHB1If1jYIvRIl/e77Qx5tAcWqSshhpSWsNcmYJ
 ULeBVE1P7w8paNsY2corcgx9AFikwW11k59q1Fhh8yb/6M7lLw7FsLj1ADm2oquL
 r6E/+yRvmi6AuUrdXichuXV+g0JQhCBcXXLW6bCbCzvZSarqNlx27OVv+ng7LyQF
 XtKaCb8U72bKDY7ul2LOT7nVdk8h3eOoNrsAUEu7bw4n/3nAZRbFcbus8BIOOh03
 5Tujm6fseJ5UhOESgPXUrpGuUtezLbTntf/KfIi80Wq+3nhXAcfdxYF0T6DqCvUR
 Bhsj7iSGJOdcvyEcwkjKGKncv7iCEK1SNx5h7mS0+VSU3pcKS+hDVhTdXgL4fksR
 uWcEqKpsJeX/1nFQkph0pSqcWcckkDBQZSzLFlRMuvXWeKl8vKI=
 =8bUr
 -----END PGP SIGNATURE-----

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

Keystone2 device tree updates for v6.9

Cosmetic cleanups:
* Replace http urls with https.

* tag 'ti-keystone-dt-for-v6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  ARM: dts: keystone: Replace http urls with https

Link: https://lore.kernel.org/r/20240304133843.e6rm5va6w4oavgoy@posted
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 17:22:22 +01:00
Arnd Bergmann
758f836f9e Enablement of the hdmi phy-driver used on rk3588.
-----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmXjF9IQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgdgyB/91Xhl7zIvnczk6cHG7LPsFIK3gmNd1Ccmo
 mQPLL1MCdCrmTbpUaM9lDcI/n+lF1K7eRUWrLX0ZkOm3y9vs0iT/YHX4sTL8I8BQ
 NVki37l9/yqMQ3OmdIDQYStET7k+0gwNfW3bc27UeYi+SJgqDWDEAFoBCsUSwM6Z
 Vx6aozxbhVKbBVYutRZagBA8QONuFIZDNmifEWcY6EgaLRP1ZFQvxBti2BZMgsoW
 A3KD5zSLINjq8SZITwpaNWqCiEpg3LZ1rfiVVRp2wSdAjBGMf5k3cIwbzzCYuGHT
 nn1/hwKeTIfXDn764Gtc7T0QrxNv+5/DCP5I8e8mck6vLlkRP0TE
 =wXaH
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl9LsACgkQYKtH/8kJ
 UicGLRAAkYCH8vXGm7E2aaXQU37gSjbXE18itH384zlnywUySLxcdj4qxl/h49yb
 2SQZuiLuHq6XeX+U2D9JcYSqITu3xs7VK7v1+FP9bEhBey7cS8cW2qbQjPx03ZMk
 1Ioi0lbyMQsHZ9ciHYy+tIypPCuy4n/SN7WMGij3TJK7ZmTwpiEJulGMLgbcCAfh
 UFayimLnxKICFM/3c/PkiVKOtWzrG77CTqAhoIVTE2mwYNkGrv0kIv9mc7ILfBQS
 rBpPt6Hshn/vCwdjNVUPOy9eYD1IfuIP9RB32ipMTwnatqd+nkEmW0OeL1zvjhqP
 J8EImUlBMH+N4WUmzIpME2zdnRl+7y34PkMqmkqaW8PWrxjf+fDXBQ1fQ14IgN6a
 LZKne1IEKf6OsPbkbc+LQnhXq4t1DqJkd5xfh6awoCbZEnlq5nsTGLrhTj3RTyit
 gH3/aKMTx5U2Cua/n8miofpC2U+AvMd7Odiaa/15Z2zdnNnh0intgre2F784C60y
 Q9Y0X3v4agZUkXpCA7xH3DtV7EOujG+ILfzcr/pW6m9uO8OEraqm4AJGby4EVmv6
 UN3Ld/Sy5S5PYJ84mp8biA8aqys5iUKx4g3zFKEmot71VtXgh2QmGEBVJDTsc7Ma
 TXTDpKRJ9qgrluwxTnZxPWEU6saSNqqN6l/4WbCuGJrziTmc8d0=
 =6fSt
 -----END PGP SIGNATURE-----

Merge tag 'v6.9-rockchip-config64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/defconfig

Enablement of the hdmi phy-driver used on rk3588.

* tag 'v6.9-rockchip-config64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: defconfig: Enable Rockchip HDMI/eDP Combo PHY

Link: https://lore.kernel.org/r/14841602.uLZWGnKmhe@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 17:20:11 +01:00
Arnd Bergmann
3251c2c2b1 TI K2/K3 defconfig updates for v6.9
- Enable Wave5 encoder/decoder driver present on multiple K3 SoCs
 - Enable K2 boards via multi_v7_defconfig to move away from keystone
   specific defconfig.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEEyRC2zAhGcGjrhiNExEYeRXyRFuMFAmXdqrQQHHZpZ25lc2hy
 QHRpLmNvbQAKCRDERh5FfJEW48gfCACh64XpNxWBzEJYjCmG9TS+3hrVYY1oMGsX
 Rq/MZr3Kh2mYtwj4oNYJx4Jn0Do+SjUbg0xGfq0LEyY30LPJXtR9GscZd/AK0IJh
 kVutNjkER3rD6W5lWFkxGDLwL70vj2scu9exJGYPPE4KrQt98EFCqBlHWdV6J0+2
 qtxEx+hQHZRpEhg6UhlfuameYGE0NO16ojzpS0x3YqtrBRYY379rOkpxenoFrNJS
 IM2DkF4mNaUFOEXXF+0JzzejmMNqsvFD7zCrlahbfqt+RzrY2MY/XElgBRRZIjgy
 G93YRnxMBdAVmLNFeEV8eFPWr0+N5+bIyHFARcyDOt9afaQeSORW
 =kDyn
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl9FsACgkQYKtH/8kJ
 Uifr5A//Zd8O7wkB15enqV1GteGrAJ3jDpZb1Fzt4C4/mABO3eYvQaUtYUInQHcH
 6bR4lkg1LYbWmN/bOK+RW2hKB8vmvQWddv2t4OWQJhYeqcKHjN4ayeeSRWACP4Ip
 aWLQ1m5wIvT9n2sJlgVin8HV1YATKxV99y7KY8UYUXUz6t2mz+r//INkxSzDmQ6e
 gs3C6kYoRzfcthIpxsIeUIEQYQdE5gywZuBJYAsM17rwFeNmjTIATALUhpMWK9eR
 jZ8TNK+lYLfc0HVAux/Q4TE/TGM6NwZZJWDZym4q8BjB+xVyIfPiGKAtwVpV8mJG
 raTEeeNBywQ2TFB4r/Pdeq/Keih2jKYlrCbpJuUHyG46j0wAg45BeUQ/pJC43JaK
 GciMg9zPvbTrjUSfkpin7Vq5pvp09l1U/ow/MMQ4S6BYpbmbxTONGY/jY/wjAMqP
 TM04ZvJmQbN0cbXlCxVPb6gy7Zy0DMevYMtJkGAXJ7JchDT3Av5JrBc7cO0VYZcw
 9d4XFaL2SCb0phKv1PrUQRL8eFP6HKau5Pvl856PkkEbvXiHpRf8zzxt5BMl+FNI
 nm6RxXKL8h66AUgZM6Xd6W95CUq1txX7/672EivnHqqpD3uLTP+PWwdEUbDLi5hv
 CjP5vhwOFDyBtUI1UIype8AHIL4w1uq6Za5QKCHpteozqYU+rAI=
 =xU2r
 -----END PGP SIGNATURE-----

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

TI K2/K3 defconfig updates for v6.9

- Enable Wave5 encoder/decoder driver present on multiple K3 SoCs
- Enable K2 boards via multi_v7_defconfig to move away from keystone
  specific defconfig.

* tag 'ti-k3-config-for-v6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  arm64: defconfig: Enable Wave5 Video Encoder/Decoder
  ARM: multi_v7_defconfig: Add more TI Keystone support

Link: https://lore.kernel.org/r/a555943a-45d0-4e8e-ad25-682638cfcff7@ti.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 17:18:34 +01:00
Martin Jücker
a254ec05ae
ARM: defconfig: enable STMicroelectronics accelerometer and gyro for Exynos
Enable STMicroelectronics accelerometer and gyro drivers for the Samsung
P4note device family in exynos and multi_v7 defconfigs.

Signed-off-by: Martin Jücker <martin.juecker@gmail.com>
Link: https://lore.kernel.org/r/20231221230258.56272-2-martin.juecker@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240227080755.34170-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 17:18:01 +01:00
Arnd Bergmann
e333d604a6 i.MX defconfig for 6.9:
- Enable VF610 GPIO driver for both arm64 and i.MX ARM defconfig.
 - Enable i.MX8MP LDB bridge and i.MX8QXP support drivers in arm64
   defconfig.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmXcBwQUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM4dvAgApsBhXGizW6hv9ETT7xx6PnosoVRC
 E9gFk2AVQcuFR5yaz9yyPdzyEIRYkzo1nHr2qLersdichDjCQ6yiC7TucGDQZ4D+
 1pnPkBUcN9DcL0Y9xOl9BjXKbB+LyTUkl1RHWVhH2TgWSFK4cu/tnaQUvExKd38r
 2Cjj7J+For62nQnDWIlA5wN/Gtb4Ro/+iD1dDqROf5BGQtfxOqZFt7fLSJ/q5sU1
 YKYoOYcnFpgLT4pBaIaWFz71+2tA276B9EggGMTski5IlcuENuXdk8LbPE5Z1OQ6
 gJ59e418Sw9H7a4c5fDe9zv5OjQyJsUfEZOK2QgohRBEvUFlclnCpH9/FA==
 =wWnZ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl9A4ACgkQYKtH/8kJ
 Uieang//Wh97bMHAYVlPAiOSmZz8RphGEMaT152D1FF/dPaZlSdI5Z42e9CcJ2+G
 Ij9bGv9qa7p3N4mUf5ySxR8yqNChFPABMTvUgsBZ1oolALYgoj7BVKp4aJ+3Rqtj
 AgX26sL/694Bm+gDppqpngSsEVmSVqpHCGxxXFM4vk0Aziz447zM6REVhi1T+eld
 X0d+ASvU5NIyWQTe+LY/+NDDr8XBjU0CzI437OIcrISns1McwKFlyS6TIXs1v/Tc
 bMjzVBfXDgAxI+BF28S9s4J76mPBOgdqG/uaayfQkjOqG3sQYntu+eeOU+HJub5U
 jsJHkaBm2OesBXxKziErwmJJkISE6zyNMymeQE/gw7gIRqwt/EewYh53JHvMdEQk
 6v7mM5tu5r6YOLUxZN3wvLD1iQ3U4XFpdsjmx6SNnAKSfG+OVkjh16Cl4T1mrmIs
 Tg74KrSdVoF8Xl+9oRjbMeN8y62aDb6rxew+ewBOogR2Wq8vHp+8MnTIa2/uLl+7
 maDW+VrsKUG89yeBWdw2EAOeTzFyLe+GYCZzdT6UtvJgwGnb5JYIVFn+bBijUDUn
 y7Oe3xY6zeyo4YwRX7TS+246UyJYGM8PxzPrLaib3jEuFSdRYZnMku4ELqkBJiL5
 0mOp9gyMqonMPAl963IEYuPwGCLkIze04AT9CHZTgZ90cr4Zr94=
 =dksa
 -----END PGP SIGNATURE-----

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

i.MX defconfig for 6.9:

- Enable VF610 GPIO driver for both arm64 and i.MX ARM defconfig.
- Enable i.MX8MP LDB bridge and i.MX8QXP support drivers in arm64
  defconfig.

* tag 'imx-defconfig-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: defconfig: enable i.MX8MP ldb bridge
  arm64: defconfig: enable the vf610 gpio driver
  ARM: imx_v6_v7_defconfig: enable the vf610 gpio driver
  arm64: defconfig: Enable i.MX8QXP device drivers

Link: https://lore.kernel.org/r/20240226034147.233993-5-shawnguo2@yeah.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 17:17:18 +01:00
Arnd Bergmann
70881a7209 Qualcomm ARM64 defconfig updates for v6.9
Enable the Qualcomm PBS driver to resolve the dependency from the Light
 Pulse Generator (LED-driver) on modern Qualcomm platforms. Enable the
 X1E multimedia clock controllers, to provide clocks for the various
 multimedia blocks. Enable Global clock controller and interconnect
 drivers for the QDU1000/QRU1000 platforms.
 
 Enable the audio drivers and the Goodi Berlin touchscreen driver, used
 on SM8650 QRD.
 
 Enable the MAX20411 regulator driver drive the GPU rail on SA8295P.
 
 Lastly mark the Qualcomm interconnect providers that feeds UART
 instances as builtin, to ensure the console exists when userspace is
 launched.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmXasrMVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FW6EP/0D3LwGPs/3scZMSWsR5nKsAWc10
 ul5LiPGF8xy0lYP9CvBTc4XjhvsHHWWN+CfEiloEFEhYvxhbhHRC4M/92AjwuFUp
 wRnjEMPYD2k7jeMoT2Vn2/OY4tuXuuqYXu9R3AC2JSsOz6qvrV8dic+TpLVIK8lR
 QN72oWnEHMD/sCicADOjQqBAUtL9+sq8BoBKZrx0Mkwp2KO44TYaCnUUp6pE+xJG
 WHtYljTthCR9BSyGBgHfHPV2jFMGXDPDJw2Tt8ilCe9C6hx2t6pTE8B+euSK3L/d
 yGQF9ifE9aL7VCmNoM2JdGOlfd0QYO4qJ6nryTeg173EPU8suEUuk0eedriGxrtH
 SaNk5YwjwF6p4sur//hEbZeVnj+BYc8RftZ+/aXC41ILPXzxkY4X3fAou1TJD7jm
 3qVtJVYMqvD6OuIX+SSMTztWjm0tlNyuIL0cuY+Hix8Xti2uLY9hZERI4DF0zydp
 tfV3M27do9aM+ACfXjvPUFLaTvK8jsDrOr3/FJvYRbTivfULkjz5jxrVpxO9hddD
 rd4l1RDgrlTEC7Ziv7YBNJxC2nzC6Ml2fGAlG3uxYhGd/qdWU52aoO6FMBOSWwBN
 C5pflswQubzm7Q8iDUnd87+vqSp4u2cdfcqIMGr+JOpgkf2wDk7PMWI1Kf8HhFVk
 Oy2n4HQt2BxRpLXF
 =FjXL
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl89kACgkQYKtH/8kJ
 Uid0Aw//b9N00a2q5ddqAX/PCx0kK29izvC9AJ8Kx42FJ8q1kAKvT1uN6nmYlTO4
 5v2nvTYBEmpqMZedPaOBBclgvRMhwS29xC9QisFcrlZ+W+F6uHE0Jd7F9ifD+1Y8
 veyHylsB65tYGC7wBV0tQMqZYior5BF2eEoEKLe9QqUBlICpoJb9uN74z/pLFjN0
 4Kwk7iMp8wFlXid8jHE53mJGC+eKqb22kut9cQ01m1zyzsWOC/K+4ORpIrblZOOO
 SW+sAf6QZeVLQoA25FLkmUbUBAR5Mgrf5YSf8eAbIg3u/Dc7JGNyr+9RnCwHuido
 QJYXqvVQNq7XFKUGyb5SgSJhCvE5njDIMCPUN4Id1kqqYL2R3mtf9D3SCmyNISKe
 PwsMQTTbsBUNUbtcWQA9OQORb4B1vo0ICmyv+oLn43YZAeSlCaOteqa6SoObpX26
 J7kZwb5kJqD7266ZcRK0ukFHVi5qt+LmKB/CFWLuWW52EtOJsEzXBRmJyqyuLn7P
 Mw9R8CHMEq1w0V7NanRV5kWFebwony1NeUxRkkW4nTA/9xrevwmSxvewTuPD/UC7
 cYrWnrug3/VK9sMmOZ+V0vlIeY9sDi8yDx0laO/zjZbeXwDyeAmOcDb3AAx+es4B
 9iMhh7ovlD/E1UisO196dZFHpbfB7+dbDJq992e1VGWgbS1tpm4=
 =x7hX
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-defconfig-for-6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/defconfig

Qualcomm ARM64 defconfig updates for v6.9

Enable the Qualcomm PBS driver to resolve the dependency from the Light
Pulse Generator (LED-driver) on modern Qualcomm platforms. Enable the
X1E multimedia clock controllers, to provide clocks for the various
multimedia blocks. Enable Global clock controller and interconnect
drivers for the QDU1000/QRU1000 platforms.

Enable the audio drivers and the Goodi Berlin touchscreen driver, used
on SM8650 QRD.

Enable the MAX20411 regulator driver drive the GPU rail on SA8295P.

Lastly mark the Qualcomm interconnect providers that feeds UART
instances as builtin, to ensure the console exists when userspace is
launched.

* tag 'qcom-arm64-defconfig-for-6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm64: defconfig: Enable QCOM PBS
  arm64: deconfig: enable Goodix Berlin SPI touchscreen driver as module
  arm64: defconfig: Enable X1E80100 multimedia clock controllers configs
  arm64: defconfig: Enable GCC and interconnect for QDU1000/QRU1000
  arm64: defconfig: enable WCD939x USBSS driver as module
  arm64: defconfig: enable audio drivers for SM8650 QRD board
  arm64: defconfig: Enable Qualcomm interconnect providers
  arm64: defconfig: Enable MAX20411 regulator driver

Link: https://lore.kernel.org/r/20240225032456.481112-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 17:16:25 +01:00
Krzysztof Kozlowski
82abf00ecc
arm64: defconfig: drop ext2 filesystem and redundant ext3
ext4 filesystem can mount ext2, so drop CONFIG_EXT2_FS to make builds a
bit faster.  Drop also redundant CONFIG_EXT3_FS, because it just
selectes EXT4_FS.

Suggested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240221155033.44160-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 17:15:59 +01:00
Chengming Zhou
d9212b35da dax: remove SLAB_MEM_SPREAD flag usage
The SLAB_MEM_SPREAD flag used to be implemented in SLAB, which was
removed as of v6.8-rc1, so it became a dead flag since the commit
16a1d96835 ("mm/slab: remove mm/slab.c and slab_def.h"). And the
series[1] went on to mark it obsolete explicitly to avoid confusion
for users. Here we can just remove all its users, which has no any
functional change.

[1] https://lore.kernel.org/all/20240223-slab-cleanup-flags-v2-1-02f1753e8303@suse.cz/

Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
Link: https://lore.kernel.org/r/20240224134728.829289-1-chengming.zhou@linux.dev
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
2024-03-04 09:10:37 -07:00
Arnd Bergmann
19a4eaaef2 Memory controller drivers for v6.9, part two
1. Renesas RPC-IF: add bindings for R-Car V4M.
 2. Tegra MC: correct and extend support for Tegra234 memory controller.
 3. STM32: add support for Flexible Memory Controller on MP25 SoC.
 4. NXP WEIM bindings: convert to DT schema.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmXgfD4QHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD14BED/9i59U9g50yzik1TEAQqur4FPCf0+w/qT9t
 18U+LEGIL3E5P7D4k5/0IEVV1tc+IEd8XHDyFsVqAIMcgg46u5WlATRB8G2OWrcQ
 WOF8a8/19aYdHQNIZQ20xWRiMddF9t+fQI3MSEdAdc112PSZHPrZtFWrwWRH59Np
 ZWKCeATdqUwIcfOuj5EdCw1q9rwg+GSpiMJ9sn6Oogk3NAi7DQVGr4QrQrnKoeKI
 VUw1H7On1dTvkN757IsvErR00NIPaqlXWQwfpj+AzakJbijN11k5LZQExvRvA8PZ
 iurZuysrwWjwvRiV4LfMMwQCH9clLQJr1GLaGrYiKnGlN1zuYavQqK/Hv+6lHnd0
 9QNwcGbx6Qic2rIpKAkWgI+D9v3/H/sgAkMJfeHRVpBRokFdzqLoKQ++O5tDaHN0
 ZEOzChN9GSCG3jtqiVDYKfEzDgar5WEjxiDKsRuGq8mzHgjFzxdeFmg+oc2PfW25
 X57QEg5xcppL5M/4utttH0lZElXTDjJRAXdEwZHsfbo+kX+CJMMQcE7rXsLyc8Bx
 1zxJqSGVBIyvaS966p8gHcw73tR/nAe5cy2f0x1xmauHGM+YfQEJzW3lXxs/xwh2
 lBfQ9yfSH1VcBDkhB+OXQQ81VbqLVSbnLzvWjjOfE5uOd0weFya9r2ynU/joXc5n
 gIF87CLSXQ==
 =gZzO
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl7/UACgkQYKtH/8kJ
 UicuIw/+KQjz4O7VDbkZMwrkgW90sBRbuAMdir6g1xBe/lzDGQy5ajg0Wa7G0CQk
 CnO8TuqZsaA0gOFtrwSVt6JjUqw6ZBkqgBo/LzvFEeaeqnZGxIBQj12+1f9oIp/C
 4h9LGmc6XLMLNakvOqcHXcrNo7NRhfGE/bJojbbMoJDWEzyh4hOkn+aJFbUXJ0Fc
 N9nVd1p0C9UAi/G4vNWS7QissiQ5c4EwIQV48dtWAj7+XC0p3iAqJ6pWCxOvY7NK
 te4nkapvVFvLyQK0HgMwAGoMUSrPEl3HhCL2UiyHxIyQlISlmPYFPktftN4F+tmY
 HIBXUteQurJVp3UoCSE9o99Ij6A6q0LYLB7CWhLucWA024n6YIHNaDS26SqUuHCt
 u3uW5dz5hiaKCgoAX+FMB9Zu7e9w16CVlFUXizHVRW7OWt1hH/nL7bBZoJNJgFzk
 VPVPJD0WgYTVn4XJkUD4osZoIdyed9A3JU4jOYCiMQZjLtf51Sy2blDgf1T1I2uh
 jdM9wldimftg2HHueF8HmNFkUWZX7fDpe/b9z1DIDOgPhh6orvWYY94ukOoo1Kxc
 alnDU2wOons6Ysv65h/xFIKv19LHfqbjEe/YSnt61oeFSu7At34TDR6YabSEix0C
 du2qxOHuUxj6K9TJEkSw+kTzuIIJTb9KuJZ6AEP6Cazjv4LX/80=
 =3bZS
 -----END PGP SIGNATURE-----

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

Memory controller drivers for v6.9, part two

1. Renesas RPC-IF: add bindings for R-Car V4M.
2. Tegra MC: correct and extend support for Tegra234 memory controller.
3. STM32: add support for Flexible Memory Controller on MP25 SoC.
4. NXP WEIM bindings: convert to DT schema.

* tag 'memory-controller-drv-6.9-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
  memory: stm32-fmc2-ebi: keep power domain on
  memory: stm32-fmc2-ebi: add MP25 RIF support
  memory: stm32-fmc2-ebi: add MP25 support
  memory: stm32-fmc2-ebi: check regmap_read return value
  dt-bindings: memory-controller: st,stm32: add MP25 support
  dt-bindings: bus: imx-weim: convert to YAML
  memory: tegra: Fix indentation
  memory: tegra: Add BPMP and ICC info for DLA clients
  memory: tegra: Correct DLA client names
  dt-bindings: memory: renesas,rpc-if: Document R-Car V4M support

Link: https://lore.kernel.org/r/20240229124600.405016-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 16:59:49 +01:00
Arnd Bergmann
9398cee5d8 Driver change for ti-sysc
Just one change to constify struct device_type.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmXgPC0RHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXMN5w/8D8hMaLtMzc9GmIWh175+P/xPDoj9OyES
 5lUXvzqAGeS5e/r72J3uaxHwhE745w/VILlX9ZkInNEl/rGUgHalhDh30ckPYaxE
 0JpwaZaV7l7lUSzIU3fV3NaYLrHrwo5yN0wZC751qk6Exp6RvffcPbk9kkuSbkZ3
 ihmKtkDLNaQIa5Xs8peUYVML4XBJK5CCSYoxgsyc5LbXbgdIQ7peKR4vt5MiLBv/
 7hLa+sYKGK42CKqHlS+R7j3cluQQs2yaETgvr2v4bNLaG7vtnoWC9HETY1CguuUG
 /THFsnsf0jYkTVYnxy8hSzJq1Z+AhaC6eVKl5HF/PS8Q0gr6okz0sJmQ0aMO7f+L
 GLdDFZ/ZanIamSHOH5stPJGKBO7XAVvyom799yTP/YeZL0XsR9VdNKVDlkLmsJfa
 ApehdAu8CYNTzq95qULHZNAldeHIIeSK/cLGSAAECTZNR9edXwtcakeGFN4j0dtE
 SeBqcGWA4x1QJWWcYNiC5vsdexdGcwjM93TiFmCvs9SmMbz7BcdTqP1lXQuWzGx+
 ZOv1ha/M9c0ORaaNJlBuio580BEMC6SavFN2PJsZ87PVgHB5iN/eUZpzxk1PPM/4
 n3pa5V9QImGPY+izA1XQwIrZ3AE7OSwfgnKuq5DuYJkke1+RE+f9vWFOgfF/zPdH
 ndYxo/GyHNM=
 =I221
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl73QACgkQYKtH/8kJ
 UicaQQ//T4IhHPV9CMiW2A0WzqXs9AQ6dZHcFLkRkaqp//isiI4/9c+tWKzyzRgU
 8JSv+DZMQe+pEBSvF1+zwJFnjsX+ExXte3yLftGyeUlNd9UlTmy6F6XxZnqtpJRB
 MLsmhv5Nv2QkStazcqm/hxMyQboAqSn8UNdG3ehIwIoSp0VKwJIOJZl2S4gcb3LQ
 HQi0+OApagZ6AN43eV6LK273hZUqrVyQghQxtMmtHh9T+hoU/ByItLrsMcqBo1h4
 4iggzsak6Ua21qNrQ0WkjnZS/RbN9lHFeRjUaI7oEVdaI3YrqNzOAwMwe7ySr6mX
 ecO8ZgQdtYn46HlklmEx8wnIBIqZSYTBkol6eFkLsJo5rXlecRQ22kaFyfOV5bW1
 UbQg0/a2Fapu5g1PR3smtteqctwJCTNvTxcYSwr2o/sm+q8B4QcEsatILA5d5NHZ
 YWU06BBRjdMJo1zC3yH+SxzYvJJAJPVUYyflAJjgLNGU74bhp6ncsU9EADaVu3C7
 Hzg/6qnjP1Sr+3CT8+U05kM1ZsB4SMi7NDbdPZrO3xLX7FXAD8Tvq23bBwpsS7TP
 eZBLYph11kBRXA8U3F8s9A8rBos6Ts3mGBNQbpoYJAgL+u7YYoQLSBWzlNemccqh
 dPQd5QiP9nZdaJDuUg9FH5l85FL9de6ZKc4vGybxa1LeiBPzKXE=
 =/m/w
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v6.9/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into soc/drivers

Driver change for ti-sysc

Just one change to constify struct device_type.

* tag 'omap-for-v6.9/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  bus: ti-sysc: constify the struct device_type usage

Link: https://lore.kernel.org/r/pull-1709194472-263643@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 16:57:40 +01:00
Arnd Bergmann
63caaee9af Samsung SoC driver changes for v6.9, part two
1. Extend Exynos PMU (Power Management Unit) driver being also the
    syscon to main system controller registers block, to support Google
    GS101.  The Google GS101 has PMU registers protected and writing is
    available only via SMC.  The Exynos PMU will register its own custom
    regmap for such case of mixed MMIO+SMC.
 
 2. Rework Samsung watchdog driver to get the regmap to PMU block not
    via syscon API, but from the Exynos PMU driver.  This is necessary
    for the watchdog driver to work on Google GS101.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmXdl6oQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1wZ2D/9NYhjQFu7PfnRUBIcrTIyTBSf11b61EIKR
 KwxDR/MhJ/+C7Zo4YKiWbJGQEhm1sG8LUsOWV4RBy5QhqeyqFCqDC8Pba6YH15MO
 9SfBT2eGgw9NVNxULGPMmuI9/It9umDKc9q9UyBxBGxXo2C8S8vtX4HLfIIVZ2fv
 /uSxW073K7qbWb0c5WUvxMYgdHHwkPyZAecK3yLRNIsFnEZuo7uytmCcVcIBKSoz
 LAv18fa65oZt2NOvvKrzLWNDaYcobzRfEW9r6XPkGkuh5SUJ/076T3W3IGbfNJAq
 DaB7XAFw3EsvORs7gMQAoyGA/+4RQVTMLcKM//2Et3A3ug+gKJ9i0/Y08Ay4FbAU
 cpryMGmb81XWb82yvP9p5XjynGFHGFd5we7ZFbcJeXn/uc4W0l4Zca33h7ulWBRY
 iUD+n0r/cWpVuA1pxK0cldfxOn0yZuq1Y1pOcZY/neDQdb2C7tTgZ2xBgNwWZdhz
 G3BTHo+oU72oMoAR7AJKJymVUzHQftEkWwTiD4NQenNQ11rBeNcEgtcZevxUuGff
 mnLrxaf+Bf+ykZOFGQJwHFIG0nRbIyRtZ+uv/Tqe/FEam6O7P159PJjDgf7Yvy9/
 SY7J28u3x6zjeFZ4PbiqGcoYecl5mSQwZSLY/IaiT2bao6Z54C8JYiMOS4Iw5VG2
 aLCpaAzlDw==
 =FkS9
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl7rQACgkQYKtH/8kJ
 Uif1IA/9FXTi9VfB32rMoC6FOMl5AgYO1rW7d3VvLIhv503xkWTc8anW/LhljajC
 CMZ4xTC8XUvS2RkgKFleqi51sAXuuov+uTX4zfm1HPKXk0ZUFlcdllJvlD1PDL84
 IcLTSNKl3Eo+aNt8ccBaoAQ8X2bOAu4a9Zj0uV89OUtuVCKarKwZ4iLGBs/BRJMU
 ajQBgAX6CN8dgivyrm7y4RSdT0pSWudzpeqAdhaXrTXOa51aooUXLsM+hMuN/QFb
 zDbmYlnQFHZZBNhFDC4/+XWPopgvW+dNCri7kRnmuJWWgBFkNh/X4sv3FxA2J9oA
 mo3/EtLDy/WZuZaFGv5OCj0DO9UJVdGfs3ybGYbgKpnqwb2eRkdWdMnsxK53HOLK
 rSGet+6NiPQbjpApJaBzOePRHfUf/nMueYvep3SfDB0unSaquhTrR1SM3G5y5JFW
 oXzXyqi0GuerZdOEK9OVXJ+D85yz8BSKmfo0zyTSFbwmDrHdbHXknlXSwflZJHtC
 1qX3vuiuFo1bqCfGjQRb/tcojU6cU0HAJnswSOvOH8paYCb2mK1sX23dv1QgEEQl
 xdJBaERrmuN3ppZXsxkmKsttzKU9go3Q2TiWJgnUXXFe1Vz2csbn1jFczzLFxEXH
 kYQKvx0EfV2KxjPDNBWymJHoI0XqNSsyYtAPenDhKp4/biVIW0E=
 =mJ3H
 -----END PGP SIGNATURE-----

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

Samsung SoC driver changes for v6.9, part two

1. Extend Exynos PMU (Power Management Unit) driver being also the
   syscon to main system controller registers block, to support Google
   GS101.  The Google GS101 has PMU registers protected and writing is
   available only via SMC.  The Exynos PMU will register its own custom
   regmap for such case of mixed MMIO+SMC.

2. Rework Samsung watchdog driver to get the regmap to PMU block not
   via syscon API, but from the Exynos PMU driver.  This is necessary
   for the watchdog driver to work on Google GS101.

* tag 'samsung-drivers-6.9-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  watchdog: s3c2410_wdt: use exynos_get_pmu_regmap_by_phandle() for PMU regs
  soc: samsung: exynos-pmu: Add regmap support for SoCs that protect PMU regs
  MAINTAINERS: samsung: gs101: match patches touching Google Tensor SoC

Link: https://lore.kernel.org/r/20240227080755.34170-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 16:54:27 +01:00
Arnd Bergmann
daa0987e1f Qualcomm driver updates for v6.9
This introduces the Qualcomm Programmable Boot Sequencer (PBS) driver.
 
 The Qualcomm SMEM no longer acquires the hwspinlock during the "get"
 operation, to improve the system behavior during the recovery of a
 remoteproc that crashed with the hwspinlock held.
 
 The Qualcomm Always On Subsystem (AOSS) message protocol driver gains
 tracepoints, printf annotation, and a debugfs interface is introduced
 for tweaking system properties during development and debugging.
 
 The Qualcomm socinfo driver gains data for SM8475, QCM8550 and
 QCS8550 platforms, and the PM2250 is renamed to PM4125.
 
 Support for controlling the voltage regulator in SPM/SAW2 is introduced.
 
 The gfx.lvl power-domain is dropped for SA8540P, as this resource was
 incorrectly inherited from SC8280XP.
 
 Additionally some code cleanup improvements is introduced across APR,
 LLCC, SMP2P and SPM.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmXarn0VHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FzZoP/2hYUMS+sR2kD7gZDGi8oV71C+dQ
 Vmo1MQIhGjYEb6HSHdrxp/11GPlLVU45xuk9/FFVqAPrxNQm2y9NC60Ye1TQNWZR
 XS+w5+YkIFdfZIbZ8GGmlPspeXDSnq2DGWQjht+cBNyASzhjO5ICP79WQ0jfHgjH
 l5pNw3YMamc7pwdX2oslxXV8HzDr4JxzpveV0+QbsVDU4J04mrxoBRmv2cdqv2Eb
 5jNR4HjmCQkdI/bp/2frCmWmGP9bqP24C6XWCe4lXuCAsmNKAeEeuyABnsPNRYrO
 5ELd2sPpXBLBUhR9w/0rY9ouIsJ500BD7U1yLrHocwGICL1Ro7dGjnyp6j/7Tm9X
 1nx2mHK7ywH7E6BxVTcmDS3CtymcMknpUfUjANJ/yQrAmcqvKRA3F0ELiXywrndQ
 0R97qjc9ixVaM5LU4kMgQG50NZCmsNPJ7a3smOihpmfJK+6Mmkc5XxFRYuJgL9Ag
 b1PwnVgzeBPQAs+Tx7i5bBfFOa49zVxHYIFfu+XY50DL80viiKCRAeXQNyWmJ0qM
 3tKgMeIY2nXZJ0DvySFfro51AnZcXEMa3Bc5qNZlM4jaqXGPkDocAV9CYKntlXFU
 POnOnGo4liZalWqel3tTuDoBu3nVAq0q4+ooWl755TRGBtIvW1tWAOgldjg6v3Ef
 6BgAWh8GrEHM0etB
 =T09a
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl7kUACgkQYKtH/8kJ
 UidEfQ//eugpCwNrv6q1TdlSBJkwlVV/3VJLewh4SCdpckQNJ9ysxDt0hnbTVVz8
 ykR0ilYLrpuinbWSaBIZp4oxypIHOEhXzQf1diyrAjM9T5mVnv+Ytdy3qDrQ1SOM
 yg8n64aaBCrJiCJk3vHitS2DxStbmikX8i0dzQNeG7YskplrkbKXqtXjQ8zmanAc
 2Y4Ot1DMoTKjp4t6mC7yF5YXTEfCkg0eHaIdzMREarWRUU+g0qqR43T416AhayM5
 4mNH42/0rxJtvN3+EeQkVBXMWu2hmHt9esdR216GZ22fS+J9HAVOGPM+oga1Td7c
 947T2BB55AalfjiNxWbfabxNmHyEuVyYWaDAJO/qU0ZIE+539QAVaW9xrTxYeOFp
 PbctLehm3DUPmR453R4oUTGC6UD+OnZOj+ppy/vB08UbdF5bV0KRT/hviOR+bb6U
 VCYRbDIsfzY1fFFLJShZONogZADtciDjel7WATwhttw503NLH5DaebD+OjPbHVgq
 U4y7maUGPkbAPJT4YbYOcetqVOnYiFp8OG3J/JDTOr3+3RNtInPYao5TSb1QNjGh
 A7+4jKf0X8err26xpmGXfa2nG8hUNOPn/PYVNwxgWmq0P74KR2GwenB4ze+SME2J
 sc6ZQy4LAnU8KSAZpLVPrv78R9cbyCvCtWbQpKzY8l8PfzhaK24=
 =bPSM
 -----END PGP SIGNATURE-----

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

Qualcomm driver updates for v6.9

This introduces the Qualcomm Programmable Boot Sequencer (PBS) driver.

The Qualcomm SMEM no longer acquires the hwspinlock during the "get"
operation, to improve the system behavior during the recovery of a
remoteproc that crashed with the hwspinlock held.

The Qualcomm Always On Subsystem (AOSS) message protocol driver gains
tracepoints, printf annotation, and a debugfs interface is introduced
for tweaking system properties during development and debugging.

The Qualcomm socinfo driver gains data for SM8475, QCM8550 and
QCS8550 platforms, and the PM2250 is renamed to PM4125.

Support for controlling the voltage regulator in SPM/SAW2 is introduced.

The gfx.lvl power-domain is dropped for SA8540P, as this resource was
incorrectly inherited from SC8280XP.

Additionally some code cleanup improvements is introduced across APR,
LLCC, SMP2P and SPM.

* tag 'qcom-drivers-for-6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (23 commits)
  dt-bindings: soc: qcom: qcom,saw2: add msm8226 l2 compatible
  soc: qcom: spm: add support for voltage regulator
  soc: qcom: spm: remove driver-internal structures from the driver API
  dt-bindings: soc: qcom: qcom,saw2: define optional regulator node
  dt-bindings: soc: qcom: qcom,saw2: add missing compatible strings
  dt-bindings: soc: qcom: merge qcom,saw2.txt into qcom,spm.yaml
  soc: qcom: llcc: Check return value on Broadcast_OR reg read
  soc: qcom: socinfo: Add Soc IDs for SM8475 family
  dt-bindings: arm: qcom,ids: Add IDs for SM8475 family
  soc: qcom: apr: make aprbus const
  dt-bindings: soc: qcom: qcom,pmic-glink: document X1E80100 compatible
  soc: qcom: add QCOM PBS driver
  dt-bindings: soc: qcom: Add qcom,pbs bindings
  pmdomain: qcom: rpmhpd: Drop SA8540P gfx.lvl
  soc: qcom: socinfo: rename PM2250 to PM4125
  soc: qcom: aoss: Add tracepoints in qmp_send()
  soc: qcom: socinfo: add SoC Info support for QCM8550 and QCS8550 platform
  dt-bindings: arm: qcom,ids: add SoC ID for QCM8550 and QCS8550
  soc: qcom: aoss: Add debugfs interface for sending messages
  soc: qcom: smem: remove hwspinlock from item get routine
  ...

Link: https://lore.kernel.org/r/20240225030612.480241-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 16:52:37 +01:00
Arnd Bergmann
c6274c15f9 - make sunxi_rsb_bus constant
-----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQSPRixG1tysKC2PKM10Ba7+DO8kkwUCZdj/eAAKCRB0Ba7+DO8k
 kwXnAQDkyy8HX/b9h07WlJoJACSn1UYVW3Ba/ngwetGhEaUD1wD/fOCTTP4Mz7uw
 +LRXRBM87nGpUohaq3RcqzjeN+b87AQ=
 =subD
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl7h8ACgkQYKtH/8kJ
 UicKPw//TYun+VWKxZSuQQgO5CdZNsMoOLkYwkJzEc9EsBgJolZt3TYI1olJVJUK
 6HV1wBnJkrpDlC5ZlkEe1TXgAempYvBq6s1kOoGm2qGv9BUA38jJaEFwSbfMRk7k
 hWn9rnViLK1wjoodT1jUhSx949PADq9JPCJQ+0GEwwnGa8lfd2M26NmdVyvnYCCv
 NxlPluQCZZG6mbDpoUM/2n5h21ZM4BxHHcHojgQ2Rk7Dg9/4XDntU4JurMysD82b
 RmyTJ4M2RT0TQXBCx5Sq9jtkIGGM18XBB/mQXgOKKddPa37B3j/xOwaMgF6v+x1f
 h9kl+ddH0gBQOzIbqnMDORS0ryIFxUEEBaxd8yFupAKgiqU17WtVI+MWQ9iuZn5Q
 ve/INjjEwd68oKMOdSCKhlK8QIDQd4aZSReAkWEv+/qVfyABksp+9raUFkGN+fnP
 Z3S2gC+Fnu3h+jnyWZYQU64xPbDer3Ugm3wqLyGC1ZUM0nLMWVebyzRGpBJO4VJX
 i9vbgsDAteup3vJUV3EpYYyoKdQhUbkKL9lhMoXWXC9GcAIQKJ+iVB5SVb0Jii/S
 1vF/07FfPjHn16rhaL1RbX45wcorcWj+fXBzosLIgSaDjTsqfVdlHNOQ6vupbs7X
 a4AdQT1MUlfy/+WCanWZ2pnhyf1Mwg77QcD8XoLQJr9SSqFdeac=
 =VICU
 -----END PGP SIGNATURE-----

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

- make sunxi_rsb_bus constant

* tag 'sunxi-drivers-for-6.9-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  bus: sunxi-rsb: make sunxi_rsb_bus const

Link: https://lore.kernel.org/r/20240223205734.GA9027@jernej-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 16:51:58 +01:00
Arnd Bergmann
1b9df39edc firmware: tegra: Changes for v6.9-rc1
Contains a fix that makes sure we don't unnecessarily call kfree().
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmXY1ZYACgkQ3SOs138+
 s6Hg+hAAgYulbZF0bMYgdFdVwRY3dL/pSu+5LKVjUcgaoUqrS8EmOHBZGhDZiBxC
 OXcvTr+715eXlsXbSSQhXcaV3jPmKUw605lNkmayOM8r5Rc00e1uVc2ZzdrA9eim
 i75/REtOGviDrMBzvBal3h6eBld9jI2tH77/yQUfe2PnpArduCJwE6zD0ZXpS3yr
 WzmC9xX+nE2qr1W7QAPfISdCudqDFICAyJzoSpkugSaGfhbKbMv+mQAVEMSsVbMZ
 Js+GSWSqn+9DC8KdL+xVPWaw9ghK0fRFI1OSAY4W3YNCQQLtuWo9HQa0m63tc5Yt
 a+zXZd/d3RS/qrxD1AYasaQdL+rQu3C6+Du9Q2QuIZbygRbcbs0VC8Mt6UwqSWo4
 3XxyAad9orWCRca33IMz4bmlM+aklxDoy3uCw9/a3of5rUM78SCGyfEKgB3kNEW7
 SmBH35WMreqsACFwICsEH8Hh45bTNuM07s8GiZj6z1TsdZtv4/NIL7ZsIW4Mddhc
 uIjafLz4MKyMkJC8w4XwpJZcxOphwn6LoChZKo2bhKfLw4dtLeM49AhJiYAoLP4w
 jcqfYBD2d0FiGMaMUI4QG0ccBPE2KOt4x/MrcNN71mUsC2rKnraIZdAK4IgCcJLk
 NrfEDG9lK/+zXKWSf1kIKPK8DbkHcXwpAdREhrNlipgY+d2QVPs=
 =G5/1
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl7ecACgkQYKtH/8kJ
 UieqAw//TAwFAXENXh9nDPB3vInOVIdqfc4F4sPkDcPUTZeA3bNLrbhNiwcMKAA/
 p9I6t4XZmGDP/J0H9eWUktXkSapCxoxvLiXyWNEELe6MDjUJKePrqe+dKVzbm2sJ
 yg8qRqLYr1h6qCqvVDgewoUsS2JJjUuWeBdO2rBv8XtOX6jGzxHzZ8MPXEUEOe3A
 05jP80vtAKbvGG1USUDzy9hchMZhPsbDTYUoaHx5p02V+2EzRiOC5GlIoEH3rsFp
 NoFP0m71WXcdgqhtvZGA5r8cntN/wjy/7I2E/tT7aimcgDcliFjYGZuD6s9yazpk
 H0mK+8S5SNia4net6AI6j8zHz16eVPmnCIAFYDVteVBqEZ4y01B2pP4iGGOMUIUJ
 3hFJCpAwCVEbiWxxc4HqRFbISmmc9LV1TbDipuHhepK9fNPpZmtFq9F1JiV/+1vY
 fc1JXP4mG0HROXH2xxDYvMciuuoGNb8NDes4rtfcSHW3TndUSHewTHWik1GEFafi
 R0IfHDZEneRDb0JrTRDigb/0UinRQdzD5QqHb3hZTwbcblrer53kY2LKSkwv3T+z
 /WDzqCLarVczo5hgVqt97T+87VigLw3eGAs9IX/gO2f6jZTXjzod/VMl/LuwewCI
 PiobIrdaGxrAvTpz3BWi0ytkKF3hJOWdWDql21tF8efvnPBUIFg=
 =FAN/
 -----END PGP SIGNATURE-----

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

firmware: tegra: Changes for v6.9-rc1

Contains a fix that makes sure we don't unnecessarily call kfree().

* tag 'tegra-for-6.9-firmware' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  firmware: tegra: bpmp: Return directly after a failed kzalloc() in get_filename()

Link: https://lore.kernel.org/r/20240223174849.1509465-2-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 16:51:03 +01:00
Arnd Bergmann
3326155e5b soc/tegra: Changes for v6.9-rc1
This set of changes adds ACPI support for the APBMISC driver and cleans
 up a few things like dependencies and unused code.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmXY1VEACgkQ3SOs138+
 s6HqkA//ZtHaCTLiQQI97Go9dd0OnFIhQi1fnp1jwzexTWe5mT6RDJaSH/k+H/8c
 wZiSGuZrgedKKAHX4luYJNPrZNIU3u5pEAe/H78N+c29mcS2Ynv0M++Kc3vKn1DW
 yfRv6vXge6UaFZsS8zvrsb9F8q5yAouhAW3BosOwYwv41Z6KoqOBzIAnGzSSgfLl
 fBErk8IutUscTeQHj9UNxeRZeYmr1M5nin4LwrQ9cZWASN0OBFXL+PpGatlY701z
 5uCIJb4obz0z4NV27JxdrX12Z3ej+dd0NE3swwKGGi02ROCMlcQO8Zc9/+seSZGe
 M9q6CWzelvJYVEFISGidx0N0l/eexJQac7koDNHJVvqVlVYYpBtY5RG5dsVofXTk
 gNc+T0bI/D4h5kHbCFNPhwrwEp2rvkWufh7zgBLlBamjoc/VAkpxSXgJal7Wc6HS
 YG0WziUARNsFHdff5s1g3ayh3ssnAT3m/1SNjMo5cqrv421tiy2gwsuL/LbxeBDY
 RQ3dUfsVGmsCJUvbiJIetJUBX5VnVDkwIVBSd97i7yez4e3dBKhb1sAP1wWYcFKw
 CcfWHPW9XNypDo66vmXtEGXtsero10/d9BhmUjrAQ8iY9/kgCpsyEnL5oYMP8sEM
 UwZ6tPoAyPZQcqQpTwjPHwjYtXcXamUKrjx8zIeR7bLa6JYfd+Q=
 =8s0Z
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXl7UkACgkQYKtH/8kJ
 UifTQxAAqGsI+jW/1MFAokcJ3qOSZddlVl/5E6W1Ds6+okP6HnMN9lrVAuHkbiqc
 j2fGRp3b6J0uqNjCKGa1FM+5jnY7C/ym73b43BGm4I5bEhuhE0CseOs3iCtNZa4Y
 r2MQa9Ink0H2JDP4MrACTt7ig0mvmQy8favE9ETMc75AxuQSWyxCG/ApgsXTI7Lx
 mcGO8s5aggpBksuAZPzSGf2tbxmF1lQemjg69ciRGtGFR7EQ2bIdyrZoH+AzQnje
 tgxzk8sPJhqq0wbqbtrrIHbKLzmSH5R+0wXEUdRSvdinbL5VHKWkWOpeGS2ca0k1
 umZ/hAQWWVNmZylsEBpF4W3yX13SivpTfUPkmVdNKQfEnTez2GiDYZyOEWVuvbFj
 WhNxu2YTY44X4N8bY4lpJ7x9YCAUJm2Z8cuZ0m0lD22fM64rJQaG7dsGhAy9MK5M
 jO6S0xmNfehC8v5gn2RBNCikVpp25W1IzhTpfWPjLJi4pYSeM+wRwWsgGbX6QrfI
 me6WrRGVwgCFTbmyUgH/d3wgSLHf5J7hP2+NZ4VBjRhGc3ltwzo99crypQFpUlhY
 D39wYI3jb+16cLLfryRP4LEik1WND+0h5JrYMMG2x3lswzRVv66A+v/00LAiOSQj
 2DFxP0NS8Ig/AgkPR5g5KLBtCn7GvjrYm9+qFmCToZOcRbIqINA=
 =j1US
 -----END PGP SIGNATURE-----

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

soc/tegra: Changes for v6.9-rc1

This set of changes adds ACPI support for the APBMISC driver and cleans
up a few things like dependencies and unused code.

* tag 'tegra-for-6.9-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  soc/tegra: pmc: Add SD wake event for Tegra234
  soc/tegra: pmc: Update scratch as an optional aperture
  soc/tegra: pmc: Update address mapping sequence for PMC apertures
  bus: tegra-aconnect: Update dependency to ARCH_TEGRA
  soc/tegra: Fix build failure on Tegra241
  soc/tegra: fuse: Fix crash in tegra_fuse_readl()
  soc/tegra: fuse: Define tegra194_soc_attr_group for Tegra241
  soc/tegra: fuse: Add support for Tegra241
  soc/tegra: fuse: Add ACPI support for Tegra194 and Tegra234
  soc/tegra: fuse: Add function to print SKU info
  soc/tegra: fuse: Add function to add lookups
  soc/tegra: fuse: Add tegra_acpi_init_apbmisc()
  soc/tegra: fuse: Refactor resource mapping
  soc/tegra: fuse: Use dev_err_probe for probe failures
  mm/util: Introduce kmemdup_array()
  soc/tegra: pmc: Remove some old and deprecated functions and constants

Link: https://lore.kernel.org/r/20240223174849.1509465-1-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-04 16:48:25 +01:00
David Sterba
5a8a57f9a4 btrfs: merge btrfs_del_delalloc_inode() helpers
The helpers btrfs_del_delalloc_inode() and __btrfs_del_delalloc_inode()
don't follow the pattern when the "__" helper does a special case and
are in fact reversed regarding the naming. We can merge them into one as
there's only one place that needs to be open coded.

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:54 +01:00
David Sterba
1cdeac6da3 btrfs: pass btrfs_device to btrfs_scratch_superblocks()
Replace the two parameters bdev and name by one that can be used to get
them both.

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:54 +01:00
David Sterba
37bf7718ff btrfs: handle transaction commit errors in flush_reservations()
Other errors in flush_reservations() are handled and also in the caller.
Ignoring commit might make some sense as it's called right after join so
it's to poke the whole commit machinery to free space.

However for consistency return the error. The caller
btrfs_quota_disable() would try to start the transaction which would
in turn fail too so there's no effective change.

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:54 +01:00
Kunwu Chan
06c9564980 btrfs: use KMEM_CACHE() to create btrfs_free_space cache
Use the KMEM_CACHE() macro instead of kmem_cache_create() to simplify
the creation of SLAB caches when the default values are used.

Signed-off-by: Kunwu Chan <chentao@kylinos.cn>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:54 +01:00
Kunwu Chan
b2c7d55e4c btrfs: use KMEM_CACHE() to create delayed ref caches
Use the KMEM_CACHE() macro instead of kmem_cache_create() to simplify
the creation of SLAB caches related to delayed refs when the default
values are used.

Signed-off-by: Kunwu Chan <chentao@kylinos.cn>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:53 +01:00
Kunwu Chan
66ce5447d8 btrfs: use KMEM_CACHE() to create btrfs_path cache
Use the KMEM_CACHE() macro instead of kmem_cache_create() to simplify
the creation of SLAB caches when the default values are used.

Signed-off-by: Kunwu Chan <chentao@kylinos.cn>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:53 +01:00
Kunwu Chan
2753b4d828 btrfs: use KMEM_CACHE() to create btrfs_trans_handle cache
Use the KMEM_CACHE() macro instead of kmem_cache_create() to simplify
the creation of SLAB caches when the default values are used.

Signed-off-by: Kunwu Chan <chentao@kylinos.cn>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:53 +01:00
Kunwu Chan
4bd3e126b2 btrfs: use KMEM_CACHE() to create btrfs_ordered_extent cache
Use the KMEM_CACHE() macro instead of kmem_cache_create() to simplify
the creation of SLAB caches when the default values are used.

Signed-off-by: Kunwu Chan <chentao@kylinos.cn>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:53 +01:00
Kunwu Chan
625c1e0638 btrfs: use KMEM_CACHE() to create btrfs_delayed_node cache
Use the KMEM_CACHE() macro instead of kmem_cache_create() to simplify
the creation of SLAB caches when the default values are used.

Signed-off-by: Kunwu Chan <chentao@kylinos.cn>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:53 +01:00
David Sterba
d57dd52a85 btrfs: uninline some static inline helpers from delayed-ref.h
The helpers are doing an initialization or release work, none of which
is performance critical that it would require a static inline, so move
them to the .c file.

Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:53 +01:00
David Sterba
e925671666 btrfs: open code trivial btrfs_lru_cache_size()
The helper is really trivial, reading a cache size can be done directly.

Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:53 +01:00
David Sterba
c207adc147 btrfs: uninline some static inline helpers from tree-log.h
The helpers are doing an initialization or release work, none of which
is performance critical that it would require a static inline, so move
them to the .c file.

Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:53 +01:00
David Sterba
2be1f2bf23 btrfs: drop static inline specifiers from tree-mod-log.c
Using static inline in a .c file should be justified, e.g. when
functions are on a hot path but none of the affected functions seem to
be. As it's all in one compilation unit let the compiler decide.

Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:53 +01:00
David Sterba
585ab69214 btrfs: uninline btrfs_init_delayed_root()
This is a simple initializer and not on any hot path, it does not need
to be static inline.

Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:53 +01:00
David Sterba
2aa756ec49 btrfs: uninline some static inline helpers from backref.h
There are many helpers doing simple things but not simple enough to
justify the static inline. None of them seems to be on a hot path so
move them to .c.

Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:53 +01:00
David Sterba
ef923440e2 btrfs: open code btrfs_backref_get_eb()
The helper is trivial, we can inline it. It's safe to remove the 'if' as
the iterator is always valid when used, the potential NULL was never
checked anyway.

Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:52 +01:00
David Sterba
56430c14a6 btrfs: open code btrfs_backref_iter_free()
The helper is trivial and used only once, open code it. It's safe to
remove the 'if', the pointer is validated in build_backref_tree().

Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:52 +01:00
David Sterba
e605234724 btrfs: move balance args conversion helpers to volumes.c
The from/to CPU/disk helpers for balance args are used only in volumes,
no need to define them in accessors.h.

Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:52 +01:00
Naohiro Aota
2761ece893 btrfs: introduce offload_csum_mode to tweak checksum offloading behavior
We disable offloading checksum to workqueues and do it synchronously when
the checksum algorithm is fast. However, as reported in the link below,
RAID0 with multiple devices may suffer from the sync checksum, because
"fast checksum" is still not fast enough to catch up with RAID0 writing.

We don't have an effective way to determine whether to offload or not,
for now add a sysfs knob so this can be debugged. This is intentionally
under CONFIG_BTRFS_DEBUG so ti's not exposed to users as it may be
removed in the future agin.

Introduce fs_devices->offload_csum_mode, so that a btrfs developer can
change the behavior by writing to /sys/fs/btrfs/<uuid>/offload_csum. The
default is "auto" which is the same as the previous behavior. Or, you
can set "on" or "off" (or "y" or "n" whatever kstrtobool() accepts) to
always/never offload checksum.

More benchmark need to be collected with this knob to implement a proper
criteria to enable/disable checksum offloading.

Link: https://lore.kernel.org/linux-btrfs/20230731152223.4EFB.409509F4@e16-tech.com/
Link: https://lore.kernel.org/linux-btrfs/p3vo3g7pqn664mhmdhlotu5dzcna6vjtcoc2hb2lsgo2fwct7k@xzaxclba5tae/
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:52 +01:00
Qu Wenruo
b2324e08b8 btrfs: raid56: extra debugging for raid6 syndrome generation
[BUG]
I have got at least two crash report for RAID6 syndrome generation, no
matter if it's AVX2 or SSE2, they all seems to have a similar
calltrace with corrupted RAX:

  BUG: kernel NULL pointer dereference, address: 0000000000000000
  #PF: supervisor read access in kernel mode
  #PF: error_code(0x0000) - not-present page
  PGD 0 P4D 0
  Oops: 0000 [#1] PREEMPT SMP PTI
  Workqueue: btrfs-rmw rmw_rbio_work [btrfs]
  RIP: 0010:raid6_sse21_gen_syndrome+0x9e/0x130 [raid6_pq]
  RAX: 0000000000000000 RBX: 0000000000001000 RCX: ffffa0ff4cfa3248
  RDX: 0000000000000000 RSI: ffffa0f74cfa3238 RDI: 0000000000000000
  Call Trace:
   <TASK>
   rmw_rbio+0x5c8/0xa80 [btrfs]
   process_one_work+0x1c7/0x3d0
   worker_thread+0x4d/0x380
   kthread+0xf3/0x120
   ret_from_fork+0x2c/0x50
   </TASK>

[CAUSE]
The cause is not known.  Recently I also hit this in AVX512 path, and
that's even in v5.15 backport, which doesn't have any of my RAID56
rework.

Furthermore according to the registers:

  RAX: 0000000000000000 RBX: 0000000000001000 RCX: ffffa0ff4cfa3248

The RAX register is showing the number of stripes (including PQ), which
is not correct (0).  But the remaining two registers are all sane.

- RBX is the sectorsize
  For x86_64 it should always be 4K and matches the output.

- RCX is the pointers array
  Which is from rbio->finish_pointers, and it looks like a sane
  kernel address.

[WORKAROUND]
For now, I can only add extra debug ASSERT()s before we call raid6
gen_syndrome() helper and hopes to catch the problem.

The debug requires both CONFIG_BTRFS_DEBUG and CONFIG_BTRFS_ASSERT
enabled.

My current guess is some use-after-free, but every report is only having
corrupted RAX but seemingly valid pointers doesn't make much sense.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:52 +01:00
Filipe Manana
74cd8cac0b btrfs: avoid unnecessary ref initialization when freeing log tree block
At btrfs_free_tree_block(), we are always initializing a delayed reference
to drop the given extent buffer but we only use if it does not belong to a
log root tree. So we are doing unnecessary work here and increasing the
duration of a critical section as this is normally called while holding a
lock on the parent tree block (if any) and while holding a log transaction
open.

So initialize the delayed reference only if the extent buffer is not from
a log tree, avoiding unnecessary work and making the code also a bit
easier to follow.

Reviewed-by: Naohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:52 +01:00
Filipe Manana
0e9e135e7c btrfs: send: avoid duplicated search for last extent when sending hole
During an incremental send, before determining if we need to send a hole
(write operations full of zeroes) we will search for the last extent's
end offset if we are at the first slot of a leaf and the last processed
extent's end offset is smaller then the current extent's start offset.
However we are repeating this search in case we had the last extent's end
offset undefined (set to the (u64)-1 value) when we entered
maybe_send_hole(), wasting time.

So avoid this duplicated search by combining the two conditions that
trigger a search for the last extent's end offset into a single if
statement.

Reviewed-by: Sweet Tea Dorminy <sweettea-kernel@dorminy.me>
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:52 +01:00
David Sterba
0478adff0f btrfs: factor out validation of btrfs_ioctl_vol_args_v2::name
The validation of vol args v2 name in snapshot and device remove ioctls
is not done properly. A terminating NUL is written to the end of the
buffer unconditionally, assuming that this would be the last place in
case the buffer is used completely. This does not communicate back the
actual error (either an invalid or too long path).

Factor out all such cases and use a helper to do the verification,
simply look for NUL in the buffer.  There's no expected practical
change, the size of buffer is 4088, this is enough for most paths or
names.

Reviewed-by: Boris Burkov <boris@bur.io>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:52 +01:00
David Sterba
5ab2b18088 btrfs: factor out validation of btrfs_ioctl_vol_args::name
The validation of vol args name in several ioctls is not done properly.
a terminating NUL is written to the end of the buffer unconditionally,
assuming that this would be the last place in case the buffer is used
completely. This does not communicate back the actual error (either an
invalid or too long path).

Factor out all such cases and use a helper to do the verification,
simply look for NUL in the buffer. There's no expected practical change,
the size of buffer is 4088, this is enough for most paths or names.

Reviewed-by: Boris Burkov <boris@bur.io>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:52 +01:00
Filipe Manana
f33163ee4c btrfs: remove no longer used btrfs_transaction_in_commit()
The function btrfs_transaction_in_commit() is no longer used, its last
use was removed in commit 11aeb97b45 ("btrfs: don't arbitrarily slow
down delalloc if we're committing"), so just remove it.

Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:52 +01:00
Neal Gompa
f840ab7924 btrfs: sysfs: drop unnecessary double logical negation in acl_show()
The IS_ENABLED() macro already guarantees the result will be a
suitable boolean return value ("1" for enabled, and "0" for disabled).
Thus, it seems that the "!!" used right before is unnecessary to force
the 0/1 values.

Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: Neal Gompa <neal@gompa.dev>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:52 +01:00
David Sterba
636d91d7ee btrfs: delete BUG_ON in btrfs_init_locked_inode()
The purpose of the BUG_ON is not clear. The helper btrfs_grab_root()
could return a NULL in case args->root would be a NULL or if there are
zero references. Then we check if the root pointer stored in the inode
still exists.

The whole call chain is for iget:

btrfs_iget
  btrfs_iget_path
    btrfs_iget_locked
      iget5_locked
	btrfs_init_locked_inode

which is called from many contexts where we the root pointer is used and
we can safely assume has enough references.

Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:51 +01:00
David Sterba
bfe8a0ccbb btrfs: delete pointless BUG_ONs on extent item size
Checking extent item size in add_inline_refs() is redundant, we do that
already in tree-checker after reading the extent buffer and it won't
change under normal circumstances.  It was added long ago in
8da6d5815c ("Btrfs: added btrfs_find_all_roots()") and does not seem
to have a clear purpose.

Similar case in extent_from_logical(), added in a542ad1baf ("btrfs:
added helper functions to iterate backrefs").

Signed-off-by: David Sterba <dsterba@suse.com>
2024-03-04 16:24:51 +01:00