summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-10-27arm64: dts: qcom: hamoa-iot-evk: Fix 4-speaker playback supportLe Qi
On the HAMOA-IOT-EVK board only 2 out of 4 speakers were functional. Unlike the CRD, which shares a single GPIO reset line for WSA1/2, this board provides a dedicated GPIO reset for each WSA, resulting in 4 separate reset lines. Update the device tree accordingly so that all 4 speakers can playback audio as expected. Signed-off-by: Le Qi <le.qi@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20251010033728.1808133-1-le.qi@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: x1e80100: Describe the full 'link' region of DP hostsKonrad Dybcio
The regions are larger than currently described. Rather inconveniently, some control registers, including some related to USB4, are in that left-out chunk. Extend it to cover the entire region, as per the hw specification. Fixes: 1940c25eaa63 ("arm64: dts: qcom: x1e80100: Add display nodes") Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Abel Vesa <abel.vesa@linaro.org> Link: https://lore.kernel.org/r/20251009-topic-hamoa_dp_reg-v1-1-4c70afa5f029@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: qcm2290: Add uart1 and uart5 nodesWojciech Slenska
Add nodes to support uart1 and uart5. Signed-off-by: Wojciech Slenska <wojciech.slenska@gmail.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20251009090858.32911-1-wojciech.slenska@gmail.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: qcm2290: Fix uart3 QUP interconnectWojciech Slenska
The config_noc interconnect should use SLAVE_QUP_0. Signed-off-by: Wojciech Slenska <wojciech.slenska@gmail.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20251009090718.32503-1-wojciech.slenska@gmail.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: qcm6490-shift-otter: Enable venus nodeAlexander Martinz
Enable the venus node so that the video encoder/decoder will start working. Signed-off-by: Alexander Martinz <amartinz@shiftphones.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20251009-otter-further-bringup-v2-6-5bb2f4a02cea@fairphone.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: qcm6490-shift-otter: Enable RGB LEDLuca Weiss
Enable the RGB LED connected to the PM7350C (PM8350C). Signed-off-by: Luca Weiss <luca@lucaweiss.eu> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Reviewed-by: Pavel Machek <pavel@ucw.cz> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20251009-otter-further-bringup-v2-5-5bb2f4a02cea@fairphone.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: qcm6490-shift-otter: Enable flash LEDCasey Connolly
Describe the flash LED on this phone. Signed-off-by: Casey Connolly <casey.connolly@linaro.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Pavel Machek <pavel@ucw.cz> Link: https://lore.kernel.org/r/20251009-otter-further-bringup-v2-4-5bb2f4a02cea@fairphone.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: qcm6490-shift-otter: Add missing reserved-memoryAlexander Martinz
It seems we also need to reserve a region of 81 MiB called "removed_mem" otherwise we can easily hit memory errors with higher RAM usage. Fixes: 249666e34c24 ("arm64: dts: qcom: add QCM6490 SHIFTphone 8") Signed-off-by: Alexander Martinz <amartinz@shiftphones.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20251009-otter-further-bringup-v2-3-5bb2f4a02cea@fairphone.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: qcm6490-shift-otter: Remove thermal zone polling delaysAlexander Martinz
As with all other devices in commit 7747a49db7e5 ("arm64: dts: qcom: sc7280-*: Remove thermal zone polling delays"), apply the same change to this device as the delays are assumed to be equal to "0" if not set. Signed-off-by: Alexander Martinz <amartinz@shiftphones.com> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20251009-otter-further-bringup-v2-2-5bb2f4a02cea@fairphone.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: qcm6490-shift-otter: Fix sorting and indentationAlexander Martinz
Make sure the nodes are sorted correctly, and the indentation is correct. Signed-off-by: Alexander Martinz <amartinz@shiftphones.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20251009-otter-further-bringup-v2-1-5bb2f4a02cea@fairphone.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: defconfig: Enable two Novatek display panels for MTP8750 and TianmaKrzysztof Kozlowski
Enable drivers for Novatek NT36672A panel (used on Xiaomi Pocophone F1 Tianma, Qualcomm SDM845 SoC) and Novatek NT37801 panel (used on Qualcomm MTP8750 development board). Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20251009021507.175290-2-krzysztof.kozlowski@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: msm8939-asus-z00t: add initial device treeErikas Bitovtas
Add an initial device tree for Asus ZenFone 2 Laser/Selfie. This includes support for: - UART - USB - Internal storage - MicroSD - Volume keys - Touchscreen: Focaltech FT5306 - Accelerometer: Invensense MPU6515 - Magnetometer: Asahi Kasei AK09911 - Vibrator - Audio input and output - Modem Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20251008182106.217340-3-xerikasxx@gmail.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27dt-bindings: arm: qcom: Add Asus ZenFone 2 Laser/SelfieErikas Bitovtas
Add a compatible for Asus ZenFone 2 Laser/Selfie (1080p) Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com> Acked-by: Rob Herring (Arm) <robh@kernel.org> Link: https://lore.kernel.org/r/20251008182106.217340-2-xerikasxx@gmail.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: Add support for Huawei MateBook E 2019Jingzhou Zhu
Add device tree for Huawei MateBook E 2019, which is a 2-in-1 tablet based on Qualcomm's sdm850 platform. Supported features: - ADSP, CDSP and SLPI - Volume Key - Power Key - Tablet Mode Switching - Display - Touchscreen - Stylus - WiFi [1] - Bluetooth [2] - GPU - USB - Keyboard - Touchpad - UFS - SD Card - Audio (right internal mic and headphone mic not working) - Mobile Network [1] WiFi probing log: ath10k_snoc 18800000.wifi: Adding to iommu group 12 ath10k_snoc 18800000.wifi: qmi chip_id 0x30214 chip_family 0x4001 board_id 0xff soc_id 0x40030001 ath10k_snoc 18800000.wifi: qmi fw_version 0x2009856b fw_build_timestamp 2018-07-19 12:28 fw_build_id QC_IMAGE_VERSION_STRING=WLAN.HL.2.0-01387-QCAHLSWMTPLZ-1 ath10k_snoc 18800000.wifi: wcn3990 hw1.0 target 0x00000008 chip_id 0x00000000 sub 0000:0000 ath10k_snoc 18800000.wifi: kconfig debug 1 debugfs 1 tracing 1 dfs 0 testmode 0 ath10k_snoc 18800000.wifi: firmware ver api 5 features wowlan,mgmt-tx-by-reference,non-bmi crc32 b3d4b790 ath10k_snoc 18800000.wifi: htt-ver 3.53 wmi-op 4 htt-op 3 cal file max-sta 32 raw 0 hwcrypto 1 ath10k_snoc 18800000.wifi: invalid MAC address; choosing random [2] Bluetooth probing log: Bluetooth: hci0: setting up wcn399x Bluetooth: hci0: QCA Product ID :0x0000000a Bluetooth: hci0: QCA SOC Version :0x40010214 Bluetooth: hci0: QCA ROM Version :0x00000201 Bluetooth: hci0: QCA Patch Version:0x00000001 Bluetooth: hci0: QCA controller version 0x02140201 Bluetooth: hci0: QCA Downloading qca/crbtfw21.tlv Bluetooth: hci0: QCA Downloading qca/crnv21.bin Bluetooth: hci0: QCA setup on UART is completed Features not supported yet: - Panel Backlight - Lid Detection - Battery - EFI Variable Access - Cameras 1. Panel backlight, lid detection and battery will be supported with the EC driver upstreamed. 2. EFI variables can only be read with the QSEECOM driver, and will be enabled when the driver is fixed. 3. Cameras are tested to work with modified downstream driver, and once drivers for these camera modules are included in the tree, cameras can be enabled. Features won't be supported: - External Display - Fingerprint 1. To make external display work, more reverse engineering may be required, but it's beyond my ability. 2. Fingerprint is controlled by TrustZone, meaning direct access to it isn't possible. Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Jingzhou Zhu <newwheatzjz@zohomail.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20251008130052.11427-3-newwheatzjz@zohomail.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27dt-bindings: arm: qcom: Document Huawei MateBook E 2019Jingzhou Zhu
Add compatible for the sdm850-based tablet Huawei MateBook E 2019 using its codename "planck". Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Jingzhou Zhu <newwheatzjz@zohomail.com> Link: https://lore.kernel.org/r/20251008130052.11427-2-newwheatzjz@zohomail.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: sm8750-mtp: move PCIe GPIOs to pcieport0 nodeKrishna Chaitanya Chundru
Relocate the wake-gpios and perst-gpios properties from the pcie0 controller node to the pcieport0 node. These GPIOs are associated with the PCIe root port and should reside under the pcieport0 node. Also rename perst-gpios to reset-gpios to match the expected property name in the PCIe port node. Fixes: 141714e163bb ("arm64: dts: qcom: sm8750-mtp: Add WiFi and Bluetooth") Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Tested-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20251008-sm8750-v1-1-daeadfcae980@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: sm8650: set ufs as dma coherentNeil Armstrong
The UFS device is ovbiously dma coherent like the other IOMMU devices like usb, mmc, ... let's fix this by adding the flag. To be sure an extensive test has been performed to be sure it's safe, as downstream uses this flag for UFS as well. As an experiment, I checked how the dma-coherent could impact the UFS bandwidth, and it happens the max bandwidth on cached write is slighly highter (up to 10%) while using less cpu time since cache sync/flush is skipped. Fixes: 10e024671295 ("arm64: dts: qcom: sm8650: add interconnect dependent device nodes") Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20251007-topic-sm8650-upstream-ufs-dma-coherent-v1-1-f3cfeaee04ce@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: sm7325-nothing-spacewar: Use correct compatible for audioccLuca Weiss
Use the correct compatible for this phone with standard Qualcomm firmware and remove references to power-domains from a 'reserved' node. Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250930-sc7280-dts-misc-v1-5-5a45923ef705@fairphone.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: qcm6490-shift-otter: Use correct compatible for audioccLuca Weiss
Use the correct compatible for this phone with standard Qualcomm firmware and remove references to power-domains from a 'reserved' node. Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250930-sc7280-dts-misc-v1-4-5a45923ef705@fairphone.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: qcm6490-fairphone-fp5: Use correct compatible for audioccLuca Weiss
Use the correct compatible for this phone with standard Qualcomm firmware and remove references to power-domains from a 'reserved' node. Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250930-sc7280-dts-misc-v1-3-5a45923ef705@fairphone.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: qcm6490-fairphone-fp5: Add VTOF_LDO_2P8 regulatorLuca Weiss
Describe yet another regulator-fixed on this board, powering the ToF sensor. Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Link: https://lore.kernel.org/r/20250930-sc7280-dts-misc-v1-2-5a45923ef705@fairphone.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: qcm6490-fairphone-fp5: Add supplies to simple-fb nodeLuca Weiss
Add the OLED power supplies to the simple-framebuffer node, so that the regulators don't get turned off while the simple-fb is being used. Fixes: c365a026155c ("arm64: dts: qcom: qcm6490-fairphone-fp5: Enable display") Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250930-sc7280-dts-misc-v1-1-5a45923ef705@fairphone.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: sm8250: Add MDSS_CORE reset to mdssLuca Weiss
Like on other platforms, if the OS does not support recovering the state left by the bootloader it needs access to MDSS_CORE, so that it can clear the MDSS configuration. Add a reference to the relevant reset. Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Tested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> # RB5 Link: https://lore.kernel.org/r/20250930-sm8250-mdss-reset-v1-1-a64522d91f12@fairphone.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: qcs6490: Introduce Radxa Dragon Q6AXilin Wu
Radxa Dragon Q6A is a single board computer, based on the Qualcomm QCS6490 platform. Features enabled and working: - Configurable I2C/SPI/UART from 40-Pin GPIO - Three USB-A 2.0 ports - RTL8111K Ethernet connected to PCIe0 - eMMC module - SD card - M.2 M-Key 2230 PCIe 3.0 x2 - Headphone jack - Onboard thermal sensors - QSPI controller for updating boot firmware - ADSP remoteproc (Type-C and charging features disabled in firmware) - CDSP remoteproc (for AI applications using QNN) - Venus video encode and decode accelerator Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Xilin Wu <sophon@radxa.com> Link: https://lore.kernel.org/r/20250929-radxa-dragon-q6a-v5-2-aa96ffc352f8@radxa.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27dt-bindings: arm: qcom: Add Radxa Dragon Q6AXilin Wu
Radxa Dragon Q6A is a single board computer, based on the Qualcomm QCS6490 platform. Document the top-level compatible for this board. Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Xilin Wu <sophon@radxa.com> Link: https://lore.kernel.org/r/20250929-radxa-dragon-q6a-v5-1-aa96ffc352f8@radxa.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27drm/xe/pf: Access VF's register using dedicated MMIO viewMichal Wajdeczko
Instead of creating ad-hoc new register definitions with altered register addresses to mimic the VF's access to these registers, prepare new MMIO instance per required VF, with shifted internal location of the register map. This will allow to use unmodified register definitions in all calls to xe_mmio() functions. Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Link: https://patch.msgid.link/20251024205826.4652-1-michal.wajdeczko@intel.com
2025-10-27arm64: dts: qcom: x1e80100-asus-zenbook-a14: Enable WiFi, BluetoothAleksandrs Vinarskis
Unlike UX3407QA with WCN6855, UX3407RA comes with WCN7850. Definitions were not added during initial bringup due to lack of hardware to test it. Add missing definitions that were now confirmed to work. Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Aleksandrs Vinarskis <alex@vinarskis.com> Link: https://lore.kernel.org/r/20250927-zenbook-improvements-v3-3-d46c7368dc70@vinarskis.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: Rework X1-based Asus Zenbook A14's displaysAleksandrs Vinarskis
The laptop comes in two variants: * UX3407RA, higher end, FHD+ OLED or WOXGA+ OLED panels * UX3407QA, lower end, FHD+ OLED or FHD+ LCD panels Even though all three panels work with "edp-panel", unfortunately the brightness adjustmenet of LCD panel is PWM based, requiring a dedicated device-tree. Convert "x1p42100-asus-zenbook-a14.dts" into ".dtsi" to allow for this split, introduce new LCD variant. Leave current variant without postfix and with the unchanged model name, as some distros (eg. Ubuntu) rely on this for automatic device-tree detection during kernel installation/upgrade. As dedicated device-tree is required, update compatibles of OLED variants to correct ones. Keep "edp-panel" as fallback, since it is enough to make the panels work. While at it moving .dts, .dtsi around, drop 'model' from the top level x1-asus-zenbook-a14.dtsi as well. Co-developed-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Aleksandrs Vinarskis <alex@vinarskis.com> Link: https://lore.kernel.org/r/20250927-zenbook-improvements-v3-2-d46c7368dc70@vinarskis.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27dt-bindings: arm: qcom: Add Asus Zenbook A14 UX3407QA LCD/OLED variantsAleksandrs Vinarskis
X1/X1 Plus variant of the said device comes in either FHD+ OLED or FHD+ LCD panel, and shares the same model number UX3407QA. It appears LCD panel's brightness adjustment is PWM backlight controlled, so a dedicated device-tree is required. Introduce dedicated compatibles with fallback to 'asus,zenbook-a14-ux3407qa' as they are otherwise the same. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Aleksandrs Vinarskis <alex@vinarskis.com> Link: https://lore.kernel.org/r/20250927-zenbook-improvements-v3-1-d46c7368dc70@vinarskis.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: sdm845-oneplus: Correct gpio used for sliderGergo Koteles
The previous GPIO numbers were wrong. Update them to the correct ones and fix the label. Fixes: 288ef8a42612 ("arm64: dts: sdm845: add oneplus6/6t devices") Signed-off-by: Gergo Koteles <soyer@irl.hu> Signed-off-by: David Heidelberg <david@ixit.cz> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250927-slider-correct-v1-1-fb8cc7fdcedf@ixit.cz Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: sdm845-starqltechn: fix max77705 interruptsDzmitry Sankouski
Since max77705 has a register, which indicates interrupt source, it acts as an interrupt controller. Direct MAX77705's subdevices to use the IC's internal interrupt controller, instead of listening to every interrupt fired by the chip towards the host device. Fixes: 7a88a931d095 ("arm64: dts: qcom: sdm845-starqltechn: add max77705 PMIC") Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250926-starqltechn-correct_max77705_nodes-v5-2-c6ab35165534@gmail.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27arm64: dts: qcom: sdm845-starqltechn: remove (address|size)-cellsDzmitry Sankouski
Drop the unused address/size-cells properties to silence the DT checker warning: pmic@66 (maxim,max77705): '#address-cells', '#size-cells' do not match any of the regexes: '^pinctrl-[0-9]+$' Fixes: 7a88a931d095 ("arm64: dts: qcom: sdm845-starqltechn: add max77705 PMIC") Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250926-starqltechn-correct_max77705_nodes-v5-1-c6ab35165534@gmail.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-10-27perf: arm_pmu: Kill last use of per-CPU cpu_armpmu pointerMarc Zyngier
Having removed the use of the cpu_armpmu per-CPU variable from the interrupt handling, the only user left is the BRBE scheduler hook. It is easy to drop the use of this variable by following the pointer to the generic PMU structure, and get the arm_pmu structure from there. Perform the conversion and kill cpu_armpmu altogether. Suggested-by: Will Deacon <will@kernel.org> Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Will Deacon <will@kernel.org> Link: https://patch.msgid.link/20251020122944.3074811-27-maz@kernel.org
2025-10-27irqdomain: Kill of_node_to_fwnode() helperMarc Zyngier
There is no in-tree users of this helper since b13b41cc3dc18 ("misc: ti_fpc202: Switch to of_fwnode_handle()"), and is replaced with of_fwnode_handle(). Get rid of it. Suggested-by: Jonathan Cameron <jonathan.cameron@huawei.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Will Deacon <will@kernel.org> Link: https://patch.msgid.link/20251020122944.3074811-26-maz@kernel.org
2025-10-27genirq: Kill irq_{g,s}et_percpu_devid_partition()Marc Zyngier
These two helpers do not have any user anymore, and can be removed, together with the affinity field kept in the irqdesc structure. Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Will Deacon <will@kernel.org> Link: https://patch.msgid.link/20251020122944.3074811-25-maz@kernel.org
2025-10-27irqchip: Kill irq-partition-percpuMarc Zyngier
This code is now completely unused, and nobody will ever miss it. Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Will Deacon <will@kernel.org> Link: https://patch.msgid.link/20251020122944.3074811-24-maz@kernel.org
2025-10-27irqchip/apple-aic: Drop support for custom PMU irq partitionsMarc Zyngier
Similarly to what has been done for GICv3, drop the irq partitioning support from the AIC driver, effectively merging the two per-cpu interrupts for the PMU. Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Will Deacon <will@kernel.org> Reviewed-by: Sven Peter <sven@kernel.org> Link: https://patch.msgid.link/20251020122944.3074811-23-maz@kernel.org
2025-10-27irqchip/gic-v3: Drop support for custom PPI partitionsMarc Zyngier
The only thing getting in the way of correctly handling PPIs the way they were intended is the GICv3 hack that deals with PPI partitions. Remove that code, allowing the common code to kick in. Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Will Deacon <will@kernel.org> Link: https://patch.msgid.link/20251020122944.3074811-22-maz@kernel.org
2025-10-27coresight: trbe: Request specific affinities for per CPU interruptsMarc Zyngier
Let the TRBE driver request interrupts with an affinity mask matching the TRBE implementation affinity. Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Will Deacon <will@kernel.org> Acked-by: Suzuki K Poulose <suzuki.poulose@arm.com> Link: https://patch.msgid.link/20251020122944.3074811-21-maz@kernel.org
2025-10-27perf: arm_spe_pmu: Request specific affinities for per CPU interruptsMarc Zyngier
Let the SPE driver request interrupts with an affinity mask matching the SPE implementation affinity. Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Will Deacon <will@kernel.org> Link: https://patch.msgid.link/20251020122944.3074811-20-maz@kernel.org
2025-10-27perf: arm_pmu: Request specific affinities for per CPU NMIs/interruptsWill Deacon
Let the PMU driver request both NMIs and normal interrupts with an affinity mask matching the PMU affinity. Signed-off-by: Will Deacon <will@kernel.org> Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Will Deacon <will@kernel.org> Link: https://patch.msgid.link/20251020122944.3074811-19-maz@kernel.org
2025-10-27genirq: Add request_percpu_irq_affinity() helperMarc Zyngier
While it would be nice to simply make request_percpu_irq() take an affinity mask, the churn is likely to be on the irritating side given that most drivers do not give a damn about affinities. So take the more innocuous path to provide a helper that parallels request_percpu_irq(), with an affinity as a bonus argument. Yes, request_percpu_irq_affinity() is a bit of a mouthful. Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Will Deacon <will@kernel.org> Link: https://patch.msgid.link/20251020122944.3074811-18-maz@kernel.org
2025-10-27genirq: Allow per-cpu interrupt sharing for non-overlapping affinitiesMarc Zyngier
Interrupt sharing for percpu-devid interrupts is forbidden, and for good reasons. These are interrupts generated *from* a CPU and handled by itself (timer, for example). Nobody in their right mind would put two devices on the same pin (and if they have, they get to keep the pieces...). But this also prevents more benign cases, where devices are connected to groups of CPUs, and for which the affinities are not overlapping. Effectively, the only thing they share is the interrupt number, and nothing else. Tweak the definition of IRQF_SHARED applied to percpu_devid interrupts to allow this particular use case. This results in extra validation at the point of the interrupt being setup and freed, as well as a tiny bit of extra complexity for interrupts at handling time (to pick the correct irqaction). Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Will Deacon <will@kernel.org> Link: https://patch.msgid.link/20251020122944.3074811-17-maz@kernel.org
2025-10-27genirq: Update request_percpu_nmi() to take an affinityMarc Zyngier
Continue spreading the notion of affinity to the per CPU interrupt request code by updating the call sites that use request_percpu_nmi() (all two of them) to take an affinity pointer. This pointer is firmly NULL for now. Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Will Deacon <will@kernel.org> Link: https://patch.msgid.link/20251020122944.3074811-16-maz@kernel.org
2025-10-27genirq: Add affinity to percpu_devid interrupt requestsMarc Zyngier
Add an affinity field to both the irqaction structure and the interrupt request primitives. Nothing is making use of it yet, and the only value used it NULL, which is used as a shorthand for cpu_possible_mask. This will shortly get used with actual affinities. Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Will Deacon <will@kernel.org> Link: https://patch.msgid.link/20251020122944.3074811-15-maz@kernel.org
2025-10-27genirq: Factor-in percpu irqaction creationMarc Zyngier
Move the code creating a per-cpu irqaction into its own helper, so that future changes to this code can be kept localised. At the same time, fix the documentation which appears to say the wrong thing when it comes to interrupts being automatically enabled (percpu_devid interrupts never are). Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Will Deacon <will@kernel.org> Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com> Link: https://patch.msgid.link/20251020122944.3074811-14-maz@kernel.org
2025-10-27genirq: Merge irqaction::{dev_id,percpu_dev_id}Marc Zyngier
When irqaction::percpu_dev_id was introduced, it was hoped that it could be part of an anonymous union with dev_id, as the two fields are mutually exclusive. However, toolchains used at the time were often showing terrible support for anonymous unions, breaking the build on a number of architectures. It was therefore decided to keep the two fields separate and address this down the line. 14 years later, the compiler dark age is over, and there is universal support for anonymous unions. Get a whole pointer back that can immediately be spent on something else. Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Will Deacon <will@kernel.org> Link: https://patch.msgid.link/20251020122944.3074811-13-maz@kernel.org
2025-10-27genirq: Kill handle_percpu_devid_fasteoi_nmi()Marc Zyngier
There is no in-tree user of this flow handler anymore, so simply remove it. Suggested-by: Will Deacon <will@kernel.org> Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Will Deacon <will@kernel.org> Link: https://patch.msgid.link/20251020122944.3074811-12-maz@kernel.org
2025-10-27irqchip/gic-v3: Switch high priority PPIs over to handle_percpu_devid_irq()Marc Zyngier
It so appears that handle_percpu_devid_irq() is extremely similar to handle_percpu_devid_fasteoi_nmi(), and that the differences do no justify the horrid machinery in the GICv3 driver to handle the flow handler switch. Stick with the standard flow handler, even for NMIs. Suggested-by: Will Deacon <will@kernel.org> Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Will Deacon <will@kernel.org> Link: https://patch.msgid.link/20251020122944.3074811-11-maz@kernel.org
2025-10-27perf: arm_spe_pmu: Convert to new interrupt affinity retrieval APIMarc Zyngier
Now that the relevant interrupt controllers are equipped with a callback returning the affinity of per-CPU interrupts, switch the ARM SPE driver over to this new method. Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Will Deacon <will@kernel.org> Reviewed-by: Jinjie Ruan <ruanjinjie@huawei.com> Link: https://patch.msgid.link/20251020122944.3074811-10-maz@kernel.org