The driver now includes the print message 'IO is completed, no reset is
required' when a reset is requested but not issued. This message is
displayed only when pending SCSI IO is completed before issuing the reset.
Signed-off-by: Chandrakanth patil <chandrakanth.patil@broadcom.com>
Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
Link: https://lore.kernel.org/r/20231003110021.168862-3-chandrakanth.patil@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
In BMC environments with concurrent access to multiple registers, certain
registers occasionally yield a value of 0 even after 3 retries due to
hardware errata. As a fix, we have extended the retry count from 3 to 30.
The same errata applies to the mpt3sas driver, and a similar patch has
been accepted. Please find more details in the mpt3sas patch reference
link.
Link: https://lore.kernel.org/r/20230829090020.5417-2-ranjan.kumar@broadcom.com
Fixes: 272652fcbf ("scsi: megaraid_sas: add retry logic in megasas_readl")
Cc: stable@vger.kernel.org
Signed-off-by: Chandrakanth patil <chandrakanth.patil@broadcom.com>
Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
Link: https://lore.kernel.org/r/20231003110021.168862-2-chandrakanth.patil@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This contains some fixes for Tegra234 boards as well as some cleanups
that will help with json-schema validation.
For older devices, there's now support for display on Smaug (a.k.a.
Pixel C) and the IOMMU for host1x is enabled on Tegra132, which should
help with large memory allocations for display and multimedia.
-----BEGIN PGP SIGNATURE-----
iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmUpXzITHHRyZWRpbmdA
bnZpZGlhLmNvbQAKCRDdI6zXfz6zocOMD/9QdfHlv4VCJR+2bbMDuElGqfT8s5/l
+5KUGi55X12ajOju3AxoomhMQmVodtl9jMps2/pDb44IB+oTlMMu0jO3cDhF+E2M
CeR3F0zF5E9ouR9udJTKIXQzEGpfsW0vnpYYPuE5/EB5feYAVouv9oj7PgKv/bFr
T6ygFaXOvldsDylrmDGN/2snQkMrDL8/Nrg6Ekk33y45vQuG9njHHNTlNJoAFAvD
XZ8OeIaaoX8Q5Oc7rDhwNR1dqUduU+uojIkQdMpxw3tKFDyvsKjD3xICw60vJXJ2
HCeuHectqWuAMBW5JYuflY18cW7Yp8oYbPZXMsUdKWkbc90KH1Dp4jvj4RiL8tXY
AbjrQCIgFaIFUh30V4/kO7JIpRJN1v72uWk/s3tSqqpLOgFlP41xycDf/dFpT5VG
su/qPRpoRoqHZ9KZJPPlXuCi4ofQ4SU5dzt6rrMFa1nWerjvULmiPXUBaEMjWhhO
sBpR+i8ZEmdCsSvzUmCqRj4bXCHTo3Z4z316B32Thn0kdDTGuSlAFFpkZKIRbLaJ
2e4FzfftGhhwmOQHLIS6lDM9x22qrUB7bAN8YwXB/zLH/11wEIV5lPCIoVCNnhrl
E8G9ifZKkq5dkCI7mPt6OlWlCLarl3uaK9xcHHuwjVPnZuhlrCrb8QLTBBnCIzIr
HSpds9T9+uwA5w==
=MDNz
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUprZgACgkQYKtH/8kJ
UieBNhAAymEXDOavd37Uhp6xAREcf8uc57x2jw5jMFNweJBFaXunkPM239m6e8wY
vH4UdoDbh9Klj5E+REC3IIbiiB5ezrjDpx0BTN0OhxrxSM+owNCB6VN1+QtHXdWh
xkhlGm9ieHoM8iVWMY+qKT9S1oRuoXzI8xFCvPhgUZQxzavwUKK40EZXwm0j/yAk
cImSJg1zTju41RVtOge/Tsf2ZSgsY57i2oZqCMqo9nQ05LpatQHadTt2CVsC2g+Y
oGFJGB84Xi01eJFy/eg1MlacuLGuUH0H+a3C+hkKHIecLnqctwzBnyXL4cfqskl7
fHnHBcubgAnr6XU9QTLnEnt45vwVLhytRPaRF17o4XqC8yW4h49L19pBSg+alPRM
JfBWKYH4R91WAp/UNP8YhM79JWWTqn9kFDN+lrxLzLOi+5OGMJIvfx8WsvWiYeSz
M6eQ4Ua1n+or6ko88CaqEWm9nZ0qoKGXGhzeHRejrjWFtJKs5bLLsaNhceoHI9Jn
tC3m3aAbVAVIiLN8ZDG3pjEL1HOcvJOqol+h8gCiysIXsDDbd/o992QVFxLGow1x
9FB/XQlA/H7e5iEH/1DYPr9fCytPrgMxC0cI+Zce5RB5MnrNxI6I7WTP29fH6j2B
UUN2t8Wkqn0Ee4/9YgnqZfdeJAjYYsdDsFqZPVAMBey7WB2HxOs=
=AKaZ
-----END PGP SIGNATURE-----
Merge tag 'tegra-for-6.7-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt
arm64: tegra: Device tree changes for v6.7-rc1
This contains some fixes for Tegra234 boards as well as some cleanups
that will help with json-schema validation.
For older devices, there's now support for display on Smaug (a.k.a.
Pixel C) and the IOMMU for host1x is enabled on Tegra132, which should
help with large memory allocations for display and multimedia.
* tag 'tegra-for-6.7-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
arm64: tegra: Use correct interrupts for Tegra234 TKE
arm64: tegra: Add power-sensors for Tegra234 boards
arm64: tegra: Mark Tegra234 SPI as compatible with Tegra114
arm64: tegra: Add dmas and dma-names for Tegra234 UARTE
arm64: tegra: Use correct format for clocks property
arm64: tegra: Remove duplicate nodes on Jetson Orin NX
arm64: tegra: Add missing current-speed for SBSA UART
arm64: tegra: Add display panel node on Smaug
arm64: tegra: Add backlight node on Smaug
arm64: tegra: Add DSI/CSI regulator on Smaug
arm64: tegra: Enable IOMMU for host1x on Tegra132
arm64: tegra: Fix P3767 QSPI speed
arm64: tegra: Fix P3767 card detect polarity
Link: https://lore.kernel.org/r/20231013153723.1729109-6-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This contains some rework of the Tegra PMC device tree bindings that
will help with validating device trees with json-schema.
-----BEGIN PGP SIGNATURE-----
iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmUpXjkTHHRyZWRpbmdA
bnZpZGlhLmNvbQAKCRDdI6zXfz6zoYQzEAC+CUu1gYL33P0Aw0e8yhnGPTB3ep0Z
MpY7HdcUWiJmv/LyhnPS4YUYAb6+ETVB3u2J/BpNNUQPmDBTC3CsGl583vZLxdxh
8A8TTEK/24LZv8eI9/YWYHHl7ouO0XlwjHCByriotAAzVglhzGb8Asig4VOGpc7C
lkz3dNMgCaDOHIRJZDjc9M247MfXSLR2u7f/w7txmIurG7LpldseZjQibrakxmCL
k7wVvNxOLk5q2BD6Rrv2fN0v0WnwR/0kc8TS0uFAYd8m5RKkIuVRr0Uj5OoCKO2u
PJNY4GUJz465sQpWheifuShh8iz8iuTD2uFkoazgBChLVJGmvf4qyfqp1JAnCP64
4BAHmTqRW75sqI99D7vqNP3/MOwUOVeN7ZYAOms8LXh12isWGyE5TeacFnJTAhj5
5yLIGaDCc0RpBINkxew27Q/mm+ROUYurD02Huz3/C2G85Q66Z7e02yLgmvHouxIk
bONsHfkmVD+AxCXvkNUqE0bFPG53Hq5d39iLDhvnf2/U7B4m43xsOZj58ZLV1TAD
vSoxX4QyjFV4SfKxPhytr/h2SQftFillHg2Ouxt4jD5Y0rjTp/s+0XRf9Eevt6dF
4i3TSHgu/11PtO8kZQp9IKleiJx6Zs26E7A02OZiG/K/TpseTrrQysiv0MIdEiCG
K72qmyJN3D7OJA==
=Xo5r
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUprTYACgkQYKtH/8kJ
UieOpw//WA9n4W7h1k6835hnjUcXrTZdsYqX3nvfcABLt/8RtF3lP3UmqagGXvS8
s+2PEDb/o0qh896o9zhUSpB8G9xhiaBuaWEZANh6Kv5hNIiASXqTKS3KwqKltZdy
2zLY4n1qmuTXmUnGTZMtFGtLeiGHsigC6mQC1xMvunMEiKKHU6dGaWE0I1P0CKqC
6IVXbgT51RDFGvmzO0fxTqi8o7qnnjm2Kbzmaoszz7hSrj61Px6AiT1/sBKx4shs
YdNkexx0zLFd87BvYk1acDQ8WmHP2aLiwwBLLbU75tp0ltnMmU55tZbxAGcl5tfQ
5EvRNbs4r0fKtXCgsb31Z3tQ1r9CO0rx2suclVJ3TmiMK8/u3EJaVQfhwRp40yXS
0MZIYTOuH/I6Zf4tpPKf50Mje5HpnOH2T1ukMlztGPO4Ke6KcB73IlBrGJjSjz3J
rD0c3muBJ7OZmYE+lhm5OupqHvQ4rmZe9b32tsvDNdSN9GUjfrU8zqI6lYkuQWXG
DNBX+Pcerue4JGLGbq3mKcxDmL0lu31ZCT/0x94WVYNqY+1zsp2ki6uTOdrEr7ry
ObqoxHA07WgjbT1z/pSdYee3Nzwb0VZ4x072l5SI7oxJshDW4MRvNqbJmJPix5kM
fKipBojTqf+B6n4csNSb9nCnZQy09FG5cUnzgpMmzgcZC8b4YiM=
=oled
-----END PGP SIGNATURE-----
Merge tag 'tegra-for-6.7-dt-bindings' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt
dt-bindings: Changes for v6.7-rc1
This contains some rework of the Tegra PMC device tree bindings that
will help with validating device trees with json-schema.
* tag 'tegra-for-6.7-dt-bindings' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
dt-bindings: arm: tegra: pmc: Relicense and move into soc/tegra directory
dt-bindings: arm: tegra: pmc: Reformat example
dt-bindings: arm: tegra: pmc: Restructure pad configuration node schema
dt-bindings: arm: tegra: pmc: Increase maximum number of clocks per powergate
dt-bindings: arm: tegra: pmc: Move additionalProperties
dt-bindings: arm: tegra: pmc: Remove useless boilerplate descriptions
dt-bindings: arm: tegra: pmc: Improve property descriptions
Link: https://lore.kernel.org/r/20231013153723.1729109-3-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- Improve audio clock accuracy on the RZ/{G2L,G2LC,V2L} SMARC EVK
development boards,
- Add FLASH support for the Renesas Bock-W development board,
- Add L2 cache and non-coherent DMA support on the RZ/Five SoC and the
RZ/Five SMARC development board,
- Add initial support for the RZ/G3S SoC and the RZ/G3S SMARC SoM and
SMARC Carrier-II EVK development boards,
- Add initial support for the R8A779F4 variant of the R-Car S4-8 SoC
and the R-Car S4 Starter Kit development board,
- Apply DT overlays to base DTBs to improve validation and usability.
-----BEGIN PGP SIGNATURE-----
iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZSkx1QAKCRCKwlD9ZEnx
cPRnAP9I5dtR2xpi5qNeEOCdWmyRXLndJ3fVzhQJkPrytjIuhQD/alIpNXsEZD08
+BUSN+3SZDfmyExNYbgUlhsVqkqEywE=
=avuX
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUprLIACgkQYKtH/8kJ
UiedcQ/+IK8POuuE10T++//UNAeloqNZ+MOblCTTFc6Tvn8nqphA3ebmrY3myKNo
UY+tKcPOSz3koWJPAZ6GAPRATa+XAUyx+IVfy7NGPfIP9zgglmiGJlLfL908xOkR
M905CGRfSIr7u2qgQX/tBVkougIplHJPjgWpX9r6ypQtvsO1hOt5SABdX/kSeSfq
M3SQ7f6dV7fSplw7sdx6yyxEPMQxhXt7kGBobuPTaZnFGWT6F+dAjS9CettKsTwV
+n4Cw2zoK3CgpvVQGgW7mzRZ4XxxVPBBDULYT1P5cFc5XQlrU3PscBwofhAYj/qG
dhwuobByTeXux1f6Bi3dOHCQ7yZvJpiZdm/4Jat8lBkl/8Flo+EqWHs6E80nNDhr
Q4huloIjlKj9f/aXb89Nbh1b7Nre21Qv1RXBPGaF7JkguCTsTn4WofMJ7OPoIYDS
hRYuKZv2QgK5iB8DDvZaZ5rkypnhu2runuDtX01OSlIPJ2nC12Z3rNNtTJtUCWi0
LLHiNaB0r4eTTYtHtvy4421wOGr+E2rwlWfHGbLG+M4UmK2NRv+nX04vDGQiyfQy
WrxY2ksFikVHj+nWVQPmhfC6T8F8OJmPNZ/nPOnv+66Ns48lYya0pt00Piqe7ueF
hX7MSNBiD56cNC5lV/3lxg4T2ijHLTCFsrgqTU9+RZR7+/alGA8=
=e3Zm
-----END PGP SIGNATURE-----
Merge tag 'renesas-dts-for-v6.7-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/dt
Renesas DTS updates for v6.7 (take two)
- Improve audio clock accuracy on the RZ/{G2L,G2LC,V2L} SMARC EVK
development boards,
- Add FLASH support for the Renesas Bock-W development board,
- Add L2 cache and non-coherent DMA support on the RZ/Five SoC and the
RZ/Five SMARC development board,
- Add initial support for the RZ/G3S SoC and the RZ/G3S SMARC SoM and
SMARC Carrier-II EVK development boards,
- Add initial support for the R8A779F4 variant of the R-Car S4-8 SoC
and the R-Car S4 Starter Kit development board,
- Apply DT overlays to base DTBs to improve validation and usability.
* tag 'renesas-dts-for-v6.7-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (25 commits)
arm64: dts: renesas: Apply overlays to base dtbs
arm64: dts: renesas: rzg3s-smarc-som: Spelling s/device-type/device_type/
arm64: dts: renesas: r9a08g045: Add missing cache-level for L3 cache
arm64: dts: renesas: r9a08g045: Add nodes for SDHI1 and SDHI2
arm64: dts: renesas: ebisu: Document Ebisu-4D support
arm64: dts: renesas: Add R-Car S4 Starter Kit support
arm64: dts: renesas: Add Renesas R8A779F4 SoC support
arm64: dts: renesas: Add initial device tree for RZ/G3S SMARC EVK board
arm64: dts: renesas: Add initial device tree for RZ SMARC Carrier-II Board
arm64: dts: renesas: Add initial support for RZ/G3S SMARC SoM
arm64: dts: renesas: Add initial DTSI for RZ/G3S SoC
riscv: dts: renesas: rzfive-smarc: Enable the blocks which were explicitly disabled
riscv: dts: renesas: r9a07g043f: Add dma-noncoherent property
riscv: dts: renesas: r9a07g043f: Add L2 cache node
ARM: dts: renesas: bockw: Add FLASH node
arm64: dts: renesas: rz-smarc: Use versa3 clk for audio mclk
dt-bindings: clock: renesas,rzg2l-cpg: Document RZ/G3S SoC
clk: tegra: fix error return case for recalc_rate
clk: si521xx: Fix regmap write accessor
clk: si521xx: Use REGCACHE_FLAT instead of NONE
...
Link: https://lore.kernel.org/r/cover.1697200123.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Two non-urgent devicetree fixes for am371-evm led pinmux and a node name
warning fix for omap4-epson-embt2ws, and updates for connected devices for
various devices:
- Device updates and enabling of pru support for am335x-pocketbeagle
- Few more devices such as leds and iio for omap4-epson-embt2ws
- Ethernet and led updates for am3517-evm
- Modem sleep pins configuration for motorola-mapphone
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmUmPD4RHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXM1sg//RrWvp+4Vmm9Ok/xvFfsylSZ20AMFqFvb
YicMt5DFyESgBNm3acTQPhMknAiWo7AK6q6WsnD3Okd8+LMwOoU4ECo6GLyhAcKL
YW4gWW3P2qPB4HNipeA/XObzi0l5yDnB4UNbU1Q0qxAGaLQS5qjtqqGOMgChcM1i
SaYoJZDRoafiC3KrMo5egvB/I5II2I4Sm6tL8cpHxHOECMIadvrCVodZEDxjVPEJ
GXCtDojAsnl53xW50dwFJqyRkooFO/lytM4BTjGFGMYqvWFLFLZME9q615klJuk3
8VEwMgfzuVz3JbpD8pYG6zHX8NAwlfCx61LuAYlUoYMSlfcUtouHaYY6gtBnGeOL
cXy3ii3vZCE8f2zwYtY5CS4JFGl1vZTM/2BsArNL2jkQesFCTAQ5QOL+mz/SDIZ0
Ladgu1N/HeQZzhz9y+Bs0WZ8MoUqNZEe5tgmrv5IDDgUZmR0w87rZo5Z/o0sbz+x
r7QrssFKTDsaAK/latrXZ1cr1oXsI0CO5EzHQwcijMQWvCKA89hfQFxFF0n+FOcB
AM2wd9sxHEO8JMOMEUgf461hKG2xZ+NS7zIX58P9yQQ72KAKFraMZetpIj5JF60X
VWl75k5dV/+dkIorrPcg788nqcbp9wmNZC6/rNxSZ2hAfJnFjgOY1zZjr0v+sfUv
vYJV+I9aEwg=
=zjz6
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUpq94ACgkQYKtH/8kJ
Uid+SBAA1PeKiNKHOxAWmQS9NHo+Q55XvkvKN0Xs4FEktO5OiiWZkodtAmwnh/d5
5mqmH5vnYu/86lerBiJCUJeBBfOXio3IGBv9PwfcUzK5UzTUahY4Ue3mtf7QfeP0
1i79gFjrVsGMp9mpBfSVL80o+O+6NCWfcTiVR47LTUzmpnsPdmpZxnctb4KMMDd7
5VEvUFfMVwA7P7u1Rzb6116Adz3oRH2X4oY/q3MiSH1e2yyEkoZmbETni7YJp8YI
kgzy0RbDo/vBeeEMDx4i3GCEiVszPqjJ+IS7jOAEJ5J2TjgIMTM6AhnUmXfd5jiP
TxIgGclPwW1p+8CvKftg26q+/aCR8THsqPEjqJtPoAwgStpm9mBbfM0TDnCCAjI3
npo0Uk69M6Z/cEcHbSBc0HMhAsbJHtkwlW6+CmWZflaiK6kGT9/0vgU5+yDV505B
+b7ehpmGx747WsG4gG0//2HRKly0jsquc0vESokF7QvoDG+FFDefD44b2aUQwNIw
uxq1cjaENFhFBhZMjNM26J5pnEPiHqjjuokBZt4WkqPhnzl5GPPkeUe3ONx1Vb5o
06Zp3vd3KP/gK9Qlqxw8LK0+poOGLg+SV/9hGJl3Vn1rtM/W0rBYyB/oPYAYAv4+
cs7rYhA/fDdboir3Kp9LKSDz4WUixBX9P4d6PIv8+Sro02VJRnE=
=r66E
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v6.7/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into soc/dt
Devicetree changes for omaps for v6.7 merge window
Two non-urgent devicetree fixes for am371-evm led pinmux and a node name
warning fix for omap4-epson-embt2ws, and updates for connected devices for
various devices:
- Device updates and enabling of pru support for am335x-pocketbeagle
- Few more devices such as leds and iio for omap4-epson-embt2ws
- Ethernet and led updates for am3517-evm
- Modem sleep pins configuration for motorola-mapphone
* tag 'omap-for-v6.7/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: dts: omap4-embt2ws: Fix pinctrl single node name warning
ARM: dts: motorola-mapphone: Add mdm6600 sleep pins
ARM: dts: am3517: Configure ethernet alias
ARM: dts: am3517-evm: Enable Ethernet PHY Interrupt
ARM: dts: am3517-evm: Fix LED3/4 pinmux
ARM: dts: omap3-gta04: Drop superfluous omap36xx compatible
ARM: dts: omap: omap4-embt2ws: Add IMU at control unit
ARM: dts: omap: omap4-embt2ws: Let IMU driver handle Magnetometer internally
ARM: dts: am335x-pocketbeagle: add missing GPIO mux
ARM: dts: am335x-pocketbeagle: enable pru
ARM: dts: am335x-pocketbeagle: remove dependency cycle
ARM: dts: am335x-pocketbeagle: update LED information
ARM: dts: omap4: embt2ws: add LED
Link: https://lore.kernel.org/r/pull-1697010475-119828@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
It contains:
- the new Microchip SAMA5D29 Curiosity board
- a typo fix in TDES node name for SAMA5D4 dtsi
- enablement of RTT as RTC for SAM9X60 Curiosity board
-----BEGIN PGP SIGNATURE-----
iHUEABYIAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCZSTYRQAKCRCejrg/N2X7
/XiOAQC8ABK8+N0jCvy45CglaIUWemwWDQc1TG59FaIl4tDVbAEAgmFEVVePbs9J
y0P4/f5a9103UKD8KUCl5CnjTb7wHgM=
=1cT5
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUpq50ACgkQYKtH/8kJ
Uie0/g//SI7admEcUvu9kdS9XgBgElADKRjdwX7BqrpVXvc0+r/PUs5GCcOZ5e/e
/UwDLQOXa9a9sDYyeKxp6vi/OaM8D2ZZPNjDWIxkX4HDet76iVs3iCXt0Moc+Sjg
BQLDyivZFqHyy8lytKp4L4Xys1Col+QMTv0lnT+bXVjX9ww5kjnDumB2qUsbKHfB
C/SzdJgFi4edqLgfK6l/gCLkPFYX9njKnwI0pYnsoqEgZGXqKpmhwYgfeBrGskrV
x5i2EjOh16gYc1cXb/0ek4fq7rfLZj26ol2ojMAnhecur3AjpIssEI9v/UcHYIgc
uwX2YasOH3yczVEKOpWa4VNUGv2We667uuSnj7nIo2P637stx1JLUICjdq3xj0Ez
yva2wCzj2P5yEvj0GVbjp8ODxJY3R3S5zlaFUlzxr4+/wt5XTR6ywDXqOopHR0wt
Cod8CedlKXRzFYAJf6Ui0Nc8HPk6kf5Yq7GpAqetL7ejbQ2W7w20+edJyR3tW14h
SxbMqj8SsScWr8mPJKIkG/Xi3FHnr2LEtYsH6+PGaZot8oJldC0uwP4nnQihi43T
8j0GVoZUNMo+4TN0OOJ4lh8vBkUhig9SdcB0tTcN92lXVW0u9zaeODbJ+0UjfS5u
FCoFaJZ3kxUqmj1HkVfYE19GSaLjlP4lvqTdcQ/P1ZO676Lp8eI=
=soa/
-----END PGP SIGNATURE-----
Merge tag 'at91-dt-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt
Microchip AT91 device tree updates for 6.7
It contains:
- the new Microchip SAMA5D29 Curiosity board
- a typo fix in TDES node name for SAMA5D4 dtsi
- enablement of RTT as RTC for SAM9X60 Curiosity board
* tag 'at91-dt-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
ARM: dts: at91: sam9x60_curiosity: Add mandatory dt property for RTT
ARM: dts: at91: sama5d29_curiosity: Add device tree for sama5d29_curiosity board
dt-bindings: ARM: at91: Document Microchip SAMA5D29 Curiosity
ARM: dts: at91/trivial: fix typo in crypto DT naming
Link: https://lore.kernel.org/r/20231010045955.1259843-1-claudiu.beznea@tuxon.dev
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- Provide proper bindings including missing vendor prefixes
for the device trees in use and one more new vendor.
- Add a device tree for USRobotics USR8200 which has two
active users.
- Augment the "reset" GPIO buttons to send KEY_RESTART as
appropriate.
- Enable write on the NSLU2 flash so we get a writeable
rootfs on this device.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmUkY/QACgkQQRCzN7AZ
XXOZVhAAhutV6hgaZ+P/gWAk+m/2U655UsU3hsfvAe7JZJQLIV/0BypGfmCPbc3V
3GprEGBX0rsyrl6rTCXue9EmAonUbyedLJTFZKxnLMZJZORJvBj5p2GbbsDC0rZl
WQcsKOCR6LGWvfObfQuhqZegWQeLfu/cnRYLMqFLDO/lEczQdSjw+X6uImRYv5qB
2lUY4vgEjhkaQVbdEsjoZ5cSfPYz5xkNaNySkElI/XhpyeCWmsHnCqrKls4tNX1a
gN+hKBPZ4PHA8eLMz+9YQlNQUj1YGGHQDAdUcuKHDlQl9RY1cExpbNUWoCOYTtQ3
FISVbl6JBupSWrSDW65a67kdQPN/5vciCyN+cCviGUchPXfOm9PHMK0f5v9KerHP
edSO94ioZKP8V38VRvgJyVWarjkRVelT3is7F4CFo1syvMG4igT0LZHo9H2yAJbs
psO3pJqGpjOGeQYo/tW+xaunEDcxnT6Q1rOJ9v/hpCugsckpYTq2IhHdfG7nUUlG
FAGByF8q3E17zncWOMLcSJqHhplTPYuEaFueJmB8neH4Chyjao09V7AlfkaQivYO
yVCScDAIEQgUtpgyrvZnBE0xVaytbWZWNqROMYWleaWjXqkvO6WvubfIAwt8ldYN
wDPgML1gv1iqH7MRQLkOd3F6WwYVXITJ2nRu7VsMtuVaLKRqMPM=
=Eh7F
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUpq2wACgkQYKtH/8kJ
UierTRAA2X4c4oBG0UjCLEnP5TEKAPJ8dNenQUixNUG681nm8fMODTBOBsPO4+Ss
7Ryj7EOXIigMyOclMSD94c8eQRxn+2sUOA7KEO+xzTILl0sp8P/YqbKIKtM4k+UO
X2+Gvsmv2s+Kjr8wqpZ/OxKAui9TGxmmNMSMbp9hEFwQSVAkCCrPNBnOrTqMiB2d
l39RLx3d4v+EMzL6iHdG+5iPgUlLMJjqKTjCuWR44QE0qhFP1UUwAcvwsgCsmeZP
DPvMIuPEVxEpn7eh20flE+Zv8q5Nadz0kYLIqq45hc7AGAJPtylaiLIANYge4lN1
MqBisd2wGVOmvtqztK4+E/vnYWXG/rX7SK/aGWFgdZ1J+6b78ekRDzDiykLy+/G0
Uy3i0mIf4N18jZyFq6Q3wEgc8fpLSst1sFYEeWUdNEH+Kxog7AXH5fcwJLgXzq6F
gyEt2dhAK8BDlbjkfsKRHnGN2iAy+UHuYfFF4EThlH1imf103XfMNP/IWtxDZ4EX
PUOcYHSRdGcrILtabL8wtHDEvicxGDHhFWmKPpyNRNEFjD5qhb+CMjl8jaI+dFxI
7rEB2+SGmlEvUVF9tm0ndrb4n8sptdhl/ClKA/LmUqSlA/hZDSs3dVQ78CnG90L2
K3rQMTqn7BFUx2GZHR7Sw+yJRFR83ipX/5gJMgHU1CbhytnEyWY=
=otEO
-----END PGP SIGNATURE-----
Merge tag 'ixp4xx-for-soc-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into soc/dt
Some IXP4xx updates for the v6.7 kernel cycle:
- Provide proper bindings including missing vendor prefixes
for the device trees in use and one more new vendor.
- Add a device tree for USRobotics USR8200 which has two
active users.
- Augment the "reset" GPIO buttons to send KEY_RESTART as
appropriate.
- Enable write on the NSLU2 flash so we get a writeable
rootfs on this device.
* tag 'ixp4xx-for-soc-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
ARM: dts: ixp4xx: Use right restart keycode
ARM: dts: ixp4xx-nslu2: Enable write on flash
ARM: dts: ixp4xx: Add USRobotics USR8200 device tree
ARM: dts: Use only the Linksys compatible for now
dt-bindings: arm: List more IXP4xx devices
dt-bindings: Add vendor prefixes
Link: https://lore.kernel.org/r/CACRpkdZZ6W8uic97S9=Aa+S+s0-0k50TDw1e00u6gFcQfAVDdw@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Mike Christie <michael.christie@oracle.com> says:
The following patches were made over Linus tree (Martin's 6.7 branch
was missing some changes to sd.c). They only contain the sshdr and
rdac retry fixes from the "Allow scsi_execute users to control
retries" patchset.
The patches in this set are reviewed and tested but the changes to how
we do retries will take a little longer and require more testing, so I
broke up the series to make them easier to review.
Link: https://lore.kernel.org/r/20231004210013.5601-1-michael.christie@oracle.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
If scsi_execute_cmd returns < 0, it doesn't initialize the sshdr, so we
shouldn't access the sshdr. If it returns 0, then the cmd executed
successfully, so there is no need to check the sshdr. This has us access
the sshdr when we get a return value > 0.
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Link: https://lore.kernel.org/r/20231004210013.5601-13-michael.christie@oracle.com
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: John Garry <john.g.garry@oracle.com>
Reviewed-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
If scsi_execute_cmd returns < 0, it doesn't initialize the sshdr, so we
shouldn't access the sshdr. If it returns 0, then the cmd executed
successfully, so there is no need to check the sshdr. This has us access
the sshdr when we get a return value > 0.
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Link: https://lore.kernel.org/r/20231004210013.5601-12-michael.christie@oracle.com
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: John Garry <john.g.garry@oracle.com>
Reviewed-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
If scsi_execute_cmd returns < 0, it doesn't initialize the sshdr, so we
shouldn't access the sshdr. If it returns 0, then the cmd executed
successfully, so there is no need to check the sshdr. This has us access
the sshdr when we get a return value > 0.
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Link: https://lore.kernel.org/r/20231004210013.5601-11-michael.christie@oracle.com
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: John Garry <john.g.garry@oracle.com>
Reviewed-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
If scsi_execute_cmd returns < 0, it doesn't initialize the sshdr, so we
shouldn't access the sshdr. If it returns 0, then the cmd executed
successfully, so there is no need to check the sshdr. This has us access
the sshdr when we get a return value > 0.
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Link: https://lore.kernel.org/r/20231004210013.5601-10-michael.christie@oracle.com
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: John Garry <john.g.garry@oracle.com>
Reviewed-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
The sshdr passed into scsi_execute_cmd is only initialized if
scsi_execute_cmd returns >= 0, and scsi_mode_sense will convert all non
good statuses like check conditions to -EIO. This has scsi_mode_sense
callers that were possibly accessing an uninitialized sshdrs to only
access it if we got -EIO.
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Link: https://lore.kernel.org/r/20231004210013.5601-9-michael.christie@oracle.com
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
If scsi_execute_cmd returns < 0, it doesn't initialize the sshdr, so we
shouldn't access the sshdr. If it returns 0, then the cmd executed
successfully, so there is no need to check the sshdr. This has us access
the sshdr when we get a return value > 0.
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Link: https://lore.kernel.org/r/20231004210013.5601-7-michael.christie@oracle.com
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: John Garry <john.g.garry@oracle.com>
Reviewed-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
If scsi_execute_cmd returns < 0, it doesn't initialize the sshdr, so we
shouldn't access the sshdr. If it returns 0, then the cmd executed
successfully, so there is no need to check the sshdr. This has us access
the sshdr when we get a return value > 0.
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Link: https://lore.kernel.org/r/20231004210013.5601-6-michael.christie@oracle.com
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Martin Wilck <mwilck@suse.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
If send_mode_select retries scsi_execute_cmd it will leave err set to
SCSI_DH_RETRY/SCSI_DH_IMM_RETRY. If on the retry, the command is
successful, then SCSI_DH_RETRY/SCSI_DH_IMM_RETRY will be returned to the
scsi_dh activation caller. On the retry, we will then detect the previous
MODE SELECT had worked, and so we will return success.
This patch has us return the correct return value, so we can avoid the
extra scsi_dh activation call and to avoid failures if the caller had hit
its activation retry limit and does not end up retrying.
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Link: https://lore.kernel.org/r/20231004210013.5601-5-michael.christie@oracle.com
Reviewed-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
If scsi_execute_cmd returns < 0, it doesn't initialize the sshdr, so we
shouldn't access the sshdr. If it returns 0, then the cmd executed
successfully, so there is no need to check the sshdr. This has us access
the sshdr when we get a return value > 0.
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Link: https://lore.kernel.org/r/20231004210013.5601-4-michael.christie@oracle.com
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: John Garry <john.g.garry@oracle.com>
Reviewed-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
If scsi_execute_cmd returns < 0, it doesn't initialize the sshdr, so we
shouldn't access the sshdr. If it returns 0, then the cmd executed
successfully, so there is no need to check the sshdr. This has us access
the sshdr when we get a return value > 0.
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Link: https://lore.kernel.org/r/20231004210013.5601-3-michael.christie@oracle.com
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: John Garry <john.g.garry@oracle.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
If scsi_execute_cmd returns < 0, it doesn't initialize the sshdr, so we
shouldn't access the sshdr. If it returns 0, then the cmd executed
successfully, so there is no need to check the sshdr. This has us access
the sshdr when we get a return value > 0.
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Link: https://lore.kernel.org/r/20231004210013.5601-2-michael.christie@oracle.com
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: John Garry <john.g.garry@oracle.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Benchmark argument is handled by custom argument parsing code which is
more complicated than it needs to be.
Process benchmark argument within the normal getopt() handling and drop
unnecessary ben_ind and has_ben variables. When -b is given, terminate
the argument processing as -b consumes all remaining arguments.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tested-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Reviewed-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Reviewed-by: "Wieczor-Retman, Maciej" <maciej.wieczor-retman@intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
ben_count is only used to write the terminator for the list. It is
enough to use i from the loop so no need for another variable.
Remove ben_count variable as it is not needed.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tested-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Reviewed-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Reviewed-by: "Wieczor-Retman, Maciej" <maciej.wieczor-retman@intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Benchmark command is used in multiple tests so it should not be
mutated by the tests but CMT test alters span argument. Due to the
order of tests (CMT test runs last), mutating the span argument in CMT
test does not trigger any real problems currently.
Mark benchmark_cmd strings as const and setup the benchmark command
using pointers. Because the benchmark command becomes const, the input
arguments can be used directly. Besides being simpler, using the input
arguments directly also removes the internal size restriction.
CMT test has to create a copy of the benchmark command before altering
the benchmark command.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tested-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Reviewed-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Reviewed-by: "Wieczor-Retman, Maciej" <maciej.wieczor-retman@intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Benchmark command is initialized before resctrl FS check and
preparation code that can call ksft_exit_skip(). There is no strong
reason why the resctrl FS support check and unmounting it (if already
mounted), has to be done after the benchmark command initialization.
Move benchmark command initialization such that it is done not until
right before the tests commence. This simplifies rollback handling when
benchmark command initialization starts to use dynamic allocation (in a
change following this).
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Reviewed-by: "Wieczor-Retman, Maciej" <maciej.wieczor-retman@intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
struct resctrl_val_param contains span member. resctrl_val(), however,
never uses it because the value of span is embedded into the default
benchmark command and parsed from it by run_benchmark().
Remove span from resctrl_val_param. Provide DEFAULT_SPAN for the code
that needs it. CMT and CAT tests communicate span that is different
from the DEFAULT_SPAN between their internal functions which is
converted into passing it directly as a parameter.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tested-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Reviewed-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Reviewed-by: "Wieczor-Retman, Maciej" <maciej.wieczor-retman@intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
bw_report is always set to "reads" and bm_type is set to "fill_buf" but
is never used.
Set bw_report directly to "reads" in MBA/MBM test and remove bm_type.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tested-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Reviewed-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Reviewed-by: "Wieczor-Retman, Maciej" <maciej.wieczor-retman@intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Benchmark command must be the last argument because it consumes all the
remaining arguments but help misleadingly shows it as the first
argument. The benchmark command is also shown in quotes but it does not
match with the code.
Correct -b argument place in the help message and remove the quotes.
Tweak also how the options are presented by using ... notation.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tested-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Reviewed-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Reviewed-by: "Wieczor-Retman, Maciej" <maciej.wieczor-retman@intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Benchmark command is copied into an array in the stack. The array is
BENCHMARK_ARGS items long but the command line could try to provide a
longer command. Argument size is also fixed by BENCHMARK_ARG_SIZE (63
bytes of space after fitting the terminating \0 character) and user
could have inputted argument longer than that.
Return error in case the benchmark command does not fit to the space
allocated for it.
Fixes: ecdbb911f2 ("selftests/resctrl: Add MBM test")
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tested-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Reviewed-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Reviewed-by: "Wieczor-Retman, Maciej" <maciej.wieczor-retman@intel.com>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Compiling resctrl selftest after adding a __printf() attribute to
ksft_print_msg() exposes -Wformat warning in show_cache_info().
The format specifier used expects a variable of type int but a long
unsigned int variable is passed instead.
Change the format specifier to match the passed variable.
Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Compiling mm selftest after adding a __printf() attribute to
ksft_print_msg() exposes -Wformat warning in remap_region().
Fix the wrong format specifier causing the warning.
The mm selftest uses the printf attribute in its full form. Since the
header file that uses it also includes kselftests.h it can use the macro
defined there.
Use __printf() included with kselftests.h instead of the full attribute.
Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
The __printf() macro is used in many tools in the linux kernel to
validate the format specifiers in functions that use printf. The kvm
selftest uses it without putting it in a macro definition while it
also imports the kselftests.h header where the macro attribute is
defined.
Use __printf() from kselftests.h instead of the full attribute.
Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Compiling sigaltstack selftest after adding a __printf() attribute to
ksft_print_msg() exposes -Wformat warning in main().
The format specifier inside ksft_print_msg() expects a long
unsigned int but the passed variable is of unsigned int type.
Fix the format specifier so it matches the passed variable.
Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Compiling pidfd selftest after adding a __printf() attribute to
ksft_print_msg() and ksft_test_result_pass() exposes -Wformat warnings
in error_report(), test_pidfd_poll_exec_thread(),
child_poll_exec_test(), test_pidfd_poll_leader_exit_thread(),
child_poll_leader_exit_test().
The ksft_test_result_pass() in error_report() expects a string but
doesn't provide any argument after the format string. All the other
calls to ksft_print_msg() in the functions mentioned above have format
strings that don't match with other passed arguments.
Fix format specifiers so they match the passed variables.
Add a missing variable to ksft_test_result_pass() inside
error_report() so it matches other cases in the switch statement.
Fixes: 2def297ec7 ("pidfd: add tests for NSpid info in fdinfo")
Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Compiling openat2 selftest after adding a __printf() attribute to
ksft_print_msg() exposes a -Wformat warning in test_openat2_flags().
The wrong format specifier is used for printing test.how->flags
variable.
Change the format specifier to %llX so it matches the printed variable.
Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Compiling cachestat selftest after adding a __printf() attribute to
ksft_print_msg() exposes a -Wformat warning in print_cachestat().
The format specifier in printf() call expects long int variables and
received long long int.
Change format specifiers to long long int so they match passed
variables.
Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>
Acked-by: Nhat Pham <nphamcs@gmail.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Kselftest header defines multiple variadic functions that use printf
along with other logic.
There is no format checking for the variadic functions that use
printing inside kselftest.h. Because of this the compiler won't
be able to catch instances of mismatched printf formats and debugging
tests might be more difficult.
Add the common __printf() attribute macro to kselftest.h.
Add __printf() attribute to every function using formatted printing
with variadic arguments.
Adding the attribute and compiling all selftests exposes a number of
-Wformat warnings which were previously unnoticed due to a lack of
format specifiers checking by the compiler.
Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Mike Christie <michael.christie@oracle.com> says:
The following patches were made over Linus's tree but apply over
Martin's branches. They allow userspace to configure how fabric
drivers submit cmds to backend drivers.
Right now loop and vhost use a worker thread, and the other drivers
submit from the contexts they receive/process the cmd from. For
multiple LUN cases where the target can queue more cmds than the
backend can handle then deferring to a worker thread is safest because
the backend driver can block when doing things like waiting for a free
request/tag. Deferring also helps when the target has to handle
transport level requests from the recv context.
For cases where the backend devices can queue everything the target
sends, then there is no need to defer to a workqueue and you can see a
perf boost of up to 26% for small IO workloads. For a nvme device and
vhost-scsi I can see with 4K IOs:
fio jobs 1 2 4 8 10
--------------------------------------------------
workqueue
submit 94K 190K 394K 770K 890K
direct
submit 128K 252K 488K 950K -
Link: https://lore.kernel.org/r/1b1f7a5c-0988-45f9-b103-dfed2c0405b1@oracle.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This exports the fabric driver's direct submit settings, so users know what
the driver supports. It will be helpful when they are exporting a device
through different targets and one doesn't support direct submission.
The new files allow the fabric to report what submission types they default
to and if they support direct submission:
default_submit_type:
1 - TARGET_DIRECT_SUBMIT - If the user has not requested a specific value
then the fabric requests direct submission.
2 - TARGET_QUEUE_SUBMIT - If the user has not requested a specific value
then the fabric requests queued submission.
Note that these fabric values are based on what the fabric driver currently
defaults to for compat with exiting setups.
direct_submit_supported:
0 - The fabric does not support direct submission.
1 - The fabric supports direct submission.
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Link: https://lore.kernel.org/r/20230928020907.5730-8-michael.christie@oracle.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This allows userspace to request the fabric drivers do direct submissions
if they support it. With the new device file, submit_type, users can
write 0 - 2 to control how commands are submitted to the backend:
0 - TARGET_FABRIC_DEFAULT_SUBMIT - LIO will use the fabric's default
submission type. This is the default for compat.
1 - TARGET_DIRECT_SUBMIT - LIO will submit the cmd to the backend from the
calling context if the fabric the cmd was received on supports it,
else it will use the fabric's default type.
2 - TARGET_QUEUE_SUBMIT - LIO will queue the cmd to the LIO submission
workqueue which will pass it to the backend.
When using an NVMe drive and vhost-scsi with direct submission we see
around a 20% improvement in 4K I/Os:
fio jobs 1 2 4 8 10
--------------------------------------------------
defer 94K 190K 394K 770K 890K
direct 128K 252K 488K 950K -
And when using the queueing mode, we now no longer see issues like where
the iSCSI tx thread is blocked in the block layer waiting on a tag so it
can't respond to a nop or perform I/Os for other LUs.
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Link: https://lore.kernel.org/r/20230928020907.5730-6-michael.christie@oracle.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Move the code from transport_handle_cdb_direct() to target_submit() and
have iSCSI call target_submit().
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Link: https://lore.kernel.org/r/20230928020907.5730-5-michael.christie@oracle.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Move the hack to clear some buffers to transport_handle_cdb_direct() so we
can eventually merge transport_handle_cdb_direct() and target_submit().
This also fixes up the comment so it's clear it was only for udev and
reflects that the referenced function does not exist and we now allow more
than 1 page for control CDBs.
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Link: https://lore.kernel.org/r/20230928020907.5730-4-michael.christie@oracle.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Move core_alua_check_nonop_delay() to transport_handle_cdb_direct() so the
iSCSI target driver doesn't have to call as many core functions
directly. We will eventually merge transport_handle_cdb_direct and
target_submit so iSCSI and the other drivers call a common function.
It will also be helpful as preparation for future changes which allow the
iSCSI target to defer command submission to the LIO submission workqueue,
because we will have a common submission function for that which will be
based on transport_handle_cdb_direct()/target_submit().
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Link: https://lore.kernel.org/r/20230928020907.5730-3-michael.christie@oracle.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
In some cases, like with multiple LUN targets or where the target has to
respond to transport level requests from the receiving context it can be
better to defer cmd submission to a helper thread. If the backend driver
blocks on something like request/tag allocation it can block the entire
target submission path and other LUs and transport IO on that session.
In other cases like single LUN targets with storage that can support all
the commands that the target can queue, then it's best to submit the cmd
to the backend from the target's cmd receiving context.
Subsequent commits will allow the user to config what they prefer, but
drivers like loop can't directly submit because they can be called from a
context that can't sleep. And, drivers like vhost-scsi can support direct
submission, but need to keep their default behavior of deferring execution
to avoid possible regressions where the backend can block.
Make the drivers tell LIO core if they support direct submissions and their
current default, so we can prevent users from misconfiguring the system and
initialize devices correctly.
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Link: https://lore.kernel.org/r/20230928020907.5730-2-michael.christie@oracle.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>