summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2025-03-06ARM: tegra: Add DSI-A and DSI-B nodes on Tegra124Svyatoslav Ryhel
Bind DSI devices and MIPI calibration. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Link: https://lore.kernel.org/r/20250226105615.61087-6-clamor95@gmail.com Signed-off-by: Thierry Reding <treding@nvidia.com>
2025-03-06ARM: tegra: Add HDA node on Tegra114Svyatoslav Ryhel
Add HDA device binding. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Link: https://lore.kernel.org/r/20250226105615.61087-5-clamor95@gmail.com Signed-off-by: Thierry Reding <treding@nvidia.com>
2025-03-06ARM: tegra: Add ARM PMU node on Tegra114Svyatoslav Ryhel
Add ARM PMU node for Tegra114 like it is done for Tegra30 and Tegra124. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Link: https://lore.kernel.org/r/20250226105615.61087-4-clamor95@gmail.com Signed-off-by: Thierry Reding <treding@nvidia.com>
2025-03-06ARM: tegra: Switch DSI-B clock parent to PLLD on Tegra114Svyatoslav Ryhel
PLLD is usually used as parent clock for internal video devices, like DSI for example, while PLLD2 is used as parent for HDMI. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Link: https://lore.kernel.org/r/20250226105615.61087-3-clamor95@gmail.com Signed-off-by: Thierry Reding <treding@nvidia.com>
2025-03-06Merge tag 'renesas-arm-soc-for-v6.15-tag1' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/arm Renesas ARM SoC updates for v6.15 - Remove the legacy CMA reservation code on R-Car Gen2, which causes issues with highmem. * tag 'renesas-arm-soc-for-v6.15-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: ARM: shmobile: rcar-gen2: Remove CMA reservation code Link: https://lore.kernel.org/r/cover.1740156740.git.geert+renesas@glider.be Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06Merge tag 'renesas-arm-defconfig-for-v6.15-tag1' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/defconfig Renesas ARM defconfig updates for v6.15 - Supplement DTB with ATAG information, for older boards. * tag 'renesas-arm-defconfig-for-v6.15-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: ARM: shmobile: defconfig: Supplement DTB with ATAG information Link: https://lore.kernel.org/r/cover.1740156738.git.geert+renesas@glider.be Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06Merge tag 'mtk-dts64-for-v6.15' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/dt MediaTek ARM64 DTS updates for v6.15 This adds new SoCs and new machines, other than improving support for currently supported ones. In particular, for SoCs: - Airoha EN7581 gets support for its SCU clock controller, SPI NAND, hardware RNG, pinctrl, and i2c controllers; - MediaTek MT8365 SoC gets support for all of its Display Controller components; - MediaTek Genio 510 MT8370 - a lower binned variant of Genio 700 MT8390 (which, in turn, is the same as MT8188) - is introduced; - MT8188 gets support for more Display Controller components (DSC and MERGE), for the tertiary MSDC (eMMC/SD/SDIO) controller, and for the MTU3 USB DRD controllers; - MT8195 and MT8188 both get migrated to the new OF Graph used for defining a pipeline for the Display Controller components (as this was previously hardcoded per-board in the drm driver, ugh!); ..and for boards: - Google Kukui (MT8183) is switched to Elan touchscreen driver instead of hid-over-i2c to fix probe failures in some cases; - Google Cherry (MT8195) and Geralt (MT8188) Chromebooks get migrated to using OF Graph for defining their board specific part of the display pipeline; - MediaTek Genio 350 (mt8365) EVK board adds support for HDMI output through the iTE IT66121 chip, and for DSI output to the Startek KD070FHFID015 display; - MediaTek Genio 510 EVK board is introduced with a common devicetree between mt8390 and mt8370 (Genio 700 and Genio 510) EVKs; - MediaTek Genio 700 (and 510) EVKs get support for their integrated dual Digital Microphones, for their RichTek RT1715 USB Type-C Controller with USB-PD capability, the iTE IT5205 Alternate Mode Passive MUX (USB3.1/DP1.4), and for USB Gadget/Host switching through the MTU3 DRD Controller, other than for USB in general; - MediaTek Genio 1200 EVK gets support for its MediaTek MT6360 PMIC integrated Type-C Controller, and the IT5205 MUX; - Radxa NIO-12L gets its DSI display pipeline preconfigured and also the introduction of a devicetree overlay for the official Radxa 8HD DSI panel, enabling display output over DSI. And fixes/cleanups: - MT8173 gets fixes for bindings validation: PMIC node drops the unnecessary address/size cells, disp-pwm gets its compatibles list fixed (as mt6595 was not expected there), and some nodes got the right name (clock controllers were disguides as power controllers, and intpol was changed to interrupt-controller); - MT8188-based (MT8390) Genio boards get a fix for duplicated regulator name; - MT6359 PMIC gets fixes for audio-codec node validation. * tag 'mtk-dts64-for-v6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux: (35 commits) arm64: dts: mediatek: mt8395-radxa-nio-12l: Add Radxa 8 HD panel arm64: dts: mediatek: mt8395-nio-12l: Prepare MIPI DSI port arm64: dts: mediatek: mt8390-genio-common: Add delay codec for DMIC arm64: dts: mediatek: mt8390-genio-common: Add routes for DMIC arm64: dts: mediatek: mt8395-nio-12l: Preconfigure DSI0 pipeline arm64: mediatek: mt8195-cherry: Add graph for eDP and DP displays arm64: dts: mediatek: mt8195: Add base display controller graph arm64: dts: airoha: en7581: Fix clock-controller address arm64: dts: airoha: en7581: Add more nodes to EN7581 SoC evaluation board arm64: dts: mediatek: mt8390-genio-common: Configure touch vreg pins arm64: dts: mediatek: mt8188-geralt: Add graph for DSI and DP displays arm64: dts: mediatek: mt8188: Add base display controller graph arm64: dts: mediatek: mt8390-genio-700: Add USB, TypeC Controller, MUX arm64: dts: mediatek: mt8188: Add MTU3 nodes and correctly describe USB dt-bindings: usb: mediatek,mtk-xhci: Add port for SuperSpeed EP arm64: dts: mediatek: mt8395-genio-1200-evk: add support for TCPC port dt-bindings: usb: mtu3: Add ports property arm64: dts: mediatek: mt8390-genio-common: Fix duplicated regulator name arm64: dts: mediatek: mt8183: Switch to Elan touchscreen driver arm64: dts: mediatek: mt6359: fix dtbs_check error for audio-codec ... Link: https://lore.kernel.org/r/20250306113540.148342-1-angelogioacchino.delregno@collabora.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06arm64: dts: nvidia: Remove unused and undocumented ↵Rob Herring (Arm)
"regulator-ramp-delay-scale" property Remove "regulator-ramp-delay-scale" property which is both unused in the kernel and undocumented. Most likely they are leftovers from downstream. Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Link: https://lore.kernel.org/r/20250305224952.2995841-2-robh@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06Merge tag 'juno-updates-6.15' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/dt Armv8 FVP/Vexpress/Juno updates for v6.15 The main and bulk of the addition this time is the support for the Arm reference Morello System Development Platform (SDP). The Morello architecture is an experimental extension to Armv8.2-A, enhancing the AArch64 execution state with capabilities for fine-grained memory protection and scalable software compartmentalization. However these changes doesn't add any of the support for security enhancements. This is mainly adding device tree support for Morello SDP. The platform iteslf is shipped with ACPI firmware. However, since the ACPI bindings for GPU, DPU, I2C, I2S,..etc are not well defined or not provided in the shipped ACPI firmware, there is a need for the device tree as alternative for the developers focusing on those features. The CPU is called rainier, the architecture is Morello and the platform is Morello SDP board. There is FVP equivalent of the same though they are not completely in feature parity with the real hardware. These changes provide the initial support for Morello SDP and FVP platforms. Apart from this, we have an update to add support for secondary cores on Corstone1000 FVP platform. * tag 'juno-updates-6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: arm64: dts: corstone1000: Add definitions for secondary CPU cores MAINTAINERS: Add Vincenzo Frascino as Arm Morello Maintainer arm64: dts: morello: Add support for fvp dts arm64: dts: morello: Add support for soc dts arm64: dts: morello: Add support for common functionalities dt-bindings: arm-pmu: Add support for ARM Rainier PMU dt-bindings: arm: Add Rainier compatibility dt-bindings: arm: Add Morello fvp compatibility dt-bindings: arm: Add Morello compatibility arm64: Kconfig: Update description for CONFIG_ARCH_VEXPRESS Link: https://lore.kernel.org/r/20250304105856.432848-1-sudeep.holla@arm.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06Merge tag 'asahi-soc-dt-6.15-v2' of https://github.com/AsahiLinux/linux into ↵Arnd Bergmann
soc/dt Apple SoC DT updates for 6.15, second batch: - Added a missing p-state for iPad mini 4 - Added SPI controller nodes for M1 and M2 devices - Added SPI NOR flash nodes and NVRAM partitions - Added touchbar digitizer nodes for M1 and M2 devices * tag 'asahi-soc-dt-6.15-v2' of https://github.com/AsahiLinux/linux: arm64: dts: apple: Add touchbar digitizer nodes arm64: dts: apple: Add SPI NOR nvram partition to all devices arm64: dts: apple: t600x: Add spi controller nodes arm64: dts: apple: t8112: Add spi controller nodes arm64: dts: apple: t8103: Add spi controller nodes arm64: dts: apple: t8103: Fix spi4 power domain sort order arm64: dts: apple: t7000: Add missing CPU p-state 7 for J96 and J97 Link: https://lore.kernel.org/r/20250302115808.59172-1-sven@svenpeter.dev Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06Merge tag 'renesas-dts-for-v6.15-tag1' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/dt Renesas DTS updates for v6.15 - Add support for the second and third Ethernet interfaces on the Gray Hawk Single development board, - Add Image Signal Processor helper block (FCPVX and VSPX) support for the R-Car V3U and V4M SoCs, - Add Watchdog and System Controller support for the RZ/G3E SoC and the RZ/G3E SMARC Carrier-II EVK development board, - Add initial support for the Yuridenki-Shokai Kakip and MYIR Remi Pi boards, - Add support for the spare UART and PMOD serial ports on the RZ/G3S SMARC Carrier II board, - Add a CPU Operating Performance Points table for the RZ/G3S SoC, - Add boot phase tags on R-Car Gen2/3/4 and RZ/G2 boards, - Miscellaneous fixes and improvements. * tag 'renesas-dts-for-v6.15-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (34 commits) ARM: dts: renesas: r9a06g032: Fix UART dma channel order arm64: dts: renesas: rzg2: Add boot phase tags arm64: dts: renesas: rcar: Add boot phase tags ARM: dts: renesas: rcar-gen2: Add boot phase tags arm64: dts: renesas: white-hawk-csi-dsi: Use names for CSI-2 data line orders arm64: dts: renesas: ulcb/kf: Use TDM Split Mode for capture arm64: dts: renesas: Add initial support for MYIR Remi Pi arm64: dts: renesas: r9a08g045: Add OPP table arm64: dts: renesas: r9a09g057: Enable SYS node arm64: dts: renesas: r9a09g047: Add SYS node arm64: dts: renesas: r9a08g045: Enable SYS node arm64: dts: renesas: r8a779f0: Disable rswitch ports by default arm64: dts: renesas: r9a08g045s33-smarc-pmod: Add overlay for SCIF1 arm64: dts: renesas: rzg3s-smarc: Enable SCIF3 arm64: dts: renesas: rzg3s-smarc-switches: Add a header to describe different switches arm64: dts: renesas: r8a779g0: Restore sort order arm64: dts: renesas: s4sk: Fix ethernet0 alias for rswitch arm64: dts: renesas: spider-ethernet: Add ethernetN aliases for rswitch arm64: dts: renesas: s4sk: Access rswitch ports via phandles arm64: dts: renesas: spider-ethernet: Access rswitch ports via phandles ... Link: https://lore.kernel.org/r/cover.1740156747.git.geert+renesas@glider.be Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06Merge tag 'ixp4xx-dts-soc-for-v6.15' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into soc/dt Some minor IXP4xx updates for v6.15: - Assing the right NPE for EthA - Fix up erroneous PCI mappings on WG302 - Add LEDs and keys on GPIO to WG302 * tag 'ixp4xx-dts-soc-for-v6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator: ARM: dts: ixp4xx: Add Netgear WG302 v1 GPIOs ARM: dts: ixp4xx: Fix up PCI on WG302 ARM: dts: Properly assign NPE to ethA Link: https://lore.kernel.org/r/CACRpkdbi_A_RCufEZSk0cEoQ_H-s0VLGUzJ9zPQECSvsUP7-dQ@mail.gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06Merge tag 'asahi-soc-dt-6.15' of https://github.com/AsahiLinux/linux into soc/dtArnd Bergmann
Apple SoC DT updates for 6.15: - Added device trees for Apple T2 SoCs - Added cpufreq and PMGR compatibles and nodes for Apple A7-A11 and T2 SoCs * tag 'asahi-soc-dt-6.15' of https://github.com/AsahiLinux/linux: (23 commits) arm64: dts: apple: t8015: Add cpufreq nodes arm64: dts: apple: t8012: Add cpufreq nodes arm64: dts: apple: t8011: Add cpufreq nodes arm64: dts: apple: t8010: Add cpufreq nodes arm64: dts: apple: s8001: Add cpufreq nodes arm64: dts: apple: Add cpufreq nodes for S8000/S8003 arm64: dts: apple: t7001: Add cpufreq nodes arm64: dts: apple: t7000: Add cpufreq nodes arm64: dts: apple: s5l8960x: Add cpufreq nodes arm64: dts: apple: t8015: Add PMGR nodes arm64: dts: apple: t8012: Add PMGR nodes arm64: dts: apple: t8011: Add PMGR nodes arm64: dts: apple: t8010: Add PMGR nodes arm64: dts: apple: s8001: Add PMGR nodes arm64: dts: apple: s800-0-3: Add PMGR nodes arm64: dts: apple: t7001: Add PMGR node arm64: dts: apple: t7000: Add PMGR node arm64: dts: apple: s5l8960x: Add PMGR node dt-bindings: arm: apple: apple,pmgr-pwrstate: Add A7-A11, T2 compatibles dt-bindings: arm: apple: apple,pmgr: Add A7-A11, T2 compatibles ... Link: https://lore.kernel.org/r/20250209135558.8243-1-sven@svenpeter.dev Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06arm64: dts: renesas: r9a09g057h44-rzv2h-evk: Enable Mali-G31Lad Prabhakar
Enable Mali-G31 (GPU) node on EVK board. Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/20250218115922.407816-4-prabhakar.mahadev-lad.rj@bp.renesas.com Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-03-06ARM: OMAP1: select CONFIG_GENERIC_IRQ_CHIPArnd Bergmann
When GENERIC_IRQ_CHIP is disabled, OMAP1 kernels fail to link: arm-linux-gnueabi-ld: arch/arm/mach-omap1/irq.o: in function `omap1_init_irq': irq.c:(.init.text+0x1e8): undefined reference to `irq_alloc_generic_chip' arm-linux-gnueabi-ld: irq.c:(.init.text+0x228): undefined reference to `irq_setup_generic_chip' arm-linux-gnueabi-ld: irq.c:(.init.text+0x2a8): undefined reference to `irq_gc_set_wake' arm-linux-gnueabi-ld: irq.c:(.init.text+0x2b0): undefined reference to `irq_gc_mask_set_bit' arm-linux-gnueabi-ld: irq.c:(.init.text+0x2b4): undefined reference to `irq_gc_mask_clr_bit' This has apparently been the case for many years, but I never caught it in randconfig builds until now, as there are dozens of other drivers that also 'select GENERIC_IRQ_CHIP' and statistically there is almost always one of them enabled. Fixes: 55b447744389 ("ARM: OMAP1: Switch to use generic irqchip in preparation for sparse IRQ") Link: https://lore.kernel.org/r/20250205121151.289535-1-arnd@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06Merge tag 'riscv-dt-fixes-for-v6.14-rc6' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into arm/fixes RISC-V Devicetree fix for v6.14-rc6 A single fix for an incorrect define in the jh7110 pinctrl header. Signed-off-by: Conor Dooley <conor.dooley@microchip.com> * tag 'riscv-dt-fixes-for-v6.14-rc6' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux: riscv: dts: starfive: Fix a typo in StarFive JH7110 pin function definitions Link: https://lore.kernel.org/r/20250305-sip-unable-d56ef7dbf86b@spud Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06arm64: dts: renesas: r9a09g057: Add Mali-G31 GPU nodeLad Prabhakar
Add Mali-G31 GPU node to SoC DTSI. Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/20250218115922.407816-3-prabhakar.mahadev-lad.rj@bp.renesas.com Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-03-06Merge tag 'imx-fixes-6.14' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes i.MX fixes for 6.14: - A tqma8mpql board fix from Alexander Stein to correct vqmmc-supply for usdhc3 - A change from Joe Hattori to fix OF node leak in imx-scu driver probe - A soc-imx8m driver fix from Peng Fan unregister cpufreq and soc device in cleanup path - A couple of changes from Stefan Eichenberger to fix iMX6 Apalis poweroff and iMX8M verdin-dahlia sound-card descriptions * tag 'imx-fixes-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: arm64: dts: freescale: imx8mm-verdin-dahlia: add Microphone Jack to sound card arm64: dts: freescale: imx8mp-verdin-dahlia: add Microphone Jack to sound card soc: imx8m: Unregister cpufreq and soc dev in cleanup path ARM: dts: imx6qdl-apalis: Fix poweroff on Apalis iMX6 arm64: dts: freescale: tqma8mpql: Fix vqmmc-supply firmware: imx-scu: fix OF node leak in .probe() Link: https://lore.kernel.org/r/Z8A+rihFV4K3l8QR@dragon Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06Merge tag 'arm-soc/for-6.14/devicetree-arm64-fixes' of ↵Arnd Bergmann
https://github.com/Broadcom/stblinux into arm/fixes This pull request contains Broadcom ARM64-based SoCs Device Tree fixes for 6.14, please pull the following: - Phil fixes the Raspberry Pi 5 PL011 UART primecell ID to indicate it is r1p5 and thus has a 32-byte FIFO * tag 'arm-soc/for-6.14/devicetree-arm64-fixes' of https://github.com/Broadcom/stblinux: arm64: dts: bcm2712: PL011 UARTs are actually r1p5 Link: https://lore.kernel.org/r/20250225194041.1063762-2-florian.fainelli@broadcom.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06Merge tag 'arm-soc/for-6.14/devicetree-fixes' of ↵Arnd Bergmann
https://github.com/Broadcom/stblinux into arm/fixes This pull request contains Broadcom ARM-based SoCs Device Tree fixes for 6.14: - Stefan fixes the xHCI power domain on the Raspberry Pi 4 - Phil fixes the Raspberry Pi 4 PL011 UART primecell ID to indicate they are r1p5 and thus have a 32-byte FIFO * tag 'arm-soc/for-6.14/devicetree-fixes' of https://github.com/Broadcom/stblinux: ARM: dts: bcm2711: PL011 UARTs are actually r1p5 ARM: dts: bcm2711: Fix xHCI power-domain Link: https://lore.kernel.org/r/20250225194041.1063762-1-florian.fainelli@broadcom.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06arm64: dts: rockchip: add MNT Reform 2 laptopPatrick Wildt
MNT Reform 2 is an open source laptop with replaceable CPU modules, including a version with the RK3588-based MNT RCORE[1], which is based on Firefly's iCore-3588Q SoM: - Rockchip RK3588 - Quad A76 and Quad A55 CPU - 6 TOPS NPU - up to 32GB LPDDR4x RAM - SD Card slot - Gigabit ethernet port - HDMI port - 2x mPCIe ports for WiFi or NVMe - 3x USB 3.0 Type-A HOST port [1] https://shop.mntre.com/products/mnt-reform Co-developed-by: "Lukas F. Hartmann" <lukas@mntre.com> Signed-off-by: "Lukas F. Hartmann" <lukas@mntre.com> Signed-off-by: Patrick Wildt <patrick@blueri.se> Link: https://lore.kernel.org/r/Z8S6uDM634KJuyKP@windev.fritz.box Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-03-06arm64: defconfig: Enable Synopsys HDMI receiverSebastian Reichel
The Rockchip RK3588 has a built-in HDMI receiver block from Synopsys. Let's enable the driver for it. Acked-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> Link: https://lore.kernel.org/r/20250306072842.287142-4-dmitry.osipenko@collabora.com Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-03-06x86/fpu: Improve crypto performance by making kernel-mode FPU reliably ↵Eric Biggers
usable in softirqs Background: =========== Currently kernel-mode FPU is not always usable in softirq context on x86, since softirqs can nest inside a kernel-mode FPU section in task context, and nested use of kernel-mode FPU is not supported. Therefore, x86 SIMD-optimized code that can be called in softirq context has to sometimes fall back to non-SIMD code. There are two options for the fallback, both of which are pretty terrible: (a) Use a scalar fallback. This can be 10-100x slower than vectorized code because it cannot use specialized instructions like AES, SHA, or carryless multiplication. (b) Execute the request asynchronously using a kworker. In other words, use the "crypto SIMD helper" in crypto/simd.c. Currently most of the x86 en/decryption code (skcipher and aead algorithms) uses option (b), since this avoids the slow scalar fallback and it is easier to wire up. But option (b) is still really bad for its own reasons: - Punting the request to a kworker is bad for performance too. - It forces the algorithm to be marked as asynchronous (CRYPTO_ALG_ASYNC), preventing it from being used by crypto API users who request a synchronous algorithm. That's another huge performance problem, which is especially unfortunate for users who don't even do en/decryption in softirq context. - It makes all en/decryption operations take a detour through crypto/simd.c. That involves additional checks and an additional indirect call, which slow down en/decryption for *everyone*. Fortunately, the skcipher and aead APIs are only usable in task and softirq context in the first place. Thus, if kernel-mode FPU were to be reliably usable in softirq context, no fallback would be needed. Indeed, other architectures such as arm, arm64, and riscv have already done this. Changes implemented: ==================== Therefore, this patch updates x86 accordingly to reliably support kernel-mode FPU in softirqs. This is done by just disabling softirq processing in kernel-mode FPU sections (when hardirqs are not already disabled), as that prevents the nesting that was problematic. This will delay some softirqs slightly, but only ones that would have otherwise been nested inside a task context kernel-mode FPU section. Any such softirqs would have taken the slow fallback path before if they tried to do any en/decryption. Now these softirqs will just run at the end of the task context kernel-mode FPU section (since local_bh_enable() runs pending softirqs) and will no longer take the slow fallback path. Alternatives considered: ======================== - Make kernel-mode FPU sections fully preemptible. This would require growing task_struct by another struct fpstate which is more than 2K. - Make softirqs save/restore the kernel-mode FPU state to a per-CPU struct fpstate when nested use is detected. Somewhat interesting, but seems unnecessary when a simpler solution exists. Performance results: ==================== I did some benchmarks with AES-XTS encryption of 16-byte messages (which is unrealistically small, but this makes it easier to see the overhead of kernel-mode FPU...). The baseline was 384 MB/s. Removing the use of crypto/simd.c, which this work makes possible, increases it to 487 MB/s, a +27% improvement in throughput. CPU was AMD Ryzen 9 9950X (Zen 5). No debugging options were enabled. [ mingo: Prettified the changelog and added performance results. ] Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Ingo Molnar <mingo@kernel.org> Cc: Andy Lutomirski <luto@kernel.org> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Uros Bizjak <ubizjak@gmail.com> Link: https://lore.kernel.org/r/20250304204954.3901-1-ebiggers@kernel.org
2025-03-06uprobes/x86: Harden uretprobe syscall trampoline checkJiri Olsa
Jann reported a possible issue when trampoline_check_ip returns address near the bottom of the address space that is allowed to call into the syscall if uretprobes are not set up: https://lore.kernel.org/bpf/202502081235.5A6F352985@keescook/T/#m9d416df341b8fbc11737dacbcd29f0054413cbbf Though the mmap minimum address restrictions will typically prevent creating mappings there, let's make sure uretprobe syscall checks for that. Fixes: ff474a78cef5 ("uprobe: Add uretprobe syscall to speed up return probe") Reported-by: Jann Horn <jannh@google.com> Signed-off-by: Jiri Olsa <jolsa@kernel.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Reviewed-by: Oleg Nesterov <oleg@redhat.com> Reviewed-by: Kees Cook <kees@kernel.org> Acked-by: Andrii Nakryiko <andrii@kernel.org> Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> Acked-by: Alexei Starovoitov <alexei.starovoitov@gmail.com> Cc: Andy Lutomirski <luto@kernel.org> Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20250212220433.3624297-1-jolsa@kernel.org
2025-03-06x86/platform/olpc: Remove unused variable 'len' in olpc_dt_compatible_match()Zeng Heng
The following build warning highlights some unused code: arch/x86/platform/olpc/olpc_dt.c: In function ‘olpc_dt_compatible_match’: arch/x86/platform/olpc/olpc_dt.c:222:12: warning: variable ‘len’ set but not used [-Wunused-but-set-variable] The compiler is right, the local variable 'len' is set but never used, so remove it. Fixes: a7a9bacb9a32 ("x86/platform/olpc: Use a correct version when making up a battery node") Signed-off-by: Zeng Heng <zengheng4@huawei.com> Signed-off-by: Ingo Molnar <mingo@kernel.org> Link: https://lore.kernel.org/r/20241025074203.1921344-1-zengheng4@huawei.com
2025-03-06arm64: dts: mediatek: mt8395-radxa-nio-12l: Add Radxa 8 HD panelJulien Massot
The Radxa 8 HD touchscreen can be used with various Radxa board and is sold appart from the Radxa NIO 12L development kit. Add a DTS overlay for this panel. Signed-off-by: Julien Massot <julien.massot@collabora.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20250304-radxa-panel-overlay-v2-2-3ee6797d3f86@collabora.com Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2025-03-06arm64: dts: mediatek: mt8395-nio-12l: Prepare MIPI DSI portJulien Massot
This board can use a MIPI-DSI panel on the DSI0 connector: in preparation for adding an overlay for the Radxa Display 8HD, add the backlight, and some definitions for pins available through the DSI0 port. Signed-off-by: Julien Massot <julien.massot@collabora.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20250304-radxa-panel-overlay-v2-1-3ee6797d3f86@collabora.com Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2025-03-06arm64: dts: mediatek: mt8390-genio-common: Add delay codec for DMICNícolas F. R. A. Prado
The signal from the dual digital microphones connected to the DMIC_BE takes 30ms to settle after being enabled. Add a dmic-codec with corresponding wakeup-delay-ms to prevent an initial "pop" sound when recording with the microphones. Co-developed-by: Zoran Zhan <zoran.zhan@mediatek.com> Signed-off-by: Zoran Zhan <zoran.zhan@mediatek.com> Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20250225-genio700-dmic-v2-8-3076f5b50ef7@collabora.com [Angelo: Resolved merge conflicts] Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2025-03-06arm64: dts: mediatek: mt8390-genio-common: Add routes for DMICNícolas F. R. A. Prado
Add necessary routes for the onboard dual DMIC present on the Genio 700/510 EVK. The dmic is supplied by micbias0 and micbias2, and inputs into the MT8188 DMIC DAI. Co-developed-by: parkeryang <Parker.Yang@mediatek.com> Signed-off-by: parkeryang <Parker.Yang@mediatek.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Link: https://lore.kernel.org/r/20250225-genio700-dmic-v2-6-3076f5b50ef7@collabora.com Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2025-03-06arm64: dts: mediatek: mt8395-nio-12l: Preconfigure DSI0 pipelineAngeloGioacchino Del Regno
This board can use a MIPI-DSI panel on the DSI0 connector: in preparation for adding an overlay for the Radxa Display 8HD, add a pipeline connecting VDOSYS0 components to DSI0. This pipeline remains disabled by default, as it is expected to be enabled only by a devicetree overlay that declares the actual DSI panel node, completing the graph. Link: https://lore.kernel.org/r/20250213112008.56394-4-angelogioacchino.delregno@collabora.com Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2025-03-06arm64: mediatek: mt8195-cherry: Add graph for eDP and DP displaysAngeloGioacchino Del Regno
The base SoC devicetree now defines a display controller graph: connect the board specific outputs (eDP internal display, DP external display) to fully migrate Cherry and make it finally possible to make Chromebooks and other board types to coexist without per-board driver modifications. Link: https://lore.kernel.org/r/20250213112008.56394-3-angelogioacchino.delregno@collabora.com Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2025-03-06arm64: dts: mediatek: mt8195: Add base display controller graphAngeloGioacchino Del Regno
The display related IPs in MT8195 are flexible and support being interconnected with different instances of DDP IPs and/or with different DDP IPs, forming a full Display Data Path that ends with an actual display output, which is board specific. Add a common graph in the main mt8195.dtsi devicetree, which is shared between all of the currently supported boards. All boards featuring any display functionality will extend this common graph to hook the display controller of the SoC to their specific output port(s). Link: https://lore.kernel.org/r/20250213112008.56394-2-angelogioacchino.delregno@collabora.com Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2025-03-06arm64: dts: airoha: en7581: Fix clock-controller addressLorenzo Bianconi
Fix the following warning for clock-controller node: DTC [C] arch/arm64/boot/dts/airoha/en7581-evb.dtb arch/arm64/boot/dts/airoha/en7581.dtsi:176.37-181.5: Warning (simple_bus_reg): /soc/clock-controller@1fa20000: simple-bus unit address format error, expected "1fb00000" Fixes: 7693017580e9 ("arm64: dts: airoha: en7581: Add Clock Controller node") Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20250221-en7581-dts-spi-pinctrl-v3-2-4719e2d01555@kernel.org Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2025-03-06arm64: dts: airoha: en7581: Add more nodes to EN7581 SoC evaluation boardLorenzo Bianconi
Introduce the following nodes to EN7581 SoC and EN7581 evaluation board: - rng controller - pinctrl - i2c controllers Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20250221-en7581-dts-spi-pinctrl-v3-1-4719e2d01555@kernel.org Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2025-03-06arm64: dts: mediatek: mt8390-genio-common: Configure touch vreg pinsAngeloGioacchino Del Regno
Add a pinctrl configuration for the Touchscreen IC's power line to make sure that the pin is configured as GPIO and to stop relying on correct pin configuration from bootloader. Link: https://lore.kernel.org/r/20250220110948.45596-5-angelogioacchino.delregno@collabora.com Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2025-03-06arm64: dts: mediatek: mt8188-geralt: Add graph for DSI and DP displaysAngeloGioacchino Del Regno
The base SoC devicetree now defines a display controller graph: connect the board specific outputs (eDP internal display, DP external display) to fully migrate Cherry and make it finally possible to make Chromebooks and other board types to coexist without per-board driver modifications. Tested-by: Chen-Yu Tsai <wenst@chromium.org> # On MT8188 Ciri (int. and ext.) Link: https://lore.kernel.org/r/20250220110948.45596-4-angelogioacchino.delregno@collabora.com Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2025-03-06arm64: dts: rockchip: Enable hdmi out display for rk3576-evb-v10Andy Yan
Enable vop and hdmi on rk3576 evb1, so we can get a display output on this board now. Signed-off-by: Andy Yan <andy.yan@rock-chips.com> Link: https://lore.kernel.org/r/20250305025128.479245-1-andyshrk@163.com Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-03-06arm64: defconfig: Enable Rockchip UFS host driverShawn Lin
Enable Rockchip UFS host driver. This driver is first introduced on Rockchip RK3576 SoC, and will be used for more SoCs in near future, so add it to defconfig will make these platforms work better. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> Link: https://lore.kernel.org/r/1741161252-138526-1-git-send-email-shawn.lin@rock-chips.com Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-03-05arm: pgtable: fix NULL pointer dereference issueQi Zheng
When update_mmu_cache_range() is called by update_mmu_cache(), the vmf parameter is NULL, which will cause a NULL pointer dereference issue in adjust_pte(): Unable to handle kernel NULL pointer dereference at virtual address 00000030 when read Hardware name: Atmel AT91SAM9 PC is at update_mmu_cache_range+0x1e0/0x278 LR is at pte_offset_map_rw_nolock+0x18/0x2c Call trace: update_mmu_cache_range from remove_migration_pte+0x29c/0x2ec remove_migration_pte from rmap_walk_file+0xcc/0x130 rmap_walk_file from remove_migration_ptes+0x90/0xa4 remove_migration_ptes from migrate_pages_batch+0x6d4/0x858 migrate_pages_batch from migrate_pages+0x188/0x488 migrate_pages from compact_zone+0x56c/0x954 compact_zone from compact_node+0x90/0xf0 compact_node from kcompactd+0x1d4/0x204 kcompactd from kthread+0x120/0x12c kthread from ret_from_fork+0x14/0x38 Exception stack(0xc0d8bfb0 to 0xc0d8bff8) To fix it, do not rely on whether 'ptl' is equal to decide whether to hold the pte lock, but decide it by whether CONFIG_SPLIT_PTE_PTLOCKS is enabled. In addition, if two vmas map to the same PTE page, there is no need to hold the pte lock again, otherwise a deadlock will occur. Just add the need_lock parameter to let adjust_pte() know this information. Link: https://lkml.kernel.org/r/20250217024924.57996-1-zhengqi.arch@bytedance.com Fixes: fc9c45b71f43 ("arm: adjust_pte() use pte_offset_map_rw_nolock()") Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com> Reported-by: Ezra Buehler <ezra.buehler@husqvarnagroup.com> Closes: https://lore.kernel.org/lkml/CAM1KZSmZ2T_riHvay+7cKEFxoPgeVpHkVFTzVVEQ1BO0cLkHEQ@mail.gmail.com/ Acked-by: David Hildenbrand <david@redhat.com> Tested-by: Ezra Buehler <ezra.buehler@husqvarnagroup.com> Cc: Hugh Dickins <hughd@google.com> Cc: Muchun Song <muchun.song@linux.dev> Cc: Qi Zheng <zhengqi.arch@bytedance.com> Cc: Russel King <linux@armlinux.org.uk> Cc: Ryan Roberts <ryan.roberts@arm.com> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-03-05m68k: sun3: add check for __pgd_alloc()Haoxiang Li
Add check for the return value of __pgd_alloc() in pgd_alloc() to prevent null pointer dereference. Link: https://lkml.kernel.org/r/20250217160017.2375536-1-haoxiang_li2024@163.com Fixes: a9b3c355c2e6 ("asm-generic: pgalloc: provide generic __pgd_{alloc,free}") Signed-off-by: Haoxiang Li <haoxiang_li2024@163.com> Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: Kevin Brodsky <kevin.brodsky@arm.com> Cc: Qi Zheng <zhengqi.arch@bytedance.com> Cc: Sam Creasey <sammy@sammy.net> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-03-06RISC-V: KVM: Disable the kernel perf counter during configureAtish Patra
The perf event should be marked disabled during the creation as it is not ready to be scheduled until there is SBI PMU start call or config matching is called with auto start. Otherwise, event add/start gets called during perf_event_create_kernel_counter function. It will be enabled and scheduled to run via perf_event_enable during either the above mentioned scenario. Fixes: 0cb74b65d2e5 ("RISC-V: KVM: Implement perf support without sampling") Reviewed-by: Andrew Jones <ajones@ventanamicro.com> Signed-off-by: Atish Patra <atishp@rivosinc.com> Link: https://lore.kernel.org/r/20250303-kvm_pmu_improve-v2-1-41d177e45929@rivosinc.com Signed-off-by: Anup Patel <anup@brainfault.org>
2025-03-05KVM: arm64: Copy MIDR_EL1 into hyp VM when it is writableOliver Upton
KVM recently added a capability that allows userspace to override the 'implementation ID' registers presented to the VM. MIDR_EL1 is a special example, where the hypervisor can directly set the value when read from EL1 using VPIDR_EL2. Copy the VM-wide value for MIDR_EL1 into the hyp VM for non-protected guests when the capability is enabled so VPIDR_EL2 gets set up correctly. Reported-by: Mark Brown <broonie@kernel.org> Closes: https://lore.kernel.org/kvmarm/ac594b9c-4bbb-46c8-9391-e7a68ce4de5b@sirena.org.uk/ Fixes: 3adaee783061 ("KVM: arm64: Allow userspace to change the implementation ID registers") Reviewed-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250305230825.484091-3-oliver.upton@linux.dev Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2025-03-05KVM: arm64: Copy guest CTR_EL0 into hyp VMOliver Upton
Since commit 2843cae26644 ("KVM: arm64: Treat CTR_EL0 as a VM feature ID register") KVM has allowed userspace to configure the VM-wide view of CTR_EL0, falling back to trap-n-emulate if the value doesn't match hardware. It appears that this has worked by chance in protected-mode for some time, and on systems with FEAT_EVT protected-mode unconditionally sets TID4 (i.e. TID2 traps sans CTR_EL0). Forward the guest CTR_EL0 value through to the hyp VM and align the TID2/TID4 configuration with the non-protected setup. Fixes: 2843cae26644 ("KVM: arm64: Treat CTR_EL0 as a VM feature ID register") Reviewed-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250305230825.484091-2-oliver.upton@linux.dev Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2025-03-05arm64: dts: qcom: x1e80100-t14s: Enable external DisplayPort supportAbel Vesa
The Lenovo ThinkPad T14s Gen6 provides external DisplayPort on all 2 USB Type-C ports. Each one of this ports is connected to a dedicated DisplayPort controller. Due to support missing in the USB/DisplayPort combo PHY driver, the external DisplayPort is limited to 2 lanes. So enable the first and second DisplayPort controllers and limit their data lanes number to 2. Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Johan Hovold <johan+linaro@kernel.org> Tested-by: Johan Hovold <johan+linaro@kernel.org> Signed-off-by: Abel Vesa <abel.vesa@linaro.org> Link: https://lore.kernel.org/r/20250304-x1e80100-dts-crd-t14s-enable-typec-retimers-v6-4-e5a49fae4e94@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-05arm64: dts: qcom: x1e80100-t14s: Describe the Parade PS8830 retimersAbel Vesa
The Lenovo ThinkPad T14s Gen6 laptop comes with 3 Parade PS8830 retimers, one for each Type-C port. These handle the orientation and altmode switching and are controlled over I2C. In the connection chain, they sit between the USB/DisplayPort combo PHY and the Type-C connector. Describe the retimers and all gpio controlled voltage regulators used by each retimer. Also, modify the pmic glink graph to include the retimers in between the SuperSpeed/Sideband in endpoints and the QMP PHY out endpoints. Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Johan Hovold <johan+linaro@kernel.org> Tested-by: Johan Hovold <johan+linaro@kernel.org> Signed-off-by: Abel Vesa <abel.vesa@linaro.org> Link: https://lore.kernel.org/r/20250304-x1e80100-dts-crd-t14s-enable-typec-retimers-v6-3-e5a49fae4e94@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-05arm64: dts: qcom: x1e80100-crd: Enable external DisplayPort supportAbel Vesa
The X Elite CRD provides external DisplayPort on all 3 USB Type-C ports. Each one of this ports is connected to a dedicated DisplayPort controller. Due to support missing in the USB/DisplayPort combo PHY driver, the external DisplayPort is limited to 2 lanes. So enable all 3 remaining DisplayPort controllers and limit their data lanes number to 2. Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Johan Hovold <johan+linaro@kernel.org> Tested-by: Johan Hovold <johan+linaro@kernel.org> Signed-off-by: Abel Vesa <abel.vesa@linaro.org> Link: https://lore.kernel.org/r/20250304-x1e80100-dts-crd-t14s-enable-typec-retimers-v6-2-e5a49fae4e94@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-05arm64: dts: qcom: x1e80100-crd: Describe the Parade PS8830 retimersAbel Vesa
The X Elite CRD board comes with 3 Parade PS8830 retimers, one for each Type-C port. These handle the orientation and altmode switching and are controlled over I2C. In the connection chain, they sit between the USB/DisplayPort combo PHY and the Type-C connector. Describe the retimers and all gpio controlled voltage regulators used by each retimer. Also, modify the pmic glink graph to include the retimers in between the SuperSpeed/Sideband in endpoints and the QMP PHY out endpoints. Reviewed-by: Johan Hovold <johan+linaro@kernel.org> Tested-by: Johan Hovold <johan+linaro@kernel.org> Signed-off-by: Abel Vesa <abel.vesa@linaro.org> Link: https://lore.kernel.org/r/20250304-x1e80100-dts-crd-t14s-enable-typec-retimers-v6-1-e5a49fae4e94@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-05arm64: dts: qcom: x1e80100-romulus: Keep L12B and L15B always onKonrad Dybcio
These regulators power some electronic components onboard. They're most likely kept online by other pieces of firmware, but you can never be sure enough. Fixes: 09d77be56093 ("arm64: dts: qcom: Add support for X1-based Surface Laptop 7 devices") Reported-by: Johan Hovold <johan+linaro@kernel.org> Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Johan Hovold <johan+linaro@kernel.org> Link: https://lore.kernel.org/r/20250304-topic-sl7_vregs_aon-v1-1-b2dc706e4157@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-05arm64/hugetlb: Consistently use pud_sect_supported()Anshuman Khandual
Let's be consistent in using pud_sect_supported() for PUD_SIZE sized pages. Hence change hugetlb_mask_last_page() and arch_make_huge_pte() as required. Also re-arranged the switch statement for a common warning message. Cc: Will Deacon <will@kernel.org> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com> Reviewed-by: Ryan Roberts <ryan.roberts@arm.com> Link: https://lore.kernel.org/r/20250220050534.799645-1-anshuman.khandual@arm.com Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2025-03-05arm64/mm: Convert __pte_to_phys() and __phys_to_pte_val() as functionsAnshuman Khandual
When CONFIG_ARM64_PA_BITS_52 is enabled, page table helpers __pte_to_phys() and __phys_to_pte_val() are functions which return phys_addr_t and pteval_t respectively as expected. But otherwise without this config being enabled, they are defined as macros and their return types are implicit. Until now this has worked out correctly as both pte_t and phys_addr_t data types have been 64 bits. But with the introduction of 128 bit page tables, pte_t becomes 128 bits. Hence this ends up with incorrect widths after the conversions, which leads to compiler warnings. Fix these warnings by converting __pte_to_phys() and __phys_to_pte_val() as functions instead where the return types are handled explicitly. Cc: Will Deacon <will@kernel.org> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com> Reviewed-by: Ryan Roberts <ryan.roberts@arm.com> Link: https://lore.kernel.org/r/20250227022412.2015835-1-anshuman.khandual@arm.com Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>