summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2026-04-03Merge tag 'ti-k3-dt-for-v7.1' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/arm TI K3 device tree updates for v7.1 Generic Fixes/Cleanups: - k3-pinctrl: Cleanup alignment and reorder macros - ti,min-output-impedance addition to all K3 board DT files SoC Specific Features and Fixes: AM62L: - Add RNG node - Support cpufreq scaling J721S2: - Make MAIN domain system control bus a simple-bus - Add second DSI node J722S: - Add main_i2c4 device node J7200: - Make MAIN domain system control bus a simple-bus Board Specific Features and Fixes: AM642 EVM: - Add ICSSG0 overlay for dual EMAC support AM62: - LP-SK: Enable internal pulls for MMC0 data pins - SK: Enable Main UART wakeup - phycore-som: Add 128MiB of global CMA - Verdin: Add Zinnia board support and misc cleanup AM62A7-SK: - Enable Main UART wakeup - Fix pin name in comment from M19 to N22 AM62D2 EVM: - Enable Main UART wakeup and set wakeup-source system-states AM62L3 EVM: - Disable MMC1 internal pulls on data pins - Enable Main UART wakeup and enable wkup_uart0 pins/target node AM62P: - SK: Disable MMC1 internal pulls on data pins and enable Main UART wakeup - Verdin: Add Zinnia support and misc cleanup AM68 PHYBoard: - Add DSI->LVDS bridge, LVDS-Display overlay and PEB-AV-15 overlay AM69 Aquila: - Fix DP regulator enable GPIO J721S2 CPB: - Add QSPI flash partition details Removal of SMARC-sAM67 board: - Kontron SMARC-sAM67 board support along with all bindings are dropped as board is no longer planned for production * tag 'ti-k3-dt-for-v7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux: (47 commits) arm64: dts: ti: k3-pinctrl: sort shift values numerically arm64: dts: ti: k3-pinctrl: consistently use tabs for alignment arm64: dts: ti: k3-am642-evm: Add ICSSG0 overlay for dual EMAC support arm64: dts: ti: k3-am62p-verdin: Add Zinnia arm64: dts: ti: k3-am62p-verdin: Add SPI_1_CS as GPIO arm64: dts: ti: k3-am62p-verdin: Split UART_2 pinctrl group arm64: dts: ti: k3-am62-verdin: Add Zinnia arm64: dts: ti: k3-am62-verdin: Split UART_2 pinctrl group arm64: dts: ti: k3-am62-verdin: Fix SPI_1 GPIO CS pinctrl label dt-bindings: arm: ti: Add verdin am62/am62p zinnia board arm64: dts: ti: k3-j721s2: Make MAIN domain system control bus a simple-bus arm64: dts: ti: k3-j7200: Make MAIN domain system control bus a simple-bus arm64: dts: ti: k3-am62-lp-sk: Enable internal pulls for MMC0 data pins arm64: dts: ti: k3-am62l3-evm: Disable MMC1 internal pulls on data pins arm64: dts: ti: k3-am62p5-sk: Disable MMC1 internal pulls on data pins arm64: dts: ti: k3-am62d2-evm: Enable Main UART wakeup arm64: dts: ti: k3-am62l3-evm: Enable Main UART wakeup arm64: dts: ti: k3-am62p5-sk: Enable Main UART wakeup arm64: dts: ti: k3-am62a7-sk: Enable Main UART wakeup arm64: dts: ti: k3-am62x-sk-common: Enable Main UART wakeup ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-02ARM: dts: st: spear: remove undocumented thermal_flags propertyGopi Krishna Menon
spear13xx.dtsi defines a thermal_flags property in spear thermal sensor node which is both unused in kernel and undocumented in spear thermal sensor's binding. There were no dtbs_check warnings associated with this property as the underlying spear thermal binding was not converted to DTSchema. Most likely st,thermal-flags is a misspelling of thermal_flags in spear13xx.dtsi. Since both st/spear1310.dtsi and st/spear1340.dtsi define st,thermal-flags property in spear thermal sensor node, we can safely remove this property from spear13xx.dtsi. Signed-off-by: Gopi Krishna Menon <krishnagopi487@gmail.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Link: https://lore.kernel.org/r/20260329123449.309814-3-krishnagopi487@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-02Merge tag 'omap-for-v7.1/soc-signed' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap into soc/arm ARM: soc/omap updates for v7.1 * tag 'omap-for-v7.1/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap: ARM: omap2: dead code cleanup in kconfig for ARCH_OMAP4 ARM: OMAP1: Fix DEBUG_LL and earlyprintk on OMAP16XX ARM: omap: fix all kernel-doc warnings ARM: omap2: Replace scnprintf with strscpy in omap3_cpuinfo Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-02arm64: dts: qcom: Add the Lenovo IdeaCentre Mini XBjorn Andersson
The Lenovo IdeaCentre Mini X (Snapdragon) Desktop is a Hamoa-based ultracompact desktop PC. It provides HDMI, DisplayPort, USB Type-C display outputs, 5 additional USB ports, Ethernet, dual NVME slots, headphone jack, WiFi, and Bluetooth. Introduce a DeviceTree describing this device. Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260401-ideacentre-v2-2-5745fe2c764e@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-02Merge tag 'tegra-for-7.1-arm64-defconfig' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/defconfig arm64: tegra: Default configuration changes for v7.1-rc1 Drop the various ARCH_TEGRA_*_SOC options from the default configurations since they are now enabled by default for ARCH_TEGRA. * tag 'tegra-for-7.1-arm64-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: arm64: tegra: defconfig: Drop redundant ARCH_TEGRA_foo_SOC Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-02arm64: dts: qcom: sdm845-shift-axolotl: Enable TFA9890 codecAlexander Martinz
Audio amplifier TFA9890 is present on the board. Signed-off-by: Alexander Martinz <amartinz@shiftphones.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: David Heidelberg <david@ixit.cz> Link: https://lore.kernel.org/r/20260402-axolotl-misc-p1-v3-3-8934e9db6831@ixit.cz Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-02arm64: dts: qcom: sdm845-shift-axolotl: Set higher touchscreen i2c clockCasey Connolly
Sets a higher rate than the default for good responsiveness of touchscreen. Signed-off-by: Casey Connolly <casey.connolly@linaro.org> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: David Heidelberg <david@ixit.cz> Link: https://lore.kernel.org/r/20260402-axolotl-misc-p1-v3-2-8934e9db6831@ixit.cz Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-02arm64: dts: qcom: sdm845-shift-axolotl: Enable sdcardCasey Connolly
The SHIFT6mq features an sdcard slot, add it. Signed-off-by: Casey Connolly <casey.connolly@linaro.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Co-developed-by: David Heidelberg <david@ixit.cz> Signed-off-by: David Heidelberg <david@ixit.cz> Link: https://lore.kernel.org/r/20260402-axolotl-misc-p1-v3-1-8934e9db6831@ixit.cz Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-02Merge tag 'tegra-for-7.1-arm-defconfig' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/defconfig ARM: tegra: Default configuration changes for v7.1-rc1 Drop the various ARCH_TEGRA_*_SOC options from the default configurations since they are now enabled by default for ARCH_TEGRA. * tag 'tegra-for-7.1-arm-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: defconfig: Drop redundant ARCH_TEGRA_foo_SOC soc/tegra: Make ARCH_TEGRA_SOC_FOO defaults for NVIDIA Tegra Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-02arm64: dts: qcom: talos: Add clocks for QoS configurationOdelu Kukatla
Add clocks which need to be enabled for configuring QoS on talos SoC. Signed-off-by: Odelu Kukatla <odelu.kukatla@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260311103548.1823044-4-odelu.kukatla@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-02arm64: dts: qcom: talos-evk-camera: Add DT overlayWenmeng Liu
Enable IMX577 via CCI on Talos EVK Core Kit. The Talos EVK board does not include a camera sensor by default. This DTSO has enabled the Arducam 12.3MP IMX577 Mini Camera Module on the CSI-1 interface. CSI-1 interface using mclk2 as the MCLK source on this board. Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> Signed-off-by: Wenmeng Liu <wenmeng.liu@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260305-sm6150_evk-v6-5-38ce4360d5e0@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-02arm64: dts: qcom: talos: Add camera MCLK pinctrlWenmeng Liu
Define pinctrl definitions to enable camera master clocks on Talos. Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> Signed-off-by: Wenmeng Liu <wenmeng.liu@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260305-sm6150_evk-v6-4-38ce4360d5e0@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-02arm64: dts: qcom: talos: Add CCI definitionsWenmeng Liu
Qualcomm Talos SoC contains single controller, containing 2 I2C hosts. Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> Signed-off-by: Wenmeng Liu <wenmeng.liu@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260305-sm6150_evk-v6-3-38ce4360d5e0@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-02arm64: dts: qcom: talos: Add camss nodeWenmeng Liu
Add node for the SM6150 camera subsystem. Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: Wenmeng Liu <wenmeng.liu@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260305-sm6150_evk-v6-2-38ce4360d5e0@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-02arm64: dts: qcom: talos: Add EL2 overlayMukesh Ojha
All the existing variants Talos boards are using Gunyah hypervisor which means that, so far, Linux-based OS could only boot in EL1 on those devices. However, it is possible for us to boot Linux at EL2 on these devices [1]. When running under Gunyah, the remote processor firmware IOMMU streams are controlled by Gunyah. However, without Gunyah, the IOMMU is managed by the consumer of this DeviceTree. Therefore, describe the firmware streams for each remote processor. Add a EL2-specific DT overlay and apply it to Talos IOT variant devices to create -el2.dtb for each of them alongside "normal" dtb. [1] https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-4/boot-developer-touchpoints.html#uefi Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260127-talos-el2-overlay-v2-3-b6a2266532c4@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-02arm64: dts: qcom: talos-evk: Add support for QCS615 talos evk boardSudarshan Shetty
Add the device tree for the QCS615-based Talos EVK platform. The platform is composed of a System-on-Module following the SMARC standard, and a Carrier Board. The Carrier Board supports several display configurations, HDMI and LVDS. Both configurations use the same base hardware, with the display selection controlled by a DIP switch. Use a DTBO file, talos-evk-lvds-auo,g133han01.dtso, which defines an overlay that disables HDMI and adds LVDS. The DTs file talos-evk can describe the HDMI display configurations. According to the hardware design and vendor guidance, the WiFi PA supplies VDD_PA_A and VDD_PA_B only need to be enabled at the same time as asserting WLAN_EN. On this platform, WiFi enablement is controlled via the WLAN_EN GPIO (GPIO84), which also drives the VDD_PA_A and VDD_PA_B power enables. Remove the VDD_PA_A and VDD_PA_B regulator nodes from the device tree and rely on WLAN_EN to enable WiFi functionality. Add talos-evk-usb1-peripheral.dtso overlay to enable USB0 peripheral (EDL) mode. The base DTS will keep USB0 host-only due to hardware routing through the EDL DIP switch, and the overlay switches the configuration for device-mode operation. The LVDS backlight hardware has been updated to use a simplified design. The backlight enable signal is now permanently pulled up to 3.3V and is no longer controlled via GPIO59. Remove the GPIO59 based backlight configuration from the device tree, as it is no longer routed to the LVDS interface. The initial device tree includes support for: - CPU and memory - UART - GPIOs - Regulators - PMIC - Early console - AT24MAC602 EEPROM - MCP2515 SPI to CAN - ADV7535 DSI-to-HDMI bridge - DisplayPort interface - SN65DSI84ZXHR DSI-to-LVDS bridge - Wi-Fi/BT Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> Link: https://lore.kernel.org/r/20260331060107.501561-4-tessolveupstream@gmail.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-02arm64: dts: qcom: talos/qcs615-ride: Fix inconsistent USB PHY node namingSudarshan Shetty
The USB PHY nodes has inconsistent labels as 'usb_1_hsphy' and 'usb_hsphy_2' across talos.dtsi and qcs615-ride.dts. This patch renames them to follow a consistent naming scheme. No functional changes, only label renaming. Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260331060107.501561-3-tessolveupstream@gmail.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-02arm64: dts: qcom: qcs615-ride: Enable Adreno 612 GPUJie Zhang
Enable GPU for qcs615-ride platform and provide path for zap shader. Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260312-qcs615-spin-2-v8-4-fca38edcd6e6@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-02arm64: dts: qcom: talos: Add GPU coolingGaurav Kohli
Unlike the CPU, the GPU does not throttle its speed automatically when it reaches high temperatures. Set up GPU cooling by throttling the GPU speed when it reaches 105°C. Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260312-qcs615-spin-2-v8-3-fca38edcd6e6@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-02arm64: dts: qcom: talos: Add gpu and rgmu nodesJie Zhang
Add gpu and rgmu nodes for Talos chipset. Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260312-qcs615-spin-2-v8-2-fca38edcd6e6@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-02arm64: dts: qcom: talos: add the GPU SMMU nodeQingqing Zhou
Add the Adreno GPU SMMU node for Talos chipset. Signed-off-by: Qingqing Zhou <quic_qqzhou@quicinc.com> Signed-off-by: Jie Zhang <jie.zhang@oss.qualcomm.com> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260312-qcs615-spin-2-v8-1-fca38edcd6e6@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-04-02Merge tag 'omap-for-v7.1/defconfig-signed' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap into soc/defconfig arm: OMAP defconfig updates for v7.1 * tag 'omap-for-v7.1/defconfig-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap: arm: multi_v7_defconfig: Enable more OMAP 3/4 related configs ARM: multi_v7_defconfig: omap2plus_defconfig: Enable ITE IT66121 driver Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-02Merge tag 'ti-k3-config-for-v7.1' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/defconfig TI K3 defconfig updates for v7.1 Generic Fixes/Cleanups: - Remove SENSORS_SA67MCU as the driver is dropped Board Specific Features and Fixes: AM69: - Enable configurations for Toradex Aquila AM69 AM64 / AM62: - Enable DP83TG720 PHY driver * tag 'ti-k3-config-for-v7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux: arm64: defconfig: Enable DP83TG720 PHY driver arm64: defconfig: Enable configurations for Toradex Aquila AM69 arm64: defconfig: remove SENSORS_SA67MCU Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-02arch/arm: Drop CONFIG_FIRMWARE_EDID from defconfig filesThomas Zimmermann
CONFIG_FIRMWARE_EDID=y depends on X86 or EFI_GENERIC_STUB. Neither is true here, so drop the lines from the defconfig files. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Suggested-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Kevin Hilman (TI) <khilman@baylibre.com> Link: https://lore.kernel.org/r/20260401082533.214103-1-tzimmermann@suse.de Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-02Merge tag 'qcom-arm64-defconfig-for-7.1' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/defconfig Qualcomm Arm64 defconfig updates for v7.1 Enable base drivers for booting boards based on Kaanapali, Glymur, Eliza, SM8750, and IPQ5210 SoCs. Enable the Milos LPASS LPI driver. Enable the Qualcomm WCD937x headphone codec driver, used on QCM6490 boards. Enable the QCOMTEE driver, to support the interface found in various Qualcomm SoCs. Enable ethernet and analog codecs used on the Arduino Ventuno Q. Enable the Lontium LT8713sx driver, used for the Monaco EVK board. Enable the PCI pwrctrl generic driver used in a few different Qualcomm-based boards with USB controllers on PCI buses. * tag 'qcom-arm64-defconfig-for-7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: arm64: defconfig: enable pci-pwrctrl-generic as module arm64: defconfig: Enable Lontium LT8713sx driver arm64: defconfig: Enable Qualcomm Eliza SoC display clock controller arm64: defconfig: enable IPQ5210 RDP504 base configs arm64: defconfig: Enable Milos LPASS LPI pinctrl driver arm64: defconfig: Enable Kaanapali clock controllers arm64: defconfig: Enable configs for Arduino VENTUNO Q arm64: defconfig: Enable Qualcomm Eliza basic resource providers arm64: defconfig: Enable S5KJN1 camera sensor arm64: defconfig: Enable Qualcomm WCD937x headphone codec as module arm64: defconfig: Enable QCOMTEE module for QTEE-enabled Qualcomm SoCs arm64: defconfig: Enable configs for Qualcomm Glymur SoC arm64: defconfig: Enable SM8750 clock controllers Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-02arm64/sysreg: Update SMIDR_EL1 to DDI0601 2025-06Mark Brown
Update the definition of SMIDR_EL1 in the sysreg definition to reflect the information in DD0601 2025-06. This includes somewhat more generic ways of describing the sharing of SMCUs, more information on supported priorities and provides additional resolution for describing affinity groups. Reviewed-by: Fuad Tabba <tabba@google.com> Signed-off-by: Mark Brown <broonie@kernel.org> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2026-04-02arm64: mm: Remove pmd_sect() and pud_sect()Ryan Roberts
The semantics of pXd_leaf() are very similar to pXd_sect(). The only difference is that pXd_sect() only considers it a section if PTE_VALID is set, whereas pXd_leaf() permits both "valid" and "present-invalid" types. Using pXd_sect() has caused issues now that large leaf entries can be present-invalid since commit a166563e7ec37 ("arm64: mm: support large block mapping when rodata=full"), so let's just remove the API and standardize on pXd_leaf(). There are a few callsites of the form pXd_leaf(READ_ONCE(*pXdp)). This was previously fine for the pXd_sect() macro because it only evaluated its argument once. But pXd_leaf() evaluates its argument multiple times. So let's avoid unintended side effects by reimplementing pXd_leaf() as an inline function. Signed-off-by: Ryan Roberts <ryan.roberts@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2026-04-02arm64: mm: Handle invalid large leaf mappings correctlyRyan Roberts
It has been possible for a long time to mark ptes in the linear map as invalid. This is done for secretmem, kfence, realm dma memory un/share, and others, by simply clearing the PTE_VALID bit. But until commit a166563e7ec37 ("arm64: mm: support large block mapping when rodata=full") large leaf mappings were never made invalid in this way. It turns out various parts of the code base are not equipped to handle invalid large leaf mappings (in the way they are currently encoded) and I've observed a kernel panic while booting a realm guest on a BBML2_NOABORT system as a result: [ 15.432706] software IO TLB: Memory encryption is active and system is using DMA bounce buffers [ 15.476896] Unable to handle kernel paging request at virtual address ffff000019600000 [ 15.513762] Mem abort info: [ 15.527245] ESR = 0x0000000096000046 [ 15.548553] EC = 0x25: DABT (current EL), IL = 32 bits [ 15.572146] SET = 0, FnV = 0 [ 15.592141] EA = 0, S1PTW = 0 [ 15.612694] FSC = 0x06: level 2 translation fault [ 15.640644] Data abort info: [ 15.661983] ISV = 0, ISS = 0x00000046, ISS2 = 0x00000000 [ 15.694875] CM = 0, WnR = 1, TnD = 0, TagAccess = 0 [ 15.723740] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 15.755776] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000081f3f000 [ 15.800410] [ffff000019600000] pgd=0000000000000000, p4d=180000009ffff403, pud=180000009fffe403, pmd=00e8000199600704 [ 15.855046] Internal error: Oops: 0000000096000046 [#1] SMP [ 15.886394] Modules linked in: [ 15.900029] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 7.0.0-rc4-dirty #4 PREEMPT [ 15.935258] Hardware name: linux,dummy-virt (DT) [ 15.955612] pstate: 21400005 (nzCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--) [ 15.986009] pc : __pi_memcpy_generic+0x128/0x22c [ 16.006163] lr : swiotlb_bounce+0xf4/0x158 [ 16.024145] sp : ffff80008000b8f0 [ 16.038896] x29: ffff80008000b8f0 x28: 0000000000000000 x27: 0000000000000000 [ 16.069953] x26: ffffb3976d261ba8 x25: 0000000000000000 x24: ffff000019600000 [ 16.100876] x23: 0000000000000001 x22: ffff0000043430d0 x21: 0000000000007ff0 [ 16.131946] x20: 0000000084570010 x19: 0000000000000000 x18: ffff00001ffe3fcc [ 16.163073] x17: 0000000000000000 x16: 00000000003fffff x15: 646e612065766974 [ 16.194131] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000 [ 16.225059] x11: 0000000000000000 x10: 0000000000000010 x9 : 0000000000000018 [ 16.256113] x8 : 0000000000000018 x7 : 0000000000000000 x6 : 0000000000000000 [ 16.287203] x5 : ffff000019607ff0 x4 : ffff000004578000 x3 : ffff000019600000 [ 16.318145] x2 : 0000000000007ff0 x1 : ffff000004570010 x0 : ffff000019600000 [ 16.349071] Call trace: [ 16.360143] __pi_memcpy_generic+0x128/0x22c (P) [ 16.380310] swiotlb_tbl_map_single+0x154/0x2b4 [ 16.400282] swiotlb_map+0x5c/0x228 [ 16.415984] dma_map_phys+0x244/0x2b8 [ 16.432199] dma_map_page_attrs+0x44/0x58 [ 16.449782] virtqueue_map_page_attrs+0x38/0x44 [ 16.469596] virtqueue_map_single_attrs+0xc0/0x130 [ 16.490509] virtnet_rq_alloc.isra.0+0xa4/0x1fc [ 16.510355] try_fill_recv+0x2a4/0x584 [ 16.526989] virtnet_open+0xd4/0x238 [ 16.542775] __dev_open+0x110/0x24c [ 16.558280] __dev_change_flags+0x194/0x20c [ 16.576879] netif_change_flags+0x24/0x6c [ 16.594489] dev_change_flags+0x48/0x7c [ 16.611462] ip_auto_config+0x258/0x1114 [ 16.628727] do_one_initcall+0x80/0x1c8 [ 16.645590] kernel_init_freeable+0x208/0x2f0 [ 16.664917] kernel_init+0x24/0x1e0 [ 16.680295] ret_from_fork+0x10/0x20 [ 16.696369] Code: 927cec03 cb0e0021 8b0e0042 a9411c26 (a900340c) [ 16.723106] ---[ end trace 0000000000000000 ]--- [ 16.752866] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b [ 16.792556] Kernel Offset: 0x3396ea200000 from 0xffff800080000000 [ 16.818966] PHYS_OFFSET: 0xfff1000080000000 [ 16.837237] CPU features: 0x0000000,00060005,13e38581,957e772f [ 16.862904] Memory Limit: none [ 16.876526] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b ]--- This panic occurs because the swiotlb memory was previously shared to the host (__set_memory_enc_dec()), which involves transitioning the (large) leaf mappings to invalid, sharing to the host, then marking the mappings valid again. But pageattr_p[mu]d_entry() would only update the entry if it is a section mapping, since otherwise it concluded it must be a table entry so shouldn't be modified. But p[mu]d_sect() only returns true if the entry is valid. So the result was that the large leaf entry was made invalid in the first pass then ignored in the second pass. It remains invalid until the above code tries to access it and blows up. The simple fix would be to update pageattr_pmd_entry() to use !pmd_table() instead of pmd_sect(). That would solve this problem. But the ptdump code also suffers from a similar issue. It checks pmd_leaf() and doesn't call into the arch-specific note_page() machinery if it returns false. As a result of this, ptdump wasn't even able to show the invalid large leaf mappings; it looked like they were valid which made this super fun to debug. the ptdump code is core-mm and pmd_table() is arm64-specific so we can't use the same trick to solve that. But we already support the concept of "present-invalid" for user space entries. And even better, pmd_leaf() will return true for a leaf mapping that is marked present-invalid. So let's just use that encoding for present-invalid kernel mappings too. Then we can use pmd_leaf() where we previously used pmd_sect() and everything is magically fixed. Additionally, from inspection kernel_page_present() was broken in a similar way, so I'm also updating that to use pmd_leaf(). The transitional page tables component was also similarly broken; it creates a copy of the kernel page tables, making RO leaf mappings RW in the process. It also makes invalid (but-not-none) pte mappings valid. But it was not doing this for large leaf mappings. This could have resulted in crashes at kexec- or hibernate-time. This code is fixed to flip "present-invalid" mappings back to "present-valid" at all levels. Finally, I have hardened split_pmd()/split_pud() so that if it is passed a "present-invalid" leaf, it will maintain that property in the split leaves, since I wasn't able to convince myself that it would only ever be called for "present-valid" leaves. Fixes: a166563e7ec3 ("arm64: mm: support large block mapping when rodata=full") Cc: stable@vger.kernel.org Signed-off-by: Ryan Roberts <ryan.roberts@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2026-04-02arm64: mm: Fix rodata=full block mapping support for realm guestsRyan Roberts
Commit a166563e7ec37 ("arm64: mm: support large block mapping when rodata=full") enabled the linear map to be mapped by block/cont while still allowing granular permission changes on BBML2_NOABORT systems by lazily splitting the live mappings. This mechanism was intended to be usable by realm guests since they need to dynamically share dma buffers with the host by "decrypting" them - which for Arm CCA, means marking them as shared in the page tables. However, it turns out that the mechanism was failing for realm guests because realms need to share their dma buffers (via __set_memory_enc_dec()) much earlier during boot than split_kernel_leaf_mapping() was able to handle. The report linked below showed that GIC's ITS was one such user. But during the investigation I found other callsites that could not meet the split_kernel_leaf_mapping() constraints. The problem is that we block map the linear map based on the boot CPU supporting BBML2_NOABORT, then check that all the other CPUs support it too when finalizing the caps. If they don't, then we stop_machine() and split to ptes. For safety, split_kernel_leaf_mapping() previously wouldn't permit splitting until after the caps were finalized. That ensured that if any secondary cpus were running that didn't support BBML2_NOABORT, we wouldn't risk breaking them. I've fix this problem by reducing the black-out window where we refuse to split; there are now 2 windows. The first is from T0 until the page allocator is inititialized. Splitting allocates memory for the page allocator so it must be in use. The second covers the period between starting to online the secondary cpus until the system caps are finalized (this is a very small window). All of the problematic callers are calling __set_memory_enc_dec() before the secondary cpus come online, so this solves the problem. However, one of these callers, swiotlb_update_mem_attributes(), was trying to split before the page allocator was initialized. So I have moved this call from arch_mm_preinit() to mem_init(), which solves the ordering issue. I've added warnings and return an error if any attempt is made to split in the black-out windows. Note there are other issues which prevent booting all the way to user space, which will be fixed in subsequent patches. Reported-by: Jinjiang Tu <tujinjiang@huawei.com> Closes: https://lore.kernel.org/all/0b2a4ae5-fc51-4d77-b177-b2e9db74f11d@huawei.com/ Fixes: a166563e7ec3 ("arm64: mm: support large block mapping when rodata=full") Cc: stable@vger.kernel.org Reviewed-by: Kevin Brodsky <kevin.brodsky@arm.com> Signed-off-by: Ryan Roberts <ryan.roberts@arm.com> Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com> Tested-by: Suzuki K Poulose <suzuki.poulose@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2026-04-02Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski
Cross-merge networking fixes after downstream PR (net-7.0-rc7). Conflicts: net/vmw_vsock/af_vsock.c b18c83388874 ("vsock: initialize child_ns_mode_locked in vsock_net_init()") 0de607dc4fd8 ("vsock: add G2H fallback for CIDs not owned by H2G transport") Adjacent changes: drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c ceee35e5674a ("bnxt_en: Refactor some basic ring setup and adjustment logic") 57cdfe0dc70b ("bnxt_en: Resize RSS contexts on channel count change") drivers/net/wireless/intel/iwlwifi/mld/mac80211.c 4d56037a02bd ("wifi: iwlwifi: mld: block EMLSR during TDLS connections") 687a95d204e7 ("wifi: iwlwifi: mld: correctly set wifi generation data") drivers/net/wireless/intel/iwlwifi/mld/scan.h b6045c899e37 ("wifi: iwlwifi: mld: Refactor scan command handling") ec66ec6a5a8f ("wifi: iwlwifi: mld: Fix MLO scan timing") drivers/net/wireless/intel/iwlwifi/mvm/fw.c 078df640ef05 ("wifi: iwlwifi: mld: add support for iwl_mcc_allowed_ap_type_cmd v 2") 323156c3541e ("wifi: iwlwifi: mvm: don't send a 6E related command when not supported") Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-04-02amd-pstate: Add support for CPPC_REQ2 and FLOOR_PERFGautham R. Shenoy
Some future AMD processors have feature named "CPPC Performance Priority" which lets userspace specify different floor performance levels for different CPUs. The platform firmware takes these different floor performance levels into consideration while throttling the CPUs under power/thermal constraints. The presence of this feature is indicated by bit 16 of the EDX register for CPUID leaf 0x80000007. More details can be found in AMD Publication titled "AMD64 Collaborative Processor Performance Control (CPPC) Performance Priority" Revision 1.10. The number of distinct floor performance levels supported on the platform will be advertised through the bits 32:39 of the MSR_AMD_CPPC_CAP1. Bits 0:7 of a new MSR MSR_AMD_CPPC_REQ2 (0xc00102b5) will be used to specify the desired floor performance level for that CPU. Add support for the aforementioned MSR_AMD_CPPC_REQ2, and macros for parsing and updating the relevant bits from MSR_AMD_CPPC_CAP1 and MSR_AMD_CPPC_REQ2. On boot if the default value of the MSR_AMD_CPPC_REQ2[7:0] (Floor Perf) is lower than CPPC.lowest_perf, and thus invalid, initialize it to MSR_AMD_CPPC_CAP1.nominal_perf which is a sane default value. Save the boot-time floor_perf during amd_pstate_init_floor_perf(). In a subsequent patch it will be restored in the suspend, offline, and exit paths, mirroring how bios_min_perf is handled for MSR_AMD_CPPC_REQ. Link: https://docs.amd.com/v/u/en-US/69206_1.10_AMD64_CPPC_PUB Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org> Signed-off-by: Gautham R. Shenoy <gautham.shenoy@amd.com> Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
2026-04-02x86/cpufeatures: Add AMD CPPC Performance Priority feature.Gautham R. Shenoy
Some future AMD processors have feature named "CPPC Performance Priority" which lets userspace specify different floor performance levels for different CPUs. The platform firmware takes these different floor performance levels into consideration while throttling the CPUs under power/thermal constraints. The presence of this feature is indicated by bit 16 of the EDX register for CPUID leaf 0x80000007. More details can be found in AMD Publication titled "AMD64 Collaborative Processor Performance Control (CPPC) Performance Priority" Revision 1.10. Define a new feature bit named X86_FEATURE_CPPC_PERF_PRIO to map to CPUID 0x80000007.EDX[16]. Reviewed-by: Borislav Petkov (AMD) <bp@alien8.de> Signed-off-by: Gautham R. Shenoy <gautham.shenoy@amd.com> Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
2026-04-02KVM: s390: Add KVM capability for ESA mode guestsHendrik Brueckner
Now that all the bits are properly addressed, provide a mechanism for testing ESA mode guests in nested configurations. Signed-off-by: Hendrik Brueckner <brueckner@linux.ibm.com> [farman@us.ibm.com: Updated commit message] Reviewed-by: Janosch Frank <frankja@linux.ibm.com> Signed-off-by: Eric Farman <farman@linux.ibm.com> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
2026-04-02KVM: s390: vsie: Accommodate ESA prefix pagesEric Farman
The prefix page address occupies a different number of bits for z/Architecture versus ESA mode. Adjust the definition to cover both, and permit an ESA mode address within the nested codepath. Signed-off-by: Eric Farman <farman@linux.ibm.com> Reviewed-by: Hendrik Brueckner <brueckner@linux.ibm.com> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
2026-04-02KVM: s390: vsie: Disable some bits when in ESA modeEric Farman
In the event that a nested guest is put in ESA mode, ensure that some bits are scrubbed from the shadow SCB. Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com> Signed-off-by: Eric Farman <farman@linux.ibm.com> Reviewed-by: Hendrik Brueckner <brueckner@linux.ibm.com> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
2026-04-02KVM: s390: vsie: Allow non-zarch guestsEric Farman
Linux/KVM runs in z/Architecture-only mode. Although z/Architecture is built upon a long history of hardware refinements, any other CPU mode is not permitted. Allow a userspace to explicitly enable the use of ESA mode for nested guests, otherwise usage will be rejected. Reviewed-by: Janosch Frank <frankja@linux.ibm.com> Signed-off-by: Eric Farman <farman@linux.ibm.com> Reviewed-by: Hendrik Brueckner <brueckner@linux.ibm.com> Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
2026-04-02Merge branch 'sched/urgent' into sched/core, to resolve conflictsIngo Molnar
The following fix in sched/urgent: e08d007f9d81 ("sched/debug: Fix avg_vruntime() usage") is in conflict with this pending commit in sched/core: 4823725d9d1d ("sched/fair: Increase weight bits for avg_vruntime") Both modify the same variable definition and initialization blocks, resolve it by merging the two. Conflicts: kernel/sched/debug.c Signed-off-by: Ingo Molnar <mingo@kernel.org>
2026-04-02KVM: riscv: Skip CSR restore if VCPU is reloaded on the same coreJinyu Tang
Currently, kvm_arch_vcpu_load() unconditionally restores guest CSRs, HGATP, and AIA state. However, when a VCPU is loaded back on the same physical CPU, and no other KVM VCPU has run on this CPU since it was last put, the hardware CSRs and AIA registers are still valid. This patch optimizes the vcpu_load path by skipping the expensive CSR and AIA writes if all the following conditions are met: 1. It is being reloaded on the same CPU (vcpu->arch.last_exit_cpu == cpu). 2. The CSRs are not dirty (!vcpu->arch.csr_dirty). 3. No other VCPU used this CPU (vcpu == __this_cpu_read(kvm_former_vcpu)). To ensure this fast-path doesn't break corner cases: - Live migration and VCPU reset are naturally safe. KVM initializes last_exit_cpu to -1, which guarantees the fast-path won't trigger. - The 'csr_dirty' flag tracks runtime userspace interventions. If userspace modifies guest configurations (e.g., hedeleg via KVM_SET_GUEST_DEBUG, or CSRs including AIA via KVM_SET_ONE_REG), the flag is set to skip the fast path. With the 'csr_dirty' safeguard proven effective, it is safe to include kvm_riscv_vcpu_aia_load() inside the skip logic now. Signed-off-by: Jinyu Tang <tjytimi@163.com> Reviewed-by: Nutty Liu <nutty.liu@hotmail.com> Reviewed-by: Andrew Jones <andrew.jones@oss.qualcomm.com> Reviewed-by: Radim Krčmář <radim.krcmar@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260227121008.442241-1-tjytimi@163.com Signed-off-by: Anup Patel <anup@brainfault.org>
2026-04-02perf/x86: Fix potential bad container_of in intel_pmu_hw_configIan Rogers
Auto counter reload may have a group of events with software events present within it. The software event PMU isn't the x86_hybrid_pmu and a container_of operation in intel_pmu_set_acr_caused_constr (via the hybrid helper) could cause out of bound memory reads. Avoid this by guarding the call to intel_pmu_set_acr_caused_constr with an is_x86_event check. Fixes: ec980e4facef ("perf/x86/intel: Support auto counter reload") Signed-off-by: Ian Rogers <irogers@google.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Thomas Falcon <thomas.falcon@intel.com> Link: https://patch.msgid.link/20260312194305.1834035-1-irogers@google.com
2026-04-02Merge tag 'renesas-arm-soc-for-v7.1-tag1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/arm Renesas ARM SoC updates for v7.1 - Use the of_phandle_args_equal() helper. * tag 'renesas-arm-soc-for-v7.1-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: ARM: shmobile: rcar-gen2: Use of_phandle_args_equal() helper Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-01Merge tag 'qcom-arm64-fixes-for-7.0-2' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/fixes More Qualcomm Arm64 DeviceTree fixes for v7.0 The shuffling of reset and wake GPIO properties across various Hamoa devices left things in an incomplete state, fix this. Add the missing "ranges" property to the QCM2290 MDSS DeviceTree binding example, to fix the validation warning that was introduced by the previous fix. * tag 'qcom-arm64-fixes-for-7.0-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: arm64: dts: qcom: hamoa: Fix incomplete Root Port property migration dt-bindings: display/msm: qcm2290-mdss: Fix missing ranges in example arm64: dts: qcom: agatti: Fix IOMMU DT properties dt-bindings: media: venus: Fix iommus property dt-bindings: display: msm: qcm2290-mdss: Fix iommus property arm64: dts: qcom: monaco: Reserve full Gunyah metadata region arm64: dts: qcom: monaco: Fix UART10 pinconf arm64: dts: qcom: qcm6490-idp: Fix WCD9370 reset GPIO polarity arm64: dts: qcom: hamoa/x1: fix idle exit latency Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-01Merge tag 'sunxi-fixes-for-7.0' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/fixes Allwinner fixes for 7.0 Just one fix to make the r-spi SPI controller use the mcu-dma DMA controller for DMA instead of the main DMA controller. * tag 'sunxi-fixes-for-7.0' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: arm64: dts: allwinner: sun55i: Fix r-spi DMA Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-01Merge tag 'renesas-fixes-for-v7.0-tag2' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/fixes Renesas fixes for v7.0 (take two) - Fix TFA BL31 memory corruption on Sparrow Hawk. * tag 'renesas-fixes-for-v7.0-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: arm64: dts: renesas: sparrow-hawk: Reserve first 128 MiB of DRAM Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-01Merge tag 'sunxi-dt-for-7.1' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt Allwinner device tree changes for 7.1 - part 1 Only minor additions this cycle. Allwinner A523 SoC family had LED controller enabled. Avaota A1 board had SPI NAND enabled. New board added: - TaiqiCat (TQC) A01 * tag 'sunxi-dt-for-7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: arm64: dts: allwinner: h6: Add TaiqiCat (TQC) A01 support dt-bindings: arm: sunxi: Add TaiqiCat (TQC) A01 dt-bindings: vendor-prefixes: Add Beijing Ultrapower Software Co., Ltd. arm64: dts: allwinner: sun55i-t527: avaota-a1: Add SPI NAND arm64: dts: allwinner: sun55i-a523: Add pinmux for spi0 on PJ pins arm64: dts: allwinner: sun55i-t527: avaota-a1: Enable LEDs arm64: dts: allwinner: sun55i-a523: Add LED controller dt-bindings: leds: sun50i-a100: Add compatible for Allwinner A523 SoC Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-01Merge tag 'qcom-arm32-for-7.1' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt Qualcomm Arm32 DeviceTree updates for v7.1 Qualcomm APQ8084 is incomplete and hasn't seen functional contributions since 2016, so drop the platform (for now?). Also drop a number of unused IPQ-related dtsi files. Lastly clean up the RPM bus clocks in MSM8974 interconnect nodes. * tag 'qcom-arm32-for-7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: ARM: dts: qcom: msm8974: Drop RPM bus clocks ARM: dts: qcom: drop apq8084 support ARM: dts: qcom: Drop unused .dtsi Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-01Merge tag 'hisi-arm64-dt-for-7.1' of https://github.com/hisilicon/linux-hisi ↵Arnd Bergmann
into soc/dt ARM64: DT: HiSilicon ARM64 DT updates for v7.1 - Rename dwmmc nodes to mmc to comply with the schema * tag 'hisi-arm64-dt-for-7.1' of https://github.com/hisilicon/linux-hisi: arm64: dts: hisilicon: Rename dwmmc nodes to mmc Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-01Merge tag 'socfpga_updates_for_v7.1_v2' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into soc/dt SoCFPGA DTS updates for v7.1 - dt-bindings updates: - Document fallback compatible for Stratix10 SoCDK eMMC board - Document compatible for the Agilex5 SoCFPGA modular board - Add emmc support for the Stratix10 - Drop CPU masks from the GICv3 PPI interrupts for Agilex5 * tag 'socfpga_updates_for_v7.1_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: arm64: dts: intel: agilex5: Drop CPU masks from GICv3 PPI interrupts dt-bindings: intel: Add Agilex5 SoCFPGA modular board arm64: dts: socfpga: stratix10: Add emmc support dt-bindings: altera: Add fallback compatible for Stratix 10 SoCDK eMMC variant Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-01Merge tag 'thead-dt-for-v7.1-p2' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/fustini/linux into soc/dt T-HEAD Devicetrees for 7.1, part 2 Additional updates to T-Head device trees for v7.1: - Enable the display pipeline for the TH1520-based BeagleV Ahead board by adding the HDMI connector node, connecting it to the HDMI controller, and activating the DPU and HDMI nodes. - Add coefficients to the TH1520 PVT node as the values in the TH1520 manual differ from the defaults in the driver. * tag 'thead-dt-for-v7.1-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/fustini/linux: riscv: dts: thead: beaglev-ahead: enable HDMI output riscv: dts: thead: th1520: add coefficients to the PVT node Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-01Merge tag 'cix-dt-v7.1-rc1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/cix into soc/dt - Add power domain and reset for SoC - Add GPIO for both SoC and Radxa Orion O6 board * tag 'cix-dt-v7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/cix: arm64: dts: cix: add FCH(S0)/S5 GPIO controllers for sky1 arm64: dts: cix: Add scmi powerdomain nodes for sky1 arm64: dts: cix: add support for cix sky1 resets Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-04-01mips: mm: Allocate tlb_vpn array atomicallyStefan Wiehler
Found by DEBUG_ATOMIC_SLEEP: BUG: sleeping function called from invalid context at /include/linux/sched/mm.h:306 in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 0, name: swapper/1 preempt_count: 1, expected: 0 RCU nest depth: 0, expected: 0 no locks held by swapper/1/0. irq event stamp: 0 hardirqs last enabled at (0): [<0000000000000000>] 0x0 hardirqs last disabled at (0): [<ffffffff801477fc>] copy_process+0x75c/0x1b68 softirqs last enabled at (0): [<ffffffff801477fc>] copy_process+0x75c/0x1b68 softirqs last disabled at (0): [<0000000000000000>] 0x0 CPU: 1 PID: 0 Comm: swapper/1 Not tainted 6.6.119-d79e757675ec-fct #1 Stack : 800000000290bad8 0000000000000000 0000000000000008 800000000290bae8 800000000290bae8 800000000290bc78 0000000000000000 0000000000000000 ffffffff80c80000 0000000000000001 ffffffff80d8dee8 ffffffff810d09c0 784bb2a7ec10647d 0000000000000010 ffffffff80a6fd60 8000000001d8a9c0 0000000000000000 0000000000000000 ffffffff80d90000 0000000000000000 ffffffff80c9e0e8 0000000007ffffff 0000000000000cc0 0000000000000400 ffffffffffffffff 0000000000000001 0000000000000002 ffffffffc0149ed8 fffffffffffffffe 8000000002908000 800000000290bae0 ffffffff80a81b74 ffffffff80129fb0 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ffffffff80129fd0 0000000000000000 ... Call Trace: [<ffffffff80129fd0>] show_stack+0x60/0x158 [<ffffffff80a7f894>] dump_stack_lvl+0x88/0xbc [<ffffffff8018d3c8>] __might_resched+0x268/0x288 [<ffffffff803648b0>] __kmem_cache_alloc_node+0x2e0/0x330 [<ffffffff80302788>] __kmalloc+0x58/0xd0 [<ffffffff80a81b74>] r4k_tlb_uniquify+0x7c/0x428 [<ffffffff80143e8c>] tlb_init+0x7c/0x110 [<ffffffff8012bdb4>] per_cpu_trap_init+0x16c/0x1d0 [<ffffffff80133258>] start_secondary+0x28/0x128 Fixes: 231ac951faba ("MIPS: mm: kmalloc tlb_vpn array to avoid stack overflow") Signed-off-by: Stefan Wiehler <stefan.wiehler@nokia.com> Cc: stable@vger.kernel.org Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>