Commit Graph

1266966 Commits

Author SHA1 Message Date
Arnd Bergmann
59f33701fd RISC-V Devicetree fixes for v6.8-final
Starfive:
 The previous cleanup broke boot on the jh7100 as the driver depended on
 the fallback clock name created based on the node-name when
 clock-output-names is not present. Add clock-output-names to restore
 working order.
 
 Generic:
 BUILTIN_DTB has been broken for ages on any platform other than the
 nommu Canaan k210 SoC as the first dtb built (in alphanumerical order),
 would get built into the image. This didn't get fixed for ages because
 nobody actually cared about running it other than the k210 enough to
 fix it. The folks doing Sophgo SG2042 development have come along and
 fixed it, as they want to use builtin dtbs. linux-boot on that platform
 reuses the dtb it was provided by OpenSBI when booting linux proper,
 which is unfortunately not possible to boot a mainline kernel with.
 
 Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCZeiwSAAKCRB4tDGHoIJi
 0i35AP9Nm72QRsmcW1EaICAQDkfPyPVdpHp1WkHIDyNHcjPkrgEAtPy4Mlz9LIhx
 pQ5QuXV2mqkjE+Ts5k0efkL1Am8MZgs=
 =zUP6
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXuq9gACgkQYKtH/8kJ
 UicLQA//aej0KLwRRJCcajZxsLiHsMnV2wbCUod1TvH7A3WXwUUncMTNUAnPE4fC
 zTQ6gYVthP+IciKaOCxj806CAIIBt3j904NfbzQ24EFzUJkfX4j7Kd+ru1UVs1vS
 QfWQ3lamvhsAfI8wcm3TA/UVUBkY8zTvy35jFeSjzLd4BAuZ21Ne4j7ShmR7JvE6
 dpwHZX5KC4yvsVgoZE5kVVkFnx7RQ6D4oxQFaqSlYJ43LCA3YKwToLtCEs640bwq
 tBAYAU61Bkouk3ePmusIAkNJGK3KbaByuxmTqB/03k0OQ0ANUFD89YLhH/YrrmGG
 JcC/LL5AkoG0VHcIB0SXMeJEwOKUYtJrXs9+sLyDKVJeCmsuuyOaorOMLF/NyZmy
 bHB7uUtLaXzh+kv0ayTEtq9J7OskTmB1qbMusFvKJirPv0ltVAC5hG9wEPPdy1kG
 B7NfsIgCyId+1DKb/4Gae8w5V9reoqP1ftwNbcEyp2aXFyJvIz56O1IEBMk5ZYfq
 a+AzW7b+gHgpw7BlfiUPEYsbt4qeUvSQTU90rTmu+nUxOgJ9KBWY9Nk2yo0Bs/wf
 vDIG4jQmA1rEt10myqdgPSR4eYEMXSkwNbtqbWiV4LMbT1iVrd8/e1Kb6zBo/GpM
 veAGNQ6l271aKwoqobU3RuTQm/uPSmWww12In4IPEEqMRNzBZ5A=
 =Ad6q
 -----END PGP SIGNATURE-----

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

RISC-V Devicetree fixes for v6.8-final

Starfive:
The previous cleanup broke boot on the jh7100 as the driver depended on
the fallback clock name created based on the node-name when
clock-output-names is not present. Add clock-output-names to restore
working order.

Generic:
BUILTIN_DTB has been broken for ages on any platform other than the
nommu Canaan k210 SoC as the first dtb built (in alphanumerical order),
would get built into the image. This didn't get fixed for ages because
nobody actually cared about running it other than the k210 enough to
fix it. The folks doing Sophgo SG2042 development have come along and
fixed it, as they want to use builtin dtbs. linux-boot on that platform
reuses the dtb it was provided by OpenSBI when booting linux proper,
which is unfortunately not possible to boot a mainline kernel with.

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

* tag 'riscv-dt-fixes-for-v6.8-final' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux:
  riscv: dts: Move BUILTIN_DTB_SOURCE to common Kconfig
  riscv: dts: starfive: jh7100: fix root clock names

Link: https://lore.kernel.org/r/20240306-waltz-facial-9e4e1b792053@spud
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-11 07:59:36 +01:00
Arnd Bergmann
f0379bd1c7 This pull request contains Broadcom ARM-based SoCs updates for 6.9,
please pull the following:
 
 - Arnd removes a select CONFIG_TICK_ONESHOT done by the ARCH_BCM_MOBILE
   architecture which could cause compilation failures
 
 - Florian adds a debug UART entry for BCM74165
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmXoxmQACgkQh9CWnEQH
 BwT1qQ//XxTGbR/6ifMFWEJ160uoZpIreLOZp2+9oTsyIIxoRIP/6Iiu03pgM1DX
 uyQJBdXbjmfDxlaVnEjZzMHqaDhRC5TxScwuD4C3ZBLfxMSF4Wm4tVxrOaH/xhQI
 IQUYj1UvJZByl84deE96EilckPS08KVEp8/FGTJszsmS2xYBUdTBrSkbapMX0k5j
 MtfZANukmcXo8mZMijTzB6suYWdDgkw8Zy33wXI+XotU85aVZ8oHD0Akg2USuGyK
 L+Mk1ctk2WJ63GEI+Cc0gFg0MpXaWSl03ItBQz73Kn/eaIYnOdF+vXOmLHVTzqWj
 LakMCiv/CIrBjL2S8vZsRMYdLXm9H0k9CR9hHj/EOu3vDDS549wMcm6aBY/yBkha
 goeNWcirC7uo143uBF2m2VF8Ux7ODgkxQgX8Svdr8aOCzHPVLtcOWmwcV2eYA5c7
 dllG8vrdFxvUPuONWmqAc6fm6XioFe6R1PQWQsxIFWOPfM2ziwkiI8vRwxxnmI9I
 5BfQRUqJH90iu2Q1Y5rnWns6o3Ta8t0wAFryHXhY0aJ58AzK/PIyZ2DHLYXyC4RW
 LRaYIdgbArpIu5goVdSOGvcRzm7Zj3OoBkIg+JU1b0ASdI0jn2fidYzlpHUApFUj
 uOonhBJNNAzRw/rtyQptWvMNCOCYBbWptp2jslXbu28LS38PoDI=
 =vdjO
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXuqIQACgkQYKtH/8kJ
 UicNMhAApdclMUX6sS9t8NNjqlCOHtPL/OOXy2m2QHCcRYn/yQJVUpsZro92PVa4
 lrnrX11iltCoXSfIladK75WzOp7bwC03en9qUYJn+/lN21d1ArsvO5yZXnPJTMJ6
 GOM4Pf9A60hylzqVOk5y6sh8dyk7y57ppy4kdMYG66rt35yRRSYL5upvB/rbZO1r
 qRUhEIQfTqyzPjX18LHsUrl/RSxi8iIieqLfmY/ARVEmeuNDK2zNZfrJmiGCpOD8
 XbxAXXNhI6tIju8Yuq2/ajuTeTUrLnqWPbxhMxBLk5k0SyFhc48qauQH6w8OiuH8
 zDex1Z6hiUuGcUAWHjAaaQSxiSFPhibu47wwd22KBBQ2cDuJ1fsvwGtsnIMyI24R
 WJ+GgLioeK1bDg2IlopacNhTgWqZizZYWETzMX9xvYCCBi9qPqvOSfSNYzy+ufyg
 t4UjjB5FOaJSYYwUKqC1+kc7QVbUSGw/yv4jUJT2bS38uoJYheLDt2ZpOBHELR1Y
 aQt/64zo3gCQfJXpf0Ka37yMGbA0uHEjraMDLUdwutBQszKaVrYga3/l0022SGBT
 JDnmP+G8h3X3uAczVW3l8KQd5K6c3UwBkF4K2uUV3aTEz0WrusfLr3vi2KrVvfzp
 bkX49nDdkvCT4Cix4fHen7qZnNsZc5x+v/T1vFefhoX2ApoBCuc=
 =hlul
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-6.9/soc' of https://github.com/Broadcom/stblinux into soc/late

This pull request contains Broadcom ARM-based SoCs updates for 6.9,
please pull the following:

- Arnd removes a select CONFIG_TICK_ONESHOT done by the ARCH_BCM_MOBILE
  architecture which could cause compilation failures

- Florian adds a debug UART entry for BCM74165

* tag 'arm-soc/for-6.9/soc' of https://github.com/Broadcom/stblinux:
  ARM: bcm: stop selecing CONFIG_TICK_ONESHOT
  ARM: brcmstb: Add debug UART entry for 74165

Link: https://lore.kernel.org/r/20240307200441.2151734-3-florian.fainelli@broadcom.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-11 07:45:24 +01:00
Arnd Bergmann
c00304acdc This pull request contains Broadcom SoC device drivers changes for 6.9,
please pull the following:
 
 - Florian adds support for the 74165 GISB arbiter layout which shuffled
   register offsets around
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmXoxhIACgkQh9CWnEQH
 BwTuYBAAgiI/K6CEXnimoUkK1zGW/RGStvgB8OUg+LZcxKAXCQf4yiFyoivw3xfH
 SC5UXDAggR/o2ElNDPRyNNjhSy7vB972Mke8rpXsGfLVFAV+UnwqpQCnoOHPzF0Q
 J/OXGssjJ+iEhEmh4HUGDDgHD0SX3K9JznNLOweliy/k87RCLQK0p2DpC7xDhBEw
 oCWrM9iPiR4OneVzhS+E9SuFRIloKRzw5PTsJHrRQXvIQQFt0EU0rpu4qm+hFNXs
 0VVAd2MLNhSd31QT5AMT31vbWYjpWAaFgwbQNjei3vdLUjKizCNHgVADkFrbAOSy
 kAVdO2n/yz8n3QB/jOlgecRGYZ9Himh7zK+SoPv67ZQeiTsI0fP/5cHYbPideU++
 U1iQjiLaEaS7iM+HsTje+WghD/SMXtaO7/tiWnu4oLCqPbVAzH4CO2BxhHeNvJAi
 VLq5WBq/BqAaLBsOEmUxzoR+BXKMfM9peECXrUNAHQ1JV+0X2REwMydtyJWCinkP
 omqPxdNxEfMwcAp5b3CIenYPMuBLcmXQXnKbuV8b+lU3T4oQRYmeeao+TZM2jYs3
 BFVzmCfp18NzxNQH15TpYHKLIIa7mYNGgEhfK39zl6RYJiOkdZeLk4UNTvILdCQ+
 inHb82RveUBh7vCG2N2FwV6A1F9g91Ta5N+lv+Jl/0SU/mqVNpU=
 =Hj1a
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXuqEoACgkQYKtH/8kJ
 UifEbhAA0z+v7yvH3KvkxFPqGF60A7OhU96ysCMSZkUKphW/ckbos/vhdAT3e92P
 7VyMjtfqxAIiH/1Caqwy8Ap3rtq5CowlbfgUUVdNvIXNFpXQNK9J0/EQH6v9rDiq
 ODuq8CXhGlwT4L01UaG87U8snbaEUJIsX2AdVcN/lQ8XQFTy/ufTabk8sKXbEAWR
 UwgsoSWEzFV7ZRJy/Qd3yLhU7RlvRT1bxPBaJpOIjCxh4sAjcHhtqG7pUC9+q6T/
 yc100OwxFLT+G1fERsAEe/aqPF5L3aEKYekDylI3xiFKartyxDL30p/R+K5c4EY7
 jp1qDLTv7pbdwtrUjw4dqzXRHGFwnauTvx3E1DjARycA7DlZW/eZkfI0mqEeU889
 70M9gEbBLEaVE5gnlTLDLNSRcsDlMTdlA+3Qyroq8b9jUiW9wHl5aARizhlx6AtC
 4l70BjgfSLS+97WMuteXXqEQ8XPbbAGZu0LvZynlel/YDPsqm9MQLJDtEibfO/ti
 usv9xQEKzbJl/ksO8Q2U3So7/BAokx9lfCDC+TPQ0FbPlCuVio6v+MOgDl0GZvdO
 +RXYAl2QCnCnmoX2kxzaNdKTaLSBScd1g45TItKGxP85t0tBLTDJ7K1JcNQSk3RM
 GEFbdcvGwI6tkgkqJFbD5Qo9jbL9kckLnuoc8cpNX7SQ/RIIpbk=
 =f13N
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-6.9/drivers' of https://github.com/Broadcom/stblinux into soc/late

This pull request contains Broadcom SoC device drivers changes for 6.9,
please pull the following:

- Florian adds support for the 74165 GISB arbiter layout which shuffled
  register offsets around

* tag 'arm-soc/for-6.9/drivers' of https://github.com/Broadcom/stblinux:
  bus: brcmstb_gisb: Added support for 74165 register layout
  dt-bindings: bus: Document Broadcom GISB arbiter 74165 compatible

Link: https://lore.kernel.org/r/20240307200441.2151734-2-florian.fainelli@broadcom.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-11 07:44:26 +01:00
Arnd Bergmann
de79649bf9 This pull request contains Broadcom ARM64-based SoCs changes for 6.9,
please pull the following:
 
 - Rafal defines a proper NVMEM layout for the Asus GT-AC5300 router and
   removes some invalid Device Tree properties pertaining to the
   Ethernet switch on bcm4908
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmXoxeUACgkQh9CWnEQH
 BwQPCg//a7hqzeMpeZEjev6ZDi3h3lgcRjFs6RnCuHwmF195RGu9J52RuDkoKWjX
 foI8bSePF79n7EbB5CCi5G5WczrDZ0x0Ygda9FApHiKitzyfhQ0v5f+MFcJmpYNf
 cRTd6KBjBVyCsi8fyxEArVFT5CGDxyMQq9rMkVkX1I/L5oFNEsR18Cw9mYWARJOV
 zoIXrN5QW6QSmJJpNyrKPet6HA2nt7jyxSFSopbiSd7ADW1euaUh0h8ggXZKJq/p
 IdW6lFiJzgg+1KkooL8cxxPi1P/hz3uMKXzmdHoeQR0NJ6MNu2CIKsxGMK5RPicG
 D/S0Yh3LWsgu3UgcJwwhIrPeszo8qK1i7HgKQ1wNFzFZzyi7nL0QgCJn1WxdRBa/
 ripIcOcKJTgf5PvZYQ03kGJx/hHhTXEif55SENZD9FSVC6oV4wQPEBj0sghTknSw
 oYgroZeuiBM4tmX2rQDAy1X3jVGMZSiPwuhgB4Q0phN8Exo72aUL0PrwWpPU9zRt
 xppc5l4jpsM9MP/1snDbB50+GiFlofb4ISAxXwi7GMjiir7zpnsyvrK31/EOUTxt
 euZ9xJCezeMOkL8NBwpOFKvmVZGhxtqSE+JONdEG8BI072iFdVYqVuululTZZ5WM
 lRftEkO6A6pr1t0lWfCeNbYVlZRmVfYnUQbXMob5YVyOXuD71t8=
 =KB40
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXuqBQACgkQYKtH/8kJ
 UicyGw/+LVRltptZyljR2dJL9cI2WeXh6SLDuNuHXf1fNUP/TZ/FmDaUxWjcCRUd
 +szjMumBbfhj7G1wQaPDNm+FuCLgpbUJr3bfdgTRzW7ufxumWLuf1BnD7KEl284G
 RCuZvlPZDemfbgSpgHCtZdGsQY3RQrXP9yoJDhBwBa1W/f40+z+QyCn2JuYeflCg
 qkfQ/kd07YAAV23UcZiljPsM0MDKZNL7RQuYg5+nbaXVd0KX/n10qkOx4w47k4RL
 fEZCAc8McEBjgdlf0sSOyLTU7STXa8MSf7z1u70VEzkG8vBooMxiQN1RYgbS9/pG
 2Cb7HbjPh9o6FcE4609eZUKmTLAzqAc1tlCc2w6aopaIDbUhWEpzKi/LVsP09orG
 QgPXs3DKPs1yZ4weMKnbimWvw09ATTslH8FrAzAgAJKZrCP2g7heyQQwpxg5Lu70
 2Xp90wRIiHB+AHVWDR7iA4gleLN5TFHK/fe5qOafqujFJQM7e2U0HLue0xqJwh/K
 bYCAL3wPImkDBRN2WwMzcTQFl6gQ2nu7kkwU6sRItS9/TFi8v/blw1g3vwTVBPfN
 TLW2tRtuN4GN4X7dMjUuY052/JEVLfDHpsFdmN9o/vJuwgMEwmtgielOeMIupWwb
 n/YgCNC+cMz9QwJ0j884qNXh0NTxx8NkueUWCcx2kuBXY1iZOLg=
 =UDMX
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-6.9/devicetree-arm64' of https://github.com/Broadcom/stblinux into soc/late

This pull request contains Broadcom ARM64-based SoCs changes for 6.9,
please pull the following:

- Rafal defines a proper NVMEM layout for the Asus GT-AC5300 router and
  removes some invalid Device Tree properties pertaining to the
  Ethernet switch on bcm4908

* tag 'arm-soc/for-6.9/devicetree-arm64' of https://github.com/Broadcom/stblinux:
  arm64: dts: broadcom: bcmbca: bcm4908: drop invalid switch cells
  arm64: dts: broadcom: bcmbca: bcm4908: use NVMEM layout for Asus GT-AC5300

Link: https://lore.kernel.org/r/20240307200441.2151734-1-florian.fainelli@broadcom.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-11 07:43:31 +01:00
Sibi Sankar
abb3f9717a OPP: Extend dev_pm_opp_data with turbo support
Let's extend the dev_pm_opp_data with a turbo variable, to allow users to
specify if it's a boost frequency for a dynamically added OPP.

Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2024-03-11 10:39:24 +05:30
David Heidelberg
13c8cf339e dt-bindings: opp: drop maxItems from inner items
With recent changes within matrix dimensions calculation,
dropping maxItems: 1 provides a warning-free run.

Fixes warning such as:
arch/arm64/boot/dts/qcom/sdm845-oneplus-enchilada.dtb: opp-table: opp-200000000:opp-hz:0: [200000000, 0, 0, 150000000, 0, 0, 0, 0, 300000000] is too long

Fixes: 3cb16ad69b ("dt-bindings: opp: accept array of frequencies")
Suggested-by: Rob Herring <robh@kernel.org>
Signed-off-by: David Heidelberg <david@ixit.cz>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2024-03-11 10:39:24 +05:30
Viresh Kumar
28330ceb95 OPP: debugfs: Fix warning around icc_get_name()
If the kernel isn't built with interconnect support, icc_get_name()
returns NULL and we get following warning:

drivers/opp/debugfs.c: In function 'bw_name_read':
drivers/opp/debugfs.c:43:42: error: '%.62s' directive argument is null [-Werror=format-overflow=]
         i = scnprintf(buf, sizeof(buf), "%.62s\n", icc_get_name(path));

Fix it.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202402141313.81ltVF5g-lkp@intel.com/
Fixes: 0430b1d570 ("opp: Expose bandwidth information via debugfs")
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
2024-03-11 10:39:24 +05:30
Viresh Kumar
992e883359 OPP: debugfs: Fix warning with W=1 builds
We currently get the following warning:

debugfs.c:105:54: error: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size 8 [-Werror=format-truncation=]
                 snprintf(name, sizeof(name), "supply-%d", i);
                                                      ^~
debugfs.c:105:46: note: directive argument in the range [-2147483644, 2147483646]
                 snprintf(name, sizeof(name), "supply-%d", i);
                                              ^~~~~~~~~~~
debugfs.c:105:17: note: 'snprintf' output between 9 and 19 bytes into a destination of size 15
                 snprintf(name, sizeof(name), "supply-%d", i);

Fix this and other potential issues it by allocating larger arrays.
Use the exact string format to allocate the arrays without getting into
these issues again.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202402141313.81ltVF5g-lkp@intel.com/
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
2024-03-11 10:39:24 +05:30
Viresh Kumar
838a4772bf cpufreq: Move dev_pm_opp_{init|free}_cpufreq_table() to pm_opp.h
Move the declaration of functions defined in the OPP core to pm_opp.h.
These were added to cpufreq.h as it was the only user of the APIs, but
that was a mistake perhaps. Fix it.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2024-03-11 10:39:24 +05:30
Dave Airlie
119b225f01 amd-drm-next-6.9-2024-03-08-1:
amdgpu:
 - DCN 3.5.1 support
 - Fixes for IOMMUv2 removal
 - UAF fix
 - Misc small fixes and cleanups
 - SR-IOV fixes
 - MCBP cleanup
 - devcoredump update
 - NBIF 6.3.1 support
 - VPE 6.1.1 support
 
 amdkfd:
 - Misc fixes and cleanups
 - GFX10.1 trap fixes
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQgO5Idg2tXNTSZAr293/aFa7yZ2AUCZetE3AAKCRC93/aFa7yZ
 2K4iAQC9mqfalMDJQegU7lUHUFzklfyWMMwrxt6Ull9HjaIcBAEAvKzRdXGWl64j
 R7qt7aF8/U/90RuplIyukCBbrh7FEQI=
 =bDXu
 -----END PGP SIGNATURE-----

Merge tag 'amd-drm-next-6.9-2024-03-08-1' of https://gitlab.freedesktop.org/agd5f/linux into drm-next

amd-drm-next-6.9-2024-03-08-1:

amdgpu:
- DCN 3.5.1 support
- Fixes for IOMMUv2 removal
- UAF fix
- Misc small fixes and cleanups
- SR-IOV fixes
- MCBP cleanup
- devcoredump update
- NBIF 6.3.1 support
- VPE 6.1.1 support

amdkfd:
- Misc fixes and cleanups
- GFX10.1 trap fixes

Signed-off-by: Dave Airlie <airlied@redhat.com>

From: Alex Deucher <alexander.deucher@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240308170741.3691166-1-alexander.deucher@amd.com
2024-03-11 13:32:12 +10:00
Takashi Sakamoto
04f082d39b firewire: core: fix build failure due to the caller of fw_csr_string()
A commit 47dc55181d ("firewire: core: search descriptor leaf just after
vendor directory entry in root directory") for v6.8-rc3 and a commit
67a5a58c0443 ("firewire: Kill unnecessary buf check in
device_attribute.show") for v6.9 bring build failure in for-next tree due
to the change of the name of local variable.

This commit fixes it.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Closes: https://lore.kernel.org/lkml/20240202111602.6f6e2c1a@canb.auug.org.au/
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202402022343.NkgsMITA-lkp@intel.com/
Link: https://lore.kernel.org/r/20240205060448.13881-1-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
2024-03-11 10:38:13 +09:00
Li Zhijian
d4db89c345 firewire: Convert snprintf/sprintf to sysfs_emit
Per filesystems/sysfs.rst, show() should only use sysfs_emit()
or sysfs_emit_at() when formatting the value to be returned to user space.

coccinelle complains that there are still a couple of functions that use
snprintf(). Convert them to sysfs_emit().

> drivers/firewire/core-device.c:326:8-16: WARNING: please use sysfs_emit or sysfs_emit_at

No functional change intended

Signed-off-by: Li Zhijian <lizhijian@fujitsu.com>
Link: https://lore.kernel.org/r/20240122053942.80648-2-lizhijian@fujitsu.com
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
2024-03-11 10:38:13 +09:00
Li Zhijian
4a2b06ca33 firewire: Kill unnecessary buf check in device_attribute.show
Per Documentation/filesystems/sysfs.rst:
> sysfs allocates a buffer of size (PAGE_SIZE) and passes it to the
> method.

So we can kill the unnecessary buf check safely.

Signed-off-by: Li Zhijian <lizhijian@fujitsu.com>
Link: https://lore.kernel.org/r/20240122053942.80648-1-lizhijian@fujitsu.com
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
2024-03-11 10:38:13 +09:00
Steve French
3681fe1b0f cifs: update internal module version number for cifs.ko
From 2.47 to 2.48

Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:52:42 -05:00
Enzo Matsumiya
24337b60e8 smb: common: simplify compression headers
Unify compression headers (chained and unchained) into a single struct
so we can use it for the initial compression transform header
interchangeably.

Also make the OriginalPayloadSize field to be always visible in the
compression payload header, and have callers subtract its size when not
needed.

Rename the related structs to match the naming convetion used in the
other SMB2 structs.

Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:52:42 -05:00
Enzo Matsumiya
f49af46287 smb: common: fix fields sizes in compression_pattern_payload_v1
See protocol documentation in MS-SMB2 section 2.2.42.2.2

Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:52:42 -05:00
Enzo Matsumiya
8fe7062b7d smb: client: negotiate compression algorithms
Change "compress=" mount option to a boolean flag, that, if set,
will enable negotiating compression algorithms with the server.

Do not de/compress anything for now.

Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:52:42 -05:00
Steve French
073dd87c8e smb3: add dynamic trace point for ioctls
It can be helpful in debugging to know which ioctls are called to better
correlate them with smb3 fsctls (and opens).  Add a dynamic trace point
to trace ioctls into cifs.ko

Here is sample output:

            TASK-PID     CPU#  |||||  TIMESTAMP  FUNCTION
               | |         |   |||||     |         |
 new-inotify-ioc-90418   [001] ..... 142157.397024: smb3_ioctl: xid=18 fid=0x0 ioctl cmd=0xc009cf0b
 new-inotify-ioc-90457   [007] ..... 142217.943569: smb3_ioctl: xid=22 fid=0x389bf5b6 ioctl cmd=0xc009cf0b

Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:36:18 -05:00
David Howells
f3dc1bdb6b cifs: Fix writeback data corruption
cifs writeback doesn't correctly handle the case where
cifs_extend_writeback() hits a point where it is considering an additional
folio, but this would overrun the wsize - at which point it drops out of
the xarray scanning loop and calls xas_pause().  The problem is that
xas_pause() advances the loop counter - thereby skipping that page.

What needs to happen is for xas_reset() to be called any time we decide we
don't want to process the page we're looking at, but rather send the
request we are building and start a new one.

Fix this by copying and adapting the netfslib writepages code as a
temporary measure, with cifs writeback intending to be offloaded to
netfslib in the near future.

This also fixes the issue with the use of filemap_get_folios_tag() causing
retry of a bunch of pages which the extender already dealt with.

This can be tested by creating, say, a 64K file somewhere not on cifs
(otherwise copy-offload may get underfoot), mounting a cifs share with a
wsize of 64000, copying the file to it and then comparing the original file
and the copy:

        dd if=/dev/urandom of=/tmp/64K bs=64k count=1
        mount //192.168.6.1/test /mnt -o user=...,pass=...,wsize=64000
        cp /tmp/64K /mnt/64K
        cmp /tmp/64K /mnt/64K

Without the fix, the cmp fails at position 64000 (or shortly thereafter).

Fixes: d08089f649 ("cifs: Change the I/O paths to use an iterator rather than a page list")
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Steve French <sfrench@samba.org>
cc: Paulo Alcantara <pc@manguebit.com>
cc: Ronnie Sahlberg <ronniesahlberg@gmail.com>
cc: Shyam Prasad N <sprasad@microsoft.com>
cc: Tom Talpey <tom@talpey.com>
cc: Jeff Layton <jlayton@kernel.org>
cc: linux-cifs@vger.kernel.org
cc: samba-technical@lists.samba.org
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:33:58 -05:00
Paulo Alcantara
1e5f424071 smb: client: return reparse type in /proc/mounts
Add support for returning reparse mount option in /proc/mounts.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202402262152.YZOwDlCM-lkp@intel.com/
Signed-off-by: Paulo Alcantara <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:33:58 -05:00
Paulo Alcantara
8bd25b61c5 smb: client: set correct d_type for reparse DFS/DFSR and mount point
Set correct dirent->d_type for IO_REPARSE_TAG_DFS{,R} and
IO_REPARSE_TAG_MOUNT_POINT reparse points.

Signed-off-by: Paulo Alcantara <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:33:58 -05:00
Paulo Alcantara
78e26bec4d smb: client: parse uid, gid, mode and dev from WSL reparse points
Parse the extended attributes from WSL reparse points to correctly
report uid, gid mode and dev from ther instantiated inodes.

Signed-off-by: Paulo Alcantara <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:33:58 -05:00
Paulo Alcantara
ea41367b2a smb: client: introduce SMB2_OP_QUERY_WSL_EA
Add a new command to smb2_compound_op() for querying WSL extended
attributes from reparse points.

Signed-off-by: Paulo Alcantara <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:33:58 -05:00
Dan Carpenter
e0e1e09b2c smb: client: Fix a NULL vs IS_ERR() check in wsl_set_xattrs()
This was intended to be an IS_ERR() check.  The ea_create_context()
function doesn't return NULL.

Fixes: 1eab17fe485c ("smb: client: add support for WSL reparse points")
Reviewed-by: Paulo Alcantara <pc@manguebit.com>
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:33:58 -05:00
Paulo Alcantara
5a4b09ecf8 smb: client: add support for WSL reparse points
Add support for creating special files via WSL reparse points when
using 'reparse=wsl' mount option.  They're faster than NFS reparse
points because they don't require extra roundtrips to figure out what
->d_type a specific dirent is as such information is already stored in
query dir responses and then making getdents() calls faster.

Signed-off-by: Paulo Alcantara <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:33:58 -05:00
Paulo Alcantara
fa792d8d23 smb: client: reduce number of parameters in smb2_compound_op()
Replace @desired_access, @create_disposition, @create_options and
@mode parameters with a single @oparms.

No functional changes.

Signed-off-by: Paulo Alcantara <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:33:58 -05:00
Paulo Alcantara
6914d288c6 smb: client: fix potential broken compound request
Now that smb2_compound_op() can accept up to 5 commands in a single
compound request, set the appropriate NextCommand and related flags to
all subsequent commands as well as handling the case where a valid
@cfile is passed and therefore skipping create and close requests in
the compound chain.

This fix a potential broken compound request that could be sent from
smb2_get_reparse_inode() if the client found a valid open
file (@cfile) prior to calling smb2_compound_op().

Signed-off-by: Paulo Alcantara <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:33:58 -05:00
Paulo Alcantara
c520ba7573 smb: client: move most of reparse point handling code to common file
In preparation to add support for creating special files also via WSL
reparse points in next commits.

Signed-off-by: Paulo Alcantara <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:33:57 -05:00
Paulo Alcantara
eb90e8ecb2 smb: client: introduce reparse mount option
Allow the user to create special files and symlinks by choosing
between WSL and NFS reparse points via 'reparse={nfs,wsl}' mount
options.  If unset or 'reparse=default', the client will default to
creating them via NFS reparse points.

Creating WSL reparse points isn't supported yet, so simply return
error when attempting to mount with 'reparse=wsl' for now.

Signed-off-by: Paulo Alcantara <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:33:54 -05:00
Meetakshi Setiya
71f15c90e7 smb: client: retry compound request without reusing lease
There is a shortcoming in the current implementation of the file
lease mechanism exposed when the lease keys were attempted to be
reused for unlink, rename and set_path_size operations for a client. As
per MS-SMB2, lease keys are associated with the file name. Linux smb
client maintains lease keys with the inode. If the file has any hardlinks,
it is possible that the lease for a file be wrongly reused for an
operation on the hardlink or vice versa. In these cases, the mentioned
compound operations fail with STATUS_INVALID_PARAMETER.
This patch adds a fallback to the old mechanism of not sending any
lease with these compound operations if the request with lease key fails
with STATUS_INVALID_PARAMETER.
Resending the same request without lease key should not hurt any
functionality, but might impact performance especially in cases where
the error is not because of the usage of wrong lease key and we might
end up doing an extra roundtrip.

Signed-off-by: Meetakshi Setiya <msetiya@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:33:54 -05:00
Meetakshi Setiya
ffceb7640c smb: client: do not defer close open handles to deleted files
When a file/dentry has been deleted before closing all its open
handles, currently, closing them can add them to the deferred
close list. This can lead to problems in creating file with the
same name when the file is re-created before the deferred close
completes. This issue was seen while reusing a client's already
existing lease on a file for compound operations and xfstest 591
failed because of the deferred close handle that remained valid
even after the file was deleted and was being reused to create a
file with the same name. The server in this case returns an error
on open with STATUS_DELETE_PENDING. Recreating the file would
fail till the deferred handles are closed (duration specified in
closetimeo).

This patch fixes the issue by flagging all open handles for the
deleted file (file path to be precise) by setting
status_file_deleted to true in the cifsFileInfo structure. As per
the information classes specified in MS-FSCC, SMB2 query info
response from the server has a DeletePending field, set to true
to indicate that deletion has been requested on that file. If
this is the case, flag the open handles for this file too.

When doing close in cifs_close for each of these handles, check the
value of this boolean field and do not defer close these handles
if the corresponding filepath has been deleted.

Signed-off-by: Meetakshi Setiya <msetiya@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:33:54 -05:00
Meetakshi Setiya
2c7d399e55 smb: client: reuse file lease key in compound operations
Currently, when a rename, unlink or set path size compound operation
is requested on a file that has a lot of dirty pages to be written
to the server, we do not send the lease key for these requests. As a
result, the server can assume that this request is from a new client, and
send a lease break notification to the same client, on the same
connection. As a response to the lease break, the client can consume
several credits to write the dirty pages to the server. Depending on the
server's credit grant implementation, the server can stop granting more
credits to this connection, and this can cause a deadlock (which can only
be resolved when the lease timer on the server expires).
One of the problems here is that the client is sending no lease key,
even if it has a lease for the file. This patch fixes the problem by
reusing the existing lease key on the file for rename, unlink and set path
size compound operations so that the client does not break its own lease.

A very trivial example could be a set of commands by a client that
maintains open handle (for write) to a file and then tries to copy the
contents of that file to another one, eg.,

tail -f /dev/null > myfile &
mv myfile myfile2

Presently, the network capture on the client shows that the move (or
rename) would trigger a lease break on the same client, for the same file.
With the lease key reused, the lease break request-response overhead is
eliminated, thereby reducing the roundtrips performed for this set of
operations.

The patch fixes the bug described above and also provides perf benefit.

Signed-off-by: Meetakshi Setiya <msetiya@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:33:54 -05:00
Steve French
dbfdff402d smb3: update allocation size more accurately on write completion
Changes to allocation size are approximated for extending writes of cached
files until the server returns the actual value (on SMB3 close or query info
for example), but it was setting the estimated value for number of blocks
to larger than the file size even if the file is likely sparse which
breaks various xfstests (e.g. generic/129, 130, 221, 228).

When i_size and i_blocks are updated in write completion do not increase
allocation size more than what was written (rounded up to 512 bytes).

Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:33:54 -05:00
Steve French
13c2e30809 cifs: minor update to list of reviewers
Add Bharath for reviewing deferred close and leases

Acked-by: Bharath SM <bharathsm@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:33:53 -05:00
Chengming Zhou
9537155b71 smb: remove SLAB_MEM_SPREAD flag usage
The SLAB_MEM_SPREAD flag is already a no-op as of 6.8-rc1, remove
its usage so we can delete it from slab. No functional change.

Link: https://lore.kernel.org/all/20240223-slab-cleanup-flags-v2-0-02f1753e8303@suse.cz/

Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:33:53 -05:00
Steve French
c1eb537bf4 cifs: allow changing password during remount
There are cases where a session is disconnected and password has changed
on the server (or expired) for this user and this currently can not
be fixed without unmount and mounting again.  This patch allows
remount to change the password (for the non Kerberos case, Kerberos
ticket refresh is handled differently) when the session is disconnected
and the user can not reconnect due to still using old password.

Future patches should also allow us to setup the keyring (cifscreds)
to have an "alternate password" so we would be able to change
the password before the session drops (without the risk of races
between when the password changes and the disconnect occurs -
ie cases where the old password is still needed because the new
password has not fully rolled out to all servers yet).

Cc: stable@vger.kernel.org
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:33:53 -05:00
Bharath SM
e4b61f3b1c cifs: prevent updating file size from server if we have a read/write lease
In cases of large directories, the readdir operation may span multiple
round trips to retrieve contents. This introduces a potential race
condition in case of concurrent write and readdir operations. If the
readdir operation initiates before a write has been processed by the
server, it may update the file size attribute to an older value.
Address this issue by avoiding file size updates from readdir when we
have read/write lease.

Scenario:
1) process1: open dir xyz
2) process1: readdir instance 1 on xyz
3) process2: create file.txt for write
4) process2: write x bytes to file.txt
5) process2: close file.txt
6) process2: open file.txt for read
7) process1: readdir 2 - overwrites file.txt inode size to 0
8) process2: read contents of file.txt - bug, short read with 0 bytes

Cc: stable@vger.kernel.org
Reviewed-by: Shyam Prasad N <sprasad@microsoft.com>
Signed-off-by: Bharath SM <bharathsm@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-03-10 19:33:53 -05:00
Peng Fan
8df6bab6cb mailbox: imx: support i.MX95 Generic/ELE/V2X MU
Add i.MX95 Generic/ELE/V2X MU support, its register layout is same as
i.MX8ULP, but the Parameter registers would show different
TR/RR. Since the driver already supports get TR/RR from Parameter
registers, not hardcoding the number, this patch just add
the compatible entry to reuse i.MX8ULP S4 cfg data.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
2024-03-10 19:05:24 -05:00
Peng Fan
2a0ac45012 mailbox: imx: populate sub-nodes
Some MUs such as i.MX95 MU, have internal SRAM which could be used
for SCMI shared memory, so populate the sub-nodes to use the SRAM.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
2024-03-10 19:05:24 -05:00
Peng Fan
81f91d6aeb mailbox: imx: get RR/TR registers num from Parameter register
i.MX8ULP, i.MX93 MU has a Parameter register encoded as below:
BIT: 15 --- 8 | 7 --- 0
      RR_NUM    TR_NUM

So to make driver easy to support more variants, get the RR/TR
registers number from Parameter register.

The patch only adds support the specific MU, such as ELE MU.
For generic MU, not add support for number larger than 4.

Reviewed-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
2024-03-10 19:05:24 -05:00
Peng Fan
f0e0110c18 mailbox: imx: support return value of init
There will be changes that init may fail, so adding return value for
init function.

Reviewed-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
2024-03-10 19:05:24 -05:00
Peng Fan
b6819b8d53 dt-bindings: mailbox: fsl,mu: add i.MX95 Generic/ELE/V2X MU compatible
Add i.MX95 Generic, Secure Enclave and V2X Message Unit compatible string.
And the MUs in AONMIX has internal RAMs for SCMI shared buffer usage.

Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
2024-03-10 19:05:23 -05:00
Martin K. Petersen
52d8210ea4 Merge patch series "Update lpfc to revision 14.4.0.1"
Justin Tee <justintee8345@gmail.com> says:

Update lpfc to revision 14.4.0.1

This patch set contains updates to log messaging, bug fixes related to
unregistration, interrupt handling, resource recovery, and clean up
patches regarding the abuse of hbalock and void pointers in the
driver.

The patches were cut against Martin's 6.9/scsi-queue tree.

Link: https://lore.kernel.org/r/20240305200503.57317-1-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-03-10 18:58:35 -04:00
Martin K. Petersen
48c0b76923 Merge patch series "qla2xxx misc. bug fixes"
Nilesh Javali <njavali@marvell.com> says:

Please apply the qla2xxx driver miscellaneous bug fixes to the scsi
tree at your earliest convenience.

Link: https://lore.kernel.org/r/20240227164127.36465-1-njavali@marvell.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-03-10 18:58:19 -04:00
Justin Tee
0fa215e532 scsi: lpfc: Copyright updates for 14.4.0.1 patches
Update copyrights to 2024 for files modified in the 14.4.0.1 patch set.

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20240305200503.57317-13-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-03-10 18:56:44 -04:00
Justin Tee
01b6b70d98 scsi: lpfc: Update lpfc version to 14.4.0.1
Update lpfc version to 14.4.0.1

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20240305200503.57317-12-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-03-10 18:56:44 -04:00
Justin Tee
85d77f917a scsi: lpfc: Define types in a union for generic void *context3 ptr
In LPFC_MBOXQ_t, the void *context3 ptr is used for various paths.  It is
treated as a generic pointer, and is type casted during its usage.

The issue with this is that it can sometimes get confusing when reading
code as to what the context3 ptr is being used for and mistakenly be reused
in a different context.

Rename context3 to ctx_u, and declare it as a union of defined ptr types.
From now on, the ctx_u ptr may be used only if users define the use case
type.

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20240305200503.57317-11-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-03-10 18:56:44 -04:00
Justin Tee
115d137aa9 scsi: lpfc: Define lpfc_dmabuf type for ctx_buf ptr
In LPFC_MBOXQ_t, the ctx_buf ptr shouldn't be defined as a generic void
*ptr.  It is named ctx_buf and it should only be used as an lpfc_dmabuf
*ptr.  Due to the void* declaration, there have been abuses of ctx_buf for
things not related to lpfc_dmabuf.

So, set the ptr type for *ctx_buf as lpfc_dmabuf.  Remove all type casts on
ctx_buf because it is no longer a void *ptr.  Convert the abuse of ctx_buf
for something not related to lpfc_dmabuf to use the void *context3 ptr.

A particular abuse of the ctx_buf warranted a new void *ext_buf ptr.
However, the usage of this new void *ext_buf is not generic.  It is
intended to only hold virtual addresses for extended mailbox commands.

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20240305200503.57317-10-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-03-10 18:56:44 -04:00
Justin Tee
18f7fe44bc scsi: lpfc: Define lpfc_nodelist type for ctx_ndlp ptr
In LPFC_MBOXQ_t data structure, the ctx_ndlp ptr shouldn't be defined as a
generic void *ptr.  It is named ctx_ndlp and it should only be used as an
lpfc_nodelist *ptr.  Due to the void* declaration, there have been abuses
of ctx_ndlp for things not related to ndlp.

So, set the ptr type for *ctx_ndlp as lpfc_nodelist.  Remove all type casts
on ctx_ndlp because it is no longer a void *ptr.  Convert the abuse of
ctx_ndlp for things not related to ndlps to use the void *context3 ptr.

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20240305200503.57317-9-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-03-10 18:56:44 -04:00
Justin Tee
f733a76ea0 scsi: lpfc: Use a dedicated lock for ras_fwlog state
To reduce usage of and contention for hbalock, a separate dedicated lock is
used to protect ras_fwlog state.

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20240305200503.57317-8-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-03-10 18:56:43 -04:00