Rockchip RK3528 has two Ethernet controllers based on Synopsys DWC
Ethernet QoS IP.
Add device tree nodes for the two Ethernet controllers in RK3528.
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Tested-by: Yao Zi <ziyao@disroot.org>
Link: https://lore.kernel.org/r/20250509202402.260038-2-jonas@kwiboo.se
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
The kernel test robot reports the following error when building on
Hexagon with hexagon-allmodconfig.
ERROR: modpost: "__hexagon_divdi3"
[drivers/media/platform/amlogic/c3/mipi-csi2/c3-mipi-csi2.ko] undefined!
The error is caused by using DIV_ROUND_UP() with a 64 bits divisor with
a 32-bit dividend, which on Hexagon and clang-17 is resolved with a call
to the __hexagon_divdi3() helper function, part of the compiler support
library and not available when building Linux.
Use DIV_ROUND_UP_ULL() to fix the build error and avoid calling the
__hexagon_divdi3() helper function.
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202505101334.UHxNcUUO-lkp@intel.com/
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
In order to point out to the unsuspecting KVM hacker that they
are missing something somewhere, validate that the known FGT bits
do not intersect with the corresponding RES0 mask, as computed at
boot time.
THis check is also performed at boot time, ensuring that there is
no runtime overhead.
Signed-off-by: Marc Zyngier <maz@kernel.org>
Defining the FGU behaviour is extremely tedious. It relies on matching
each set of bits from FGT registers with am architectural feature, and
adding them to the FGU list if the corresponding feature isn't advertised
to the guest.
It is however relatively easy to dump most of that information from
the architecture JSON description, and use that to control the FGU bits.
Let's introduce a new set of tables descripbing the mapping between
FGT bits and features. Most of the time, this is only a lookup in
an idreg field, with a few more complex exceptions.
While this is obviously many more lines in a new file, this is
mostly generated, and is pretty easy to maintain.
Reviewed-by: Joey Gouly <joey.gouly@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
The architecture introduces a trap for PSB CSYNC that fits in
the same EC as LS64. Let's deal with it in a similar way as
LS64.
It's not that we expect this to be useful any time soon anyway.
Signed-off-by: Marc Zyngier <maz@kernel.org>
We do not have a computed table for HCRX_EL2, so statically define
the bits we know about. A warning will fire if the architecture
grows bits that are not handled yet.
Reviewed-by: Joey Gouly <joey.gouly@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Flip the hyervisor FGT configuration over to the computed FGT
masks.
Reviewed-by: Joey Gouly <joey.gouly@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
- Enable modular support for the Renesas RZ/G2L GPT and MSIOF sound in
the ARM64 defconfig,
- Enable more support for RZN1D-DB/EB in shmobile_defconfig.
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCaB4BQgAKCRCKwlD9ZEnx
cIo1APkBYQV8WZJNdKWIn3f3k7bfZJrbRSjRjvCnGs76wFI6nAEA7O63MVuy1kto
Hl6ApTlnptcOVvG+Bu6b+33QMN1eOwU=
=OKti
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmgfH+YACgkQYKtH/8kJ
UiclahAA3K8KN98hTrPUsHEjmY7vMvxDKgQ28EmIpucWjaem9o7A4ggOGIxCtLAO
zcvexAF6fTt9Uhn6ErDrhl1eqVsXPb5VLjabgiqZwTpgESfzdEvNUHJYKpRiL++a
vMFANoHRqTniKH4j6HudT+Dww+wCG64cnsBYeNbEKV0iL0WIzJlssvPLU53ibgTw
CsKiJSOcEv5+2GOFTj0ZosNBC7b9ivZoTWIs4NSzsmHgH758AGuoHy6ypA+dgMTN
ESA+j5Py1IBK05swWmWB28zTnp+y73/Arf/vOieAKfHVRPoqEduKPtHDZoVSs46H
y8btCKIkIDsFPAhJbM/wsnBowbcSSvxZrv0ENze4VjaqfznNXLre35jTNECZl6T/
XAfxZ/RoxQRdGocYHhv8DpjUSxZSG99gaxq87HFPNa8XXaWoNxS0bGULd1HTwAYG
WiOqLSaqi7sDe6nAJTxqmpmEiYv/zuK+XvuBQwq2GFqj2faH4lWlgH5nokxZVKMK
S5ILgsrH0Ghqm4fprmYz3gCoEVh6lF/kHefiJznRdYiYydhb5kRim1Qlz1WegzQo
edbDww95iPhJZjZPSFNs7oSr6oUMQWImWl9EhlHiKlRElQsYejjN0o3zOhqU9Uxj
ZFLe2VnW3LXgOv9qlw3hXQfE/HoVtkXBwpbgN/a3B01LWHylRIw=
=ACVd
-----END PGP SIGNATURE-----
Merge tag 'renesas-arm-defconfig-for-v6.16-tag2' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/defconfig
Renesas ARM defconfig updates for v6.16 (take two)
- Enable modular support for the Renesas RZ/G2L GPT and MSIOF sound in
the ARM64 defconfig,
- Enable more support for RZN1D-DB/EB in shmobile_defconfig.
* tag 'renesas-arm-defconfig-for-v6.16-tag2' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
ARM: shmobile: defconfig: Enable more support for RZN1D-DB/EB
arm64: defconfig: Add Renesas MSIOF sound support
arm64: defconfig: Enable Renesas RZ/G2L GPT config
arm: multi_v7_defconfig: Drop individual Renesas SoC entries
arm: shmobile_defconfig: Drop individual Renesas SoC entries
arm64: defconfig: Remove individual Renesas SoC entries
soc: renesas: Kconfig: Enable SoCs by default when ARCH_RENESAS is set
Link: https://lore.kernel.org/r/cover.1746798750.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- omap: use correct function to read from device tree
- MAINTAINERS: remove Seth from ISMT maintainership
-----BEGIN PGP SIGNATURE-----
iIwEABYKADQWIQScDfrjQa34uOld1VLaeAVmJtMtbgUCaB3svBYcYW5kaS5zaHl0
aUBrZXJuZWwub3JnAAoJENp4BWYm0y1u+LYBAM9HQg3hDogvUTzT1bDUeBzAtNPk
brPFmUSi9wFZp8L1AQDwdTQSZOFp5yjboAtU5/MDBTFxdPlROkxrzror6wDDDA==
=HzZn
-----END PGP SIGNATURE-----
Merge tag 'i2c-host-fixes-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux into i2c/for-current
i2c-host-fixes for v6.15-rc6
- omap: use correct function to read from device tree
- MAINTAINERS: remove Seth from ISMT maintainership
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. We're in the process of
converting all GPIO drivers to using the new API. This series converts
all ARM board-file level controllers.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEFp3rbAvDxGAT0sefEacuoBRx13IFAmf2MAsACgkQEacuoBRx
13K64g//TaM6Kg78MV9vfhTmIMdqT6dp+/VxBd9xIWC+Ku88GnJx7FKga/jkZZGE
iJM4UdCVqz74I377+DQpxsXoXnWqT5Hq5zPRC4Cvc2f2lVrBSJWHXfNhO5Ad0Kqc
KVJEdrnjYvP0Wtfnc9ssnySQBrjF6JEWHahYf7UH20/SHBNUWvRH4Ti6+ODupw4H
fhgsAgbLEARIgdEWUNa7vArtSQ8PK/1EDKigKIUPIg8vbEQWGW8NEKXBQidCNFWB
LDYfmkjAWukQwPLqi/L6VkMnJ6sPCFlVLsXQ3mKtCGnnB224njGPNds3Ddm0REg1
MtvUFXOLgkYPatvZab9XrzCudmepQLrK7aH2UGHzs2KKLQHweTpsEVjz6RKa7JH5
blP/ebt5PUs5xDdyWB3X3DaBxSaezS7aeLxCX8lJ5CQxFwqlcxatpXHwTFpBkNwh
HZ5Nt+PxnJBhRlkppt0UiPvLJD2B5YOn4FeWCbl4i9ZKj09VnMZQC2YTA9pw95Nh
n/G72lpmC2ttuTZJT+p/bPdkWVW4s1hQ52gfxAWiAJKeRhfQ9AlcAADFhGvJWT8p
jU40Fftx/btZoRDnwBPLZEWlUApIMjsjonQ93cwF91cVFgEnmEzjF5frCiMXbr9N
DlLYLeWAts7vs23Z+PmbcPU6+45mjY8BqQNynVg7PIJP/J3m+9c=
=lDGg
-----END PGP SIGNATURE-----
Merge tag 'arm-gpio-set-conversion-for-v6.16-rc1' of https://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into soc/arm
ARM: convert board-file GPIO chips to using new value setters
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. We're in the process of
converting all GPIO drivers to using the new API. This series converts
all ARM board-file level controllers.
* tag 'arm-gpio-set-conversion-for-v6.16-rc1' of https://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
ARM: s3c/gpio: use new line value setter callbacks
ARM: scoop/gpio: use new line value setter callbacks
ARM: sa1100/gpio: use new line value setter callbacks
ARM: orion/gpio: use new line value setter callbacks
Use standard names for the APBDMA controller device tree nodes, add
support for the ASUS Transformer Pad LTE TF300TL and clean up the Apalis
evaluation board by removing the unused pcie-switch node.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmgebasACgkQ3SOs138+
s6GHDQ/8DVwl0/tH3SdPJs20n/Q7k46tPqKgsEsfl6oRpLj7qn3xEvteBxAbICkc
lRtBhVE3Yg5OTgyXZrreBA0UNitMxzpsKmZcDvWAA5CF9z+kL8cCehB17onTaAhu
9q8glEYVa+arcJ52jpbw81t6+uQxMTQWcz0RtDZH0Q8W6ytf4LDhf9kGHSsa4lOM
SHG8CFToO4/XYHwVAeVnZKEtMN/8FENLb5VvJlHPFbWF82T2g+HlVEf4gYAPqVEP
ewjjwP8EElvcCfGtkB3iJYriDI6ztrTkJqEx7TiAG7LOnca66PBKRVUh1cGsUN9s
Dudvn5OmPScGQi9Gvr1nK+tgNlk0Uv0eSkzd2SQ1Y7hfm4xWSuistuiyJYcpXkNO
tcKbPgkVgdCO2WB0oZMx55iXI19T6WgnRsMqZa9Y58/GbwGeKpEiFvrR6Z4jzAb3
+4Bgb+ZVjSgZGHWVWVyKBQ+ZLQoKcscgtiakpZfgqwFdrbNWYHfdjLWiSfTRYxHP
qgMlvQIT8yjFPo3VqWlTxur1iw7bd5l5I4/qHFB/lBBe0lUEBX64QT0RdbJLid7a
uJvmezaoEN02uSa+iro4TDOI4EUEwOyklcus9kUlOENUgBt54WhzcF4erBUPXxbS
pORnB97JWs2V6EyDAohqVCDI+e/db+ZAOtyCwIpPaFHs8kr3bKM=
=yI6+
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmgfGHYACgkQYKtH/8kJ
UidESg//b1D8/J2nvJx2iEwOH8U6dJwjoq99nw3nl09UqHbzUCvU08zaM1pqdDLK
HT0z0RHEm+OJhc+8aUGnWYa6D3Hv04UaEQCPJQVLR1TxvW69YY+Ge44iJsUr0zTS
+X0WobRNS9Fys3pTPA+5ZtqodNqFl790dqT4+rZo8jy5EnLVRlpSDHJsKOE/N9aw
wKA5NjAo9EIC+uWaWVBmd4tQbYcuhXLUmmgTwcsmRKjcUJtEwuEjTT4yTtKvqxO4
JH0UpUlCL35Ma1X3F98kPmwFTB0opHF8D3+jNTUcpiMerWpal8LqhVl0TvMLsQ4R
YJ+DKeVO/1kCvWaSVYfJSC+zkONBLVDMafznRK59RnnmUfbMrqXrRhH3AT5VGwA/
gBo0fBM3u7I3oBTD5ac/Qt3DoL5FnqiEofSTNZE43kNvY1ofipaz55bkzOIZsvM8
deZjAAr9+gOP1nREIYqHMx7dJtUHZtwQHhIJM9IVBhLr/jww9NpnYVfStWICt2Wc
N7eE2xu3DDQ1Uv6lSAguxjUmsWjrpixSHsHppkRD1nRFvEn0UtmdJvp31WVGbcWr
GjJDdrTWciLUplF2tfCbnjzevaVr0YZmRWCfEybVjKCUXZ1ZC9A7fLJUtYrRwGPJ
yShhjZo9PjZ5wJj91jRAZWJLgjU7X3IN3XS9f+6th9uJ9975154=
=mzR8
-----END PGP SIGNATURE-----
Merge tag 'tegra-for-6.16-arm-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt
ARM: tegra: Device tree changes for v6.16-rc1
Use standard names for the APBDMA controller device tree nodes, add
support for the ASUS Transformer Pad LTE TF300TL and clean up the Apalis
evaluation board by removing the unused pcie-switch node.
* tag 'tegra-for-6.16-arm-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
ARM: tegra: apalis-eval: Remove pcie-switch node
ARM: tegra: Add device-tree for ASUS Transformer Pad LTE TF300TL
ARM: tegra: Rename the apbdma nodename to match with common dma-controller binding
Link: https://lore.kernel.org/r/20250509212604.2849901-2-treding@nvidia.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Enable IOMMU support for the internal DMA controller of the QSPI
controller, add aliases for the I2C controllers on Tegra234 to match
hardware block names as well as the UART-D alias on Jetson TX1, and
enable PWM fans on Jetson TX1 and TX2.
Clean up serial port device tree nodes, add missing DMA properties,
enable the GPU on Jetson TX1 and Jetson TX2. Use an extended number of
address- and size-cells on Tegra186 to mirror what is done on other chip
generations.
Enable CEC on developer kit devices.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmgebs0ACgkQ3SOs138+
s6FaBA//fL1e+4jWhQ2NMm2HORgadgJjie+tDGZxgeDtG59fy61rlp9BYK9wCWrx
cLjwFPwDDGJ48xkZYzUw3PudgflBxLrZwC2WqLEsRDFo1O3drhvHvLYPD0v+BMu7
W8+0LhHKlqjRzJM3rR9NC2ScC5bv56uu8X295iiRxYQBGTWQzuLiog+XCTuE/pF7
3IrMqS+f8rY/GybAJhF9/K4aN4QVzd0KIclC0OGccQoE6YK+vYK12avKyfg3NIeo
GgfkC38j7D2pyCl9D4UWkAR44Hs2ON74Fmq8ejrYVNlZfzw48Z5onYqGFshkA0q+
SV+aXU0higipjW/YvRtf6thZVALeurtj44hJIi+FnUDjnEt+WdM/IeHqIlOzf4Xq
nzkr+ZBEsqMGf2nVP42MZU3hsZ/+5NYEm+ZdqOzFWm8yjoi2y9oacqI0Ck2Kzopk
S1Ap3jBZY1G7nUp1GZKC9mUyCf1JIU6EdrsFrwW9bpxhe6RjhIkNL9njqMPjFCm1
FtVfkZKVpzbzFy3Qm4Sny3/C4jcmnxaIwyGBobf6AyOpa3n/8c+V2C5tTtVSSPtb
Wfo80DTmdri+pt85q5YzydS0E3S7aIn5ibCjTvf/qaEO2SK5RMnD+teTiDBN5g8n
2PaYNKCYEE61znVWoaYTv+K8Hkk5HTdsdCkB9oAjt7XnZUSZGbc=
=SdCj
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmgfGDEACgkQYKtH/8kJ
Uies4RAAz1KroZR/AbVCtN2H4GRSnJRriiCJwWvFcuw2eHn1VHx2nMf6sle04uy1
j2KJVPa9ebgyD4pxjpJ2iVa6397u1oYUm3URclUDsEKgCetwQ3XAzZV7fkDYwnU8
nLZ1p27/Rdb7utJHE9+ozeUo67c0ySWPOYzpLoSdzwQSfTygYLIj3ylkNY71TKZr
zN3upu7JAzubMrqtVMYq/g4mlF67qZ7h0GGw8m+KMqaX8pWgSRXWk4za2xC3ez5t
7Y/QDiO//irR8D7LlDRA3ZQzpfhIU6MOkujETDpeqvChnFtOe/6KE+FTnuZspZRA
n29+GFQqNW9v8CdMU9evStq7venwv2Bylc2Ou1Ic6yVUZd18J2DpI2oswLQ0oYbP
QpxkrcwjeyNBxvcfXa35rUIZ1GOQRCjNyllqfianV02ZsuazcRYONDmUHqsdFUqZ
Hy4W5wNl6puAPENsq87qlD+e/jvCaUx2azyOGtLjuqR9ex4FWAzvFUTvp79WCBou
j0qfMqvRdx3uvtVCGJUs0q77quSE5UMU0WDctSjXNERU3j8oFr6hyKC7CNVyquZt
VZsLA61wicDg2AsneiRfLzlr5JjF6kJ9Q8hw6QixsBt25uk+824rZ5y2ubyUwcLV
thPTP6XoYz7Ky+qxPjsb022t0YI1cVZ7vh52DjletClpMYQe4xM=
=nUi2
-----END PGP SIGNATURE-----
Merge tag 'tegra-for-6.16-arm64-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt
arm64: tegra: Device tree changes for v6.16-rc1
Enable IOMMU support for the internal DMA controller of the QSPI
controller, add aliases for the I2C controllers on Tegra234 to match
hardware block names as well as the UART-D alias on Jetson TX1, and
enable PWM fans on Jetson TX1 and TX2.
Clean up serial port device tree nodes, add missing DMA properties,
enable the GPU on Jetson TX1 and Jetson TX2. Use an extended number of
address- and size-cells on Tegra186 to mirror what is done on other chip
generations.
Enable CEC on developer kit devices.
* tag 'tegra-for-6.16-arm64-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
arm64: tegra: Wire up CEC to devkits
arm64: tegra: Add CEC controller on Tegra210
arm64: tegra: Add fallback CEC compatibles
arm64: tegra: Add uartd serial alias for Jetson TX1 module
arm64: tegra: Bump #address-cells and #size-cells on Tegra186
arm64: tegra: p2180: Explicitly enable GPU
arm64: tegra: p3310: Explicitly enable GPU
arm64: tegra: Add DMA properties for Tegra186 and Tegra194 UARTs
arm64: tegra: Drop remaining serial clock-names and reset-names
arm64: tegra: Enable PWM fan on the Jetson TX2 Devkit
arm64: tegra: Enable PWM fan on the Jetson TX1 Devkit
arm64: tegra: Add I2C aliases for Tegra234
arm64: tegra: Configure QSPI clocks and add DMA
Link: https://lore.kernel.org/r/20250509212604.2849901-3-treding@nvidia.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- One more i.MX8MP nominal drive mode DT fix from Ahmad Fatoum to use
800MHz NoC OPP
- A imx8mp-var-som DT change from Himanshu Bhavani to fix SD card
timeout caused by LDO5
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmgeoVAACgkQUFdYWoew
fM7Ghgf6AgpSMZdzAmotrbhb7SRt38WRT9VJY8wfPTc8JSr4CB39EfjzzoJNyE7K
pNJyS5psljbKFj8UovMOIgrkpvvTevNGJATPXxDnuCLIngTM47uH4MpXTxy1a3MV
L1T4DfTljB1U6mDalrhjjwWwHfBR8cGb53Vv/A1OSn0jFCrvRnS6QEPorq5A/QaA
Gco9WeDh481HeN74n/H1vmNwtl2rlYNF0+c4HkWhb97DO7e3u+t2vWwe0WdF6NyL
1ZVNEaYNNWVYtdSRAz/AYcKS5cID1rfF3Iz6i3CDzN487VtwS7ogea7VSZTPn1l7
AxrvaZ/FYsdOmz12SDCYHaFR1znx+w==
=qSBA
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmgfGA4ACgkQYKtH/8kJ
UifjBg//QslEUfifNF0vUtDtHcXfX4dHdo59+guso9j8OEz4geoyvgDQ7ztxbcOF
mrZhaEOcUgNc3Komso92XBZ6dnd7uvuFnCO3uyscA50RWzhY3fbg0wLFifXA4wqj
LeSTztTXZeGpIV5peqcGyXLqogR/4T6Y7blisn4vB75zDDcRiayDTy/VNx48lpVq
5auNg3wPghoGS5BSOzAeveP0oTUDXK2Tr98EhxJWGRs35cMwTsGmaYXKZU/SSALG
ARFQWka3ziuU8dcaBa9mMwOxGcrgfDdrcEKAJC+FyN6Za4+KTO771phS3u9KQebV
kbA64hYyCtqQy/7nAmq4FLJAlM3kP2tShs+FRG1JyhvG+rrU7WGoWQiqxa3r0MNR
648c1XxFwfB55OF/ScPxRv6ct7MBmE5mjlnEdZNeHo9A4YAV64P7AaiLTcbWasxs
dj0H6tDIE2vix028g8EnWswXnJRfeit6kF6GaUJZRsDBL5NAbh4sV23nRtSa+S3F
rjAnDrjQcrk9+rAuEHA8zsRFuI0OQQl94xD9ai8JpIlKLjqZmMskPnFlKFi3HeTh
kpjvT/WmTiqWGPMrm4xC/2UydJg6glmd0cm/e6bRc5nLA4mv4KqaOWzBDnSlTJQh
kifenqC6/c++hEYafQ+TDSia6f4zhGVw1AQgvZk4/ExOKX2E4n0=
=1v2Z
-----END PGP SIGNATURE-----
Merge tag 'imx-fixes-6.15-2' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes
i.MX fixes for 6.15, 2nd round:
- One more i.MX8MP nominal drive mode DT fix from Ahmad Fatoum to use
800MHz NoC OPP
- A imx8mp-var-som DT change from Himanshu Bhavani to fix SD card
timeout caused by LDO5
* tag 'imx-fixes-6.15-2' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
arm64: dts: imx8mp-var-som: Fix LDO5 shutdown causing SD card timeout
arm64: dts: imx8mp: use 800MHz NoC OPP for nominal drive mode
Link: https://lore.kernel.org/r/aB6h/woeyG1bSo12@dragon
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- Remove an unnecessary NULL check before release_firmware() in the
OP-TEE driver
- Prevent a size wrap in the TEE subsystem. The wrap would have been caught
later in the code so no security consequences.
-----BEGIN PGP SIGNATURE-----
iQJOBAABCgA4FiEE0qerISgy2SKkqO79Wr/6JGat8H4FAmgdpWMaHGplbnMud2lr
bGFuZGVyQGxpbmFyby5vcmcACgkQWr/6JGat8H49ERAA5G3mxeo6rWBuUgADEo4y
k1PfsVmlKVCwpXts8qTyIQ+CQdsfwXF8hFZCJFg686yncOY4H3FvsAJjsJU7c68L
0LaW96Goq2WR8GHvMF7kkA/cofX0Vms2WDEw1D9qlFFNZChZ/cIcpyCei1LHh4M+
qxsAUCILbs6sGwOVf06UvNEh1UM82HV1De54uMdilxQoyqGlL4iqSxyP46VqT8zr
8dhAcBJjOlkzaSiceWUo+JQwNaKuPzGOu4KswUEF6Hi5hrRoZBmfjL0NmwsbxqAD
AcmFss3OWVv9TCJuxqCjfS/yMbi+Xh9xI6Hu4/aBGD80ulfZjgGaaykFi1rbQlKW
gzjcaSqIoW4Sz/1Oi2JDtoXj7nX8j4SNDw1KB6L/7EymFQ7YkfxFwOuKcCtGLQin
5iK2nQpto0yK1wCV6w51syTkPBTKvMKXqhu6QpKYUg2huplXaGcaEriTS8HxMTb1
SKAFoI4db3LiCZn1Z9Wza3e6AVgXRprUspIEVL7168JCOicolZU7tgCsQ/p+5fCp
ZjoYVFyp2MmGcirTBxF9G0rN5IihCxWLtuCsjI1kUmKQpXaXVHCbd+aZ/HBQ8Ucu
J77xukgz03uAX9suu1wwZ+BiOfgS91VYuk95CODQcd0i8wpNUHUgDSqr+Av86v0k
SHNLaPWAxExrquradxnRJ3w=
=7Y5x
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmgfF90ACgkQYKtH/8kJ
UicYIhAAkMOmV8js1PGdbQuotEc33tb1+ViSp6NmYFfcgrRnyUph4clyJXvXGIj5
KUAwAkf1tAwZXJXfflyQJ02EseVD1lNWW67N99W8Ic+fzpsS7it2lN8yn8FHptGH
DDo3JSzRaphq0xm9/duG0oCcYVBYCuFDouJ32pJHoFkaBI5cNuh0Yve5Z0Oua9sb
yv1ADuuzS43uZHy6+FCSVPv0ydPNtEvMrPE2oabhu1HbLAxzWbg7Rr0ah7cO4fig
Sx8Q/JDLwFnAM/W4G2s1BzMW8U5dfBV749+26YPqPUGlIvYCH/DJQx0ip+r5xH2+
wcelHZc/d9GZ3H5BTHxzuSvHScOQ7b9PwXD9cryGTAr+zd+02w5z/M3BiCeE5VA7
VwfssQDLiLwaYGXKjmwEZ4r+UZB9q/QaVNmOCoi+XuVlIKNLrfFmmH1CUwnISU67
db0SHVSNU9Nn3MNQB+037OMiL0KrnXfdfpd554G7pfZAHbAmc9y7i7P9/njfqjc9
QW2hIsz5IdoUBqm2Mm49S2CEfpuGq1/iAr04nCEf5gNhTqcT9AXtDfCm5x8jfLBY
+06WeqGHzFH9HLBBVFyCRxKwh09LdU73Km+GW+eFwaMs0bzyL9+NMwf8aNuve1Zv
DzGAVZHQUBhjba1Hzw48V1WMDq2LGtXzMuIFyFGKX2XpiYZq4jk=
=sEK2
-----END PGP SIGNATURE-----
Merge tag 'tee-for-v6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee into soc/drivers
Small TEE updates for v6.16
- Remove an unnecessary NULL check before release_firmware() in the
OP-TEE driver
- Prevent a size wrap in the TEE subsystem. The wrap would have been caught
later in the code so no security consequences.
* tag 'tee-for-v6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee:
tee: Prevent size calculation wraparound on 32-bit kernels
tee: optee: smc: remove unnecessary NULL check before release_firmware()
Link: https://lore.kernel.org/r/20250509065114.GA4188600@rayden
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
If sync_speed is above speed_min, then is_mddev_idle() will be called
for each sync IO to check if the array is idle, and inflight sync_io
will be limited if the array is not idle.
However, while mkfs.ext4 for a large raid5 array while recovery is in
progress, it's found that sync_speed is already above speed_min while
lots of stripes are used for sync IO, causing long delay for mkfs.ext4.
Root cause is the following checking from is_mddev_idle():
t1: submit sync IO: events1 = completed IO - issued sync IO
t2: submit next sync IO: events2 = completed IO - issued sync IO
if (events2 - events1 > 64)
For consequence, the more sync IO issued, the less likely checking will
pass. And when completed normal IO is more than issued sync IO, the
condition will finally pass and is_mddev_idle() will return false,
however, last_events will be updated hence is_mddev_idle() can only
return false once in a while.
Fix this problem by changing the checking as following:
1) mddev doesn't have normal IO completed;
2) mddev doesn't have normal IO inflight;
3) if any member disks is partition, and all other partitions doesn't
have IO completed.
Also change rdev->last_events to unsigned long to cleanup type casting.
Link: https://lore.kernel.org/linux-raid/20250506124903.2540268-9-yukuai1@huaweicloud.com
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Reviewed-by: Xiao Ni <xni@redhat.com>
Currently if sync speed is above speed_min and below speed_max,
md_do_sync() will wait for all sync IOs to be done before issuing new
sync IO, means sync IO depth is limited to just 1.
This limit is too low, in order to prevent sync speed drop conspicuously
after fixing is_mddev_idle() in the next patch, add a new api for
limiting sync IO depth, the default value is 32.
Link: https://lore.kernel.org/linux-raid/20250506124903.2540268-8-yukuai1@huaweicloud.com
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Reviewed-by: Xiao Ni <xni@redhat.com>
Following patch will use gendisk to check if there are normal IO
completed or inflight, to fix a problem in mdraid that foreground IO
can be starved by background sync IO in later patches.
Link: https://lore.kernel.org/linux-raid/20250506124903.2540268-7-yukuai1@huaweicloud.com
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Reviewed-by: Xiao Ni <xni@redhat.com>
- rename part_in_{flight, flight_rw} to bdev_count_{inflight, inflight_rw}
- export bdev_count_inflight, to fix a problem in mdraid that foreground
IO can be starved by background sync IO in later patches
Link: https://lore.kernel.org/linux-raid/20250506124903.2540268-6-yukuai1@huaweicloud.com
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Which means there is a bug for related bio-based disk driver, or blk-mq
for rq-based disk, it's better not to hide the bug.
Link: https://lore.kernel.org/linux-raid/20250506124903.2540268-3-yukuai1@huaweicloud.com
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: John Garry <john.g.garry@oracle.com>
After commit 7be835694d ("block: fix that util can be greater than
100%"), it's not used and can be removed.
Link: https://lore.kernel.org/linux-raid/20250506124903.2540268-1-yukuai1@huaweicloud.com
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: John Garry <john.g.garry@oracle.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Convert the v3,v360epc-pci binding to DT schema format.
Add "clocks" which was not documented and is required. Drop "syscon"
which was documented, but is not used.
Drop the "v3,v360epc-pci" compatible by itself as this device is only
used on the Arm Integrator/AP and not likely going to be used anywhere
else at this point.
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://patch.msgid.link/20250505220139.2202164-1-robh@kernel.org
Add poly1305_emit_arch with fallback instead of calling assembly
directly. This is because the state format differs between p10
and that of the generic implementation.
Reported-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
Reported-by: Eric Biggers <ebiggers@google.com>
Fixes: 14d3197914 ("crypto: powerpc/poly1305 - Add block-only interface")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Make the architecture-optimized CRC code do its CPU feature checks in
subsys_initcalls instead of arch_initcalls. This makes it consistent
with arch/*/lib/crypto/ and ensures that it runs after initcalls that
possibly could be a prerequisite for kernel-mode FPU, such as x86's
xfd_update_static_branch() and loongarch's init_euen_mask().
Note: as far as I can tell, x86's xfd_update_static_branch() isn't
*actually* needed for kernel-mode FPU. loongarch's init_euen_mask() is
needed to enable save/restore of the vector registers, but loongarch
doesn't yet have any CRC or crypto code that uses vector registers
anyway. Regardless, let's be consistent with arch/*/lib/crypto/ and
robust against any potential future dependency on an arch_initcall.
Link: https://lore.kernel.org/r/20250510035959.87995-1-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
Add the required LVDS reset for the LCD TCON. Note that while this
reset is exposed for the T507, H616, and H700 only the H700 has
an LCD controller.
Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Signed-off-by: Ryan Walklin <ryan@testtoast.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Link: https://patch.msgid.link/20250507201943.330111-3-macroalpha82@gmail.com
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Add the required LVDS reset binding for the LCD TCON.
Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Signed-off-by: Ryan Walklin <ryan@testtoast.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Link: https://patch.msgid.link/20250507201943.330111-2-macroalpha82@gmail.com
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Jiayuan Chen says:
====================
ktls, sockmap: Fix missing uncharge operation and add selfttest
Cong reported a warning when running ./test_sockmp:
https://lore.kernel.org/bpf/aAmIi0vlycHtbXeb@pop-os.localdomain/T/#t
------------[ cut here ]------------
WARNING: CPU: 1 PID: 40 at net/ipv4/af_inet.c inet_sock_destruct+0x173/0x1d5
Tainted: [W]=WARN
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014
Workqueue: events sk_psock_destroy
RIP: 0010:inet_sock_destruct+0x173/0x1d5
RSP: 0018:ffff8880085cfc18 EFLAGS: 00010202
RAX: 1ffff11003dbfc00 RBX: ffff88801edfe3e8 RCX: ffffffff822f5af4
RDX: 0000000000000007 RSI: dffffc0000000000 RDI: ffff88801edfe16c
RBP: ffff88801edfe184 R08: ffffed1003dbfc31 R09: 0000000000000000
R10: ffffffff822f5ab7 R11: ffff88801edfe187 R12: ffff88801edfdec0
R13: ffff888020376ac0 R14: ffff888020376ac0 R15: ffff888020376a60
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000556365155830 CR3: 000000001d6aa000 CR4: 0000000000350ef0
Call Trace:
<TASK>
__sk_destruct+0x46/0x222
sk_psock_destroy+0x22f/0x242
process_one_work+0x504/0x8a8
? process_one_work+0x39d/0x8a8
? __pfx_process_one_work+0x10/0x10
? worker_thread+0x44/0x2ae
? __list_add_valid_or_report+0x83/0xea
? srso_return_thunk+0x5/0x5f
? __list_add+0x45/0x52
process_scheduled_works+0x73/0x82
worker_thread+0x1ce/0x2ae
When we specify apply_bytes, we divide the msg into multiple segments,
each with a length of 'send', and every time we send this part of the data
using tcp_bpf_sendmsg_redir(), we use sk_msg_return_zero() to uncharge the
memory of the specified 'send' size.
However, if the first segment of data fails to send, for example, the
peer's buffer is full, we need to release all of the msg. When releasing
the msg, we haven't uncharged the memory of the subsequent segments.
This modification does not make significant logical changes, but only
fills in the missing uncharge places.
This issue has existed all along, until it was exposed after we added the
apply test in test_sockmap:
commit 3448ad23b3 ("selftests/bpf: Add apply_bytes test to test_txmsg_redir_wait_sndmem in test_sockmap")
====================
Link: https://patch.msgid.link/20250425060015.6968-1-jiayuan.chen@linux.dev
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
When we specify apply_bytes, we divide the msg into multiple segments,
each with a length of 'send', and every time we send this part of the data
using tcp_bpf_sendmsg_redir(), we use sk_msg_return_zero() to uncharge the
memory of the specified 'send' size.
However, if the first segment of data fails to send, for example, the
peer's buffer is full, we need to release all of the msg. When releasing
the msg, we haven't uncharged the memory of the subsequent segments.
This modification does not make significant logical changes, but only
fills in the missing uncharge places.
This issue has existed all along, until it was exposed after we added the
apply test in test_sockmap:
commit 3448ad23b3 ("selftests/bpf: Add apply_bytes test to test_txmsg_redir_wait_sndmem in test_sockmap")
Fixes: d3b18ad31f ("tls: add bpf support to sk_msg handling")
Reported-by: Cong Wang <xiyou.wangcong@gmail.com>
Closes: https://lore.kernel.org/bpf/aAmIi0vlycHtbXeb@pop-os.localdomain/T/#t
Signed-off-by: Jiayuan Chen <jiayuan.chen@linux.dev>
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
Link: https://lore.kernel.org/r/20250425060015.6968-2-jiayuan.chen@linux.dev
When the following prerequisites are met, driver will enable support_mlo.
It means that driver will declare WIPHY_FLAG_SUPPORTS_MLO, and then deal
with MLO related things.
The main prerequisites are as below.
1. all prerequisites for running with chanctx
2. FW feature NOTIFY_AP_INFO
Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20250505072440.45113-12-pkshih@realtek.com
Add an dbgfs mlo_mode to get/set MLO mode. And, support to trigger MLSR
switching. Setting it will automatically disable MLO Dynamic Mechanism
(DM). Then MLO things can follow commands via dbgfs mlo_mode instead of
MLO DM. The disabled DM(s) can be checked/cleared via dbgfs disable_dm.
The following is an use example.
Read it to show current MLD status.
$ cat mlo_mode
MLD(s) status: (MLO DM: enable)
#0: MLO mode 0, valid 0x6, active 0x2
Write it to switch to MLSR on link id 2.
$ echo 0 2 > mlo_mode
$ cat mlo_mode
MLD(s) status: (MLO DM: disable)
#0: MLO mode 0, valid 0x6, active 0x4
Besides, to be safer, add RWLOCK attribute to dbgfs disable_dm.
Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20250505072440.45113-11-pkshih@realtek.com
Extend dbgfs vif/sta info to show current designated link.
Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20250505072440.45113-8-pkshih@realtek.com
Add MLSR switch mechanism based on tracking RSSI. Switch to a 2 GHz link
(if any) when average RSSI is lower than threshold -53. And, switch out
from a 2 GHz link when average RSSI is larger than threshold -38.
The sequence of MLSR switch handling is like the following.
1. initialize target link and configure to PS mode
2. configure current designated link to PS mode
3. configure target link to non-PS mode
4. deinitialize currently active links except target link
The above flow also implies that target link becomes new designated link.
Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20250505072440.45113-7-pkshih@realtek.com
The mlo_link_cfg H2C command is used to tell FW to enter/leave PS mode
on a given link. And, need to wait for status of C2H event to ensure if
FW deals with it successfully.
Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20250505072440.45113-6-pkshih@realtek.com
Wi-Fi 7 chips have dual HW bands. After impending MLO support, they
can work with HW-[0] / HW-[1] / HW-[0,1] according to active links.
So, during setting channel, also re-calculate the MLO DBCC mode flag.
Then, leaf chip functions of setting channel can configure with HWs
based on current case.
Besides, tweak the initial and idle MLO DBCC mode of Wi-Fi 7 chips to
MLO_1_PLUS_1_1RF to work with dual HW bands. And, after disconnecting,
due to no active links, MLO DBCC mode will re-calculate to idle case,
i.e. MLO_1_PLUS_1_1RF.
Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20250505072440.45113-5-pkshih@realtek.com
The nullfunc sender function is link specific. Use core_tx_write_link
with sw_mld flag to TX the nullfunc via the given link.
Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20250505072440.45113-4-pkshih@realtek.com
For data packets that can be sent on any band, fill in main mac_id
and let HW decide. For packets that we wish to transmit on specific
band, fill in sw_mld field so HW would only send it on that band.
Main mac_id is the corresponding mac_id on band 0.
Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20250505072440.45113-3-pkshih@realtek.com
Extract core_tx_write_link from core_tx_write to accept given links as
parameters. To make the follow-up changes of TX description more clear,
tweak SW functions to split things ahead.
(don't change logic at all)
Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20250505072440.45113-2-pkshih@realtek.com
Some users have RTL8723DS chips with nearly blank efuse. Currently these
chips cannot connect when using rtw88, but they do work using the old
out-of-tree driver.
Use reasonable default values for TX power, antenna configuration, and
crystal cap if the chip's efuse is missing these things.
RTL8723D can use the same default values as RTL8703B, so simply move
the code from rtl8703b_read_efuse() to the shared function
__rtl8723x_read_efuse().
Link: https://github.com/lwfinger/rtw88/issues/157
Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/5734afe7-0870-40b2-acd4-5657a02d7c56@gmail.com
Use the same RX aggregation size and timeout used by the out-of-tree
RTL8723DS driver. Also set mystery bit 31 of REG_RXDMA_AGG_PG_TH. This
improves the RX speed from ~44 Mbps to ~67 Mbps.
Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/4c79fdc1-54bc-4986-9931-bb3ceb418b97@gmail.com