summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2024-03-01arm: dts: marvell: clearfog-gtr-l8: add support for second sfp connectorJosua Mayer
Clearfog GTR L8 has an extra SFP connector on the managed switch port 9. Add descriptions for both entities along with pinctrl. Signed-off-by: Josua Mayer <josua@solid-run.com> Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2024-03-01arm64/mm: Avoid ID mapping of kpti flag if it is no longer neededArd Biesheuvel
arm64_use_ng_mappings will be set to 'true' by the early boot code if it decides to use non-global (nG) attributes for all kernel mappings, typically when enabling KASLR on a system that does not implement E0PD. In this case, the G-to-nG update routines are never called, and so there is no reason to create the writable mapping of the associated status flag in the ID map. Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Link: https://lore.kernel.org/r/20240301104046.1234309-6-ardb+git@google.com Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2024-03-01arm64/mm: Use generic __pud_free() helper in pud_free() implementationArd Biesheuvel
Commit 0dd4f60a2c76 ("arm64: mm: Add support for folding PUDs at runtime") implements specialized PUD alloc/free helpers to allow the decision whether or not to fold PUDs to be made at runtime when the number of paging levels is 4 or higher. Its implementation of pud_free() is based on the generic version that existed when the patch was first written, but in the meantime, the freeing of a PUD has become a bit more involved, and so instead of simply freeing the page, we should invoke the generic __pud_free() that encapsulates whatever needs doing at this point. This fixes a reported warning emitted by the page flags self-diagnostics. Reported-by: Ryan Roberts <ryan.roberts@arm.com> Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Tested-by: Ryan Roberts <ryan.roberts@arm.com> Link: https://lore.kernel.org/r/20240301104046.1234309-5-ardb+git@google.com Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2024-03-01arm64: dts: qcom: sc8280xp-x13s: limit pcie4 link speedJohan Hovold
Limit the WiFi PCIe link speed to Gen2 speed (500 MB/s), which is the speed that the boot firmware has brought up the link at (and that Windows uses). This is specifically needed to avoid a large amount of link errors when restarting the link during boot (but which are currently not reported). This also appears to fix intermittent failures to download the ath11k firmware during boot which can be seen when there is a longer delay between restarting the link and loading the WiFi driver (e.g. when using full disk encryption). Fixes: 123b30a75623 ("arm64: dts: qcom: sc8280xp-x13s: enable WiFi controller") Cc: stable@vger.kernel.org # 6.2 Signed-off-by: Johan Hovold <johan+linaro@kernel.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Link: https://lore.kernel.org/r/20240223152124.20042-8-johan+linaro@kernel.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-03-01arm64: dts: qcom: sc8280xp-crd: limit pcie4 link speedJohan Hovold
Limit the WiFi PCIe link speed to Gen2 speed (500 MB/s), which is the speed that Windows uses. Signed-off-by: Johan Hovold <johan+linaro@kernel.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Link: https://lore.kernel.org/r/20240223152124.20042-7-johan+linaro@kernel.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-03-01Merge tag 'at91-dt-6.9' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt Microchip AT91 device tree updates for v6.9 It contains: - use DMA for DBGU of at91sam9x5ek.dtsi and USART3 of at91sam9g25-gardena-smart-gateway.dts - the new SAMA7G54 Curiosity board - cleanups * tag 'at91-dt-6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux: ARM: dts: microchip: sama7g5: add sama7g5 compatible ARM: dts: microchip: sam9x60: align dmas to the opening '<' ARM: dts: microchip: sama7g5: align dmas to the opening '<' ARM: dts: microchip: sama7g54_curiosity: Add initial device tree of the board ARM: dts: microchip: sama7g5: Add flexcom 10 node dt-bindings: ARM: at91: Document Microchip SAMA7G54 Curiosity ARM: dts: microchip: gardena-smart-gateway: Use DMA for USART3 ARM: dts: microchip: at91sam9x5ek: Use DMA for DBGU serial port Link: https://lore.kernel.org/r/20240226183635.1964704-1-claudiu.beznea@tuxon.dev Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-01Merge tag 'zynqmp-dt-for-6.9' of https://github.com/Xilinx/linux-xlnx into ↵Arnd Bergmann
soc/dt arm64: ZynqMP DT changes for 6.9 dt-bindings: - Describe firmware for Versal NET - Describe all firmware child nodes - Align versal-fpga node name with dt schema - Describe k26 rev2 and kv260 DTs: - Align firmware node with dt schema - Add an optee node - Describe reset for CANs - Update ECAM size to discover up to 256 buses - Describe assigned-clocks for uarts - Add u-boot node - Comment SMMU entries - Align dwc3 nodes with dt schema - Rename i2c groups to match dt schema - Small DT updates (comments) - Fix default clock frequency for si570 (zcu102, zcu106) - Add output-enable pins and cover MIO38 (SOM) * tag 'zynqmp-dt-for-6.9' of https://github.com/Xilinx/linux-xlnx: (21 commits) dt-bindings: firmware: xilinx: Describe soc-nvmem subnode dt-bindings: soc: xilinx: Add support for KV260 CC dt-bindings: soc: xilinx: Add support for K26 rev2 SOMs arm64: zynqmp: Align usb clock nodes with binding arm64: zynqmp: Comment all smmu entries arm64: zynqmp: Rename i2c?-gpio to i2c?-gpio-grp arm64: zynqmp: Disable Tri-state for MIO38 Pin arm64: zynqmp: Remove incorrect comment from kv260s arm64: zynqmp: Introduce u-boot options node with bootscr-address arm64: zynqmp: Fix comment to be aligned with board name. arm64: zynqmp: Update ECAM size to discover up to 256 buses arm64: zynqmp: Describe assigned-clocks for uarts arm64: zynqmp: Setup default si570 frequency to 156.25MHz arm64: zynqmp: Add resets property for CAN nodes arm64: zynqmp: Add an OP-TEE node to the device tree arm64: zynqmp: Add output-enable pins to SOMs arm64: zynqmp: Rename zynqmp-power node to power-management dt-bindings: firmware: xilinx: Sort node names (clock-controller) dt-bindings: firmware: xilinx: Describe missing child nodes dt-bindings: firmware: xilinx: Fix versal-fpga node name ... Link: https://lore.kernel.org/r/CAHTX3dLEoFMTGg1Q4+OuOwWYd8N73YBTXki8Vvj3cGHUpLJ0=A@mail.gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-01Merge tag 'sgx-for-v6.9-signed' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into soc/dt Add PowerVR Series5 SGX GPUs for the TI SoCs With the Imagination Rogue GPU binding added, let's also add the devicetree binding for earlier SGX GPUs. Let's also patch the TI SoCs for the related SGX GPU nodes. Based on the mailing list discussions, the conclusion was that we need two separate device tree bindings, one for Rogue and upcoming GPUS, and one for the older SGX GPUs. For merging the changes, I applied the binding changes together with the TI SoC related changes into a branch leaving out the sun6i and mips changes as suggested by Rob. These changes are mostly 32-bit SoCs, but also contains one arm64 change. It does not cause any merge conflicts. * tag 'sgx-for-v6.9-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: arm64: dts: ti: k3-am654-main: Add device tree entry for SGX GPU ARM: dts: DRA7xx: Add device tree entry for SGX GPU ARM: dts: AM437x: Add device tree entry for SGX GPU ARM: dts: AM33xx: Add device tree entry for SGX GPU ARM: dts: omap5: Add device tree entry for SGX GPU ARM: dts: omap4: Add device tree entry for SGX GPU ARM: dts: omap3: Add device tree entry for SGX GPU dt-bindings: gpu: Add PowerVR Series5 SGX GPUs dt-bindings: gpu: Rename img,powervr to img,powervr-rogue Link: https://lore.kernel.org/r/pull-1708943489-872615@atomide.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-01Merge tag 'imx-dt64-6.9' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt i.MX arm64 device tree for 6.9: - New board support: Apalis eval v1.2 carrier board, Variscite VAR-SOM-MX93, phyBOARD-Segin-i.MX93. - A series from Adam Ford to enable bluetooth, configure multiple queues on eqos, remove unnecessary clock configuration for i.MX8 Beacon boards. - Several changesets from Alexander Stein to add i.MX8DXP support, enable audio and GPU for i.MX8QXP, re-parent MEDIA_MIPI_PHY1_REF clock for i.MX8MP, and improve MBA8xx board description. - A few dt-schema fixes from Fabio Estevam for i.MX8MM and i.MX93 devices. - A bunch of changes from Frank Li to improve i.MX8QM and i.MX8DXL support, correcting edma3 power-domains and interrupt numbers, adding I2C, FlexCAN and SMMU devices, etc. - A series from Frieder Schrempf to improve imx8mm-kontron board descriptions, disabling pulls, fixing up RTC device, adding EEPROM, and refactoring OSM-S module, etc. - A set of Data Modul i.MX8M Plus eDM SBC improvements from Marek Vasut. - A series from Shengjiu Wang to add PDM micphone and SPDIF sound card support for imx8mm-evk board. - A series of imx8mm-venice boards improvement from Tim Harvey to add TPM device, fix USB OTG VBUS etc. - Other small and random improvements on various boards. * tag 'imx-dt64-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (77 commits) arm64: dts: imx8mm-kontron-bl-osm-s: Fix Ethernet PHY compatible arm64: dts: imx8-apalis-v1.1: Remove reset-names from ethernet-phy arm64: dts: imx8mp-evk: Fix hdmi@3d node arm64: dts: imx93-var-som: Remove phy-supply from eqos arm64: dts: imx8mp-phyboard-pollux: Disable pull-up for CD GPIO arm64: dts: imx8mp-phyboard-pollux: Reduce drive strength for eqos tx lines arm64: dts: imx8mp-phyboard-pollux: Set debug uart muxing to 0x140 arm64: dts: imx8mp-phyboard-pollux: Add and update rtc devicetree node arm64: dts: imx8mm-evk: Add spdif sound card support arm64: dts: mba8xx: Add missing #interrupt-cells arm64: dts: imx8mp: Set SPI NOR to max 40 MHz on Data Modul i.MX8M Plus eDM SBC arm64: dts: imx8mn: tqma8mqnl-mba8mx: Add USB DR overlay arm64: dts: imx8mq: tqma8mq-mba8mx: Add missing USB vbus supply arm64: dts: freescale: imx8mm/imx8mq: mba8mx: Use PCIe clock generator arm64: dts: imx8mn-beacon: Remove unnecessary clock configuration arm64: dts: imx8mn: Slow default video_pll clock rate arm64: dts: imx8mp-beacon: Configure multiple queues on eqos arm64: dts: imx8mp-beacon: Enable Bluetooth arm64: dts: freescale: minor whitespace cleanup arm64: dts: lx2160a: Fix DTS for full PL011 UART ... Link: https://lore.kernel.org/r/20240226034147.233993-4-shawnguo2@yeah.net Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-01Merge tag 'imx-dt-6.9' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt i.MX ARM device tree for 6.9: - New board support: Sielaff i.MX6 Solo, Apalis Evaluation Board v1.2. - A bunch of i.MX7 TQMA7/MBA7 updates from Alexander Stein that add various devices, improve hardware descriptions and fix dt-schema warnings, etc. - Correct touchscreen rotation for imx6sl-tolino-shine2hd board. - An imx53-qsb update from Dmitry Baryshkov to add HDMI expander support. - A couple of i.MX1 and i.MX28 device node name fixes from Fabio Estevam. - Enable usb3-lpm-capable for LS1021A usb3 node. - A couple of imx6dl-yapp4 board improvements from Michal Vokáč. - A series from Sebastian Reichel to improve imx6ull descriptions. * tag 'imx-dt-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (43 commits) ARM: dts: nxp: imx: fix weim node name ARM: dts: nxp: imx6ul: fix touchscreen node name ARM: dts: nxp: imx6ul: xnur-gpio -> xnur-gpios ARM: dts: imx6ul: Remove fsl,anatop from usbotg1 ARM: dts: imx6ull: fix pinctrl node name ARM: dts: imx1-apf9328: Fix Ethernet node name ARM: dts: imx28-evk: Use 'eeprom' as the node name ARM: dts: ls1021a: Enable usb3-lpm-capable for usb3 node ARM: dts: imx6dl-yapp4: Move the internal switch PHYs under the switch node ARM: dts: imx6dl-yapp4: Fix typo in the QCA switch register address ARM: dts: imx6ul: Set macaddress location in ocotp ARM: dts: imx53-qsb: add support for the HDMI expander ARM: dts: imx6ull-dhcom: Remove /omit-if-no-ref/ from node usdhc1-pwrseq ARM: dts: imx: Add support for Apalis Evaluation Board v1.2 ARM: dts: imx6: skov: add aliases for all ethernet nodes ARM: dts: imx6qdl-hummingboard: Add rtc0 and rtc1 aliases to fix hctosys ARM: dts: imx6dl: Add support for Sielaff i.MX6 Solo board ARM: dts: imx6ul: Add missing #thermal-sensor-cells to tempmon ARM: dts: imx6sl-tolino-shine2hd: fix touchscreen rotation ARM: dts: imx6ull-dhcor: Remove 900MHz operating point ... Link: https://lore.kernel.org/r/20240226034147.233993-3-shawnguo2@yeah.net Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-01Merge tag 'socfpga_dts_updates_for_v6.9' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into soc/dt SoCFPGA DTS updates for v6.9 - Drop the "master" suffix in I3C controller node name * tag 'socfpga_dts_updates_for_v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: arm64: dts: intel: agilex5: drop "master" I3C node name suffix Link: https://lore.kernel.org/r/20240226012528.20380-1-dinguyen@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-01locking/x86: Implement local_xchg() using CMPXCHG without the LOCK prefixUros Bizjak
Implement local_xchg() using the CMPXCHG instruction without the LOCK prefix. XCHG is expensive due to the implied LOCK prefix. The processor cannot prefetch cachelines if XCHG is used. Signed-off-by: Uros Bizjak <ubizjak@gmail.com> Signed-off-by: Ingo Molnar <mingo@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Waiman Long <longman@redhat.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Paul E. McKenney <paulmck@kernel.org> Cc: "H. Peter Anvin" <hpa@zytor.com> Link: https://lore.kernel.org/r/20240124105816.612670-1-ubizjak@gmail.com
2024-03-01x86/boot: Use 32-bit XOR to clear registersUros Bizjak
x86_64 zero extends 32-bit operations, so for 64-bit operands, XORL r32,r32 is functionally equal to XORQ r64,r64, but avoids a REX prefix byte when legacy registers are used. Slightly smaller code generated, no change in functionality. Signed-off-by: Uros Bizjak <ubizjak@gmail.com> Signed-off-by: Ingo Molnar <mingo@kernel.org> Cc: Andy Lutomirski <luto@kernel.org> Cc: Brian Gerst <brgerst@gmail.com> Cc: Denys Vlasenko <dvlasenk@redhat.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Ard Biesheuvel <ardb@kernel.org> Link: https://lore.kernel.org/r/20240124103859.611372-1-ubizjak@gmail.com
2024-03-01crypto: remove CONFIG_CRYPTO_STATSEric Biggers
Remove support for the "Crypto usage statistics" feature (CONFIG_CRYPTO_STATS). This feature does not appear to have ever been used, and it is harmful because it significantly reduces performance and is a large maintenance burden. Covering each of these points in detail: 1. Feature is not being used Since these generic crypto statistics are only readable using netlink, it's fairly straightforward to look for programs that use them. I'm unable to find any evidence that any such programs exist. For example, Debian Code Search returns no hits except the kernel header and kernel code itself and translations of the kernel header: https://codesearch.debian.net/search?q=CRYPTOCFGA_STAT&literal=1&perpkg=1 The patch series that added this feature in 2018 (https://lore.kernel.org/linux-crypto/1537351855-16618-1-git-send-email-clabbe@baylibre.com/) said "The goal is to have an ifconfig for crypto device." This doesn't appear to have happened. It's not clear that there is real demand for crypto statistics. Just because the kernel provides other types of statistics such as I/O and networking statistics and some people find those useful does not mean that crypto statistics are useful too. Further evidence that programs are not using CONFIG_CRYPTO_STATS is that it was able to be disabled in RHEL and Fedora as a bug fix (https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/2947). Even further evidence comes from the fact that there are and have been bugs in how the stats work, but they were never reported. For example, before Linux v6.7 hash stats were double-counted in most cases. There has also never been any documentation for this feature, so it might be hard to use even if someone wanted to. 2. CONFIG_CRYPTO_STATS significantly reduces performance Enabling CONFIG_CRYPTO_STATS significantly reduces the performance of the crypto API, even if no program ever retrieves the statistics. This primarily affects systems with large number of CPUs. For example, https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2039576 reported that Lustre client encryption performance improved from 21.7GB/s to 48.2GB/s by disabling CONFIG_CRYPTO_STATS. It can be argued that this means that CONFIG_CRYPTO_STATS should be optimized with per-cpu counters similar to many of the networking counters. But no one has done this in 5+ years. This is consistent with the fact that the feature appears to be unused, so there seems to be little interest in improving it as opposed to just disabling it. It can be argued that because CONFIG_CRYPTO_STATS is off by default, performance doesn't matter. But Linux distros tend to error on the side of enabling options. The option is enabled in Ubuntu and Arch Linux, and until recently was enabled in RHEL and Fedora (see above). So, even just having the option available is harmful to users. 3. CONFIG_CRYPTO_STATS is a large maintenance burden There are over 1000 lines of code associated with CONFIG_CRYPTO_STATS, spread among 32 files. It significantly complicates much of the implementation of the crypto API. After the initial submission, many fixes and refactorings have consumed effort of multiple people to keep this feature "working". We should be spending this effort elsewhere. Cc: Corentin Labbe <clabbe@baylibre.com> Signed-off-by: Eric Biggers <ebiggers@google.com> Acked-by: Ard Biesheuvel <ardb@kernel.org> Acked-by: Corentin Labbe <clabbe@baylibre.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2024-03-01Merge tag 'qcom-arm64-for-6.9' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt Qualcomm ARM64 DeviceTree updates for v6.9 Four variants of Samsung Galaxy Core Prime and Grand Prime, built on MSM8916, and the Hardware Development Kit (HDK) for SM8550, are introduced. On X Elite audio and compute remoteprocs, IPCC, PCIe, AOSS QMP, SMP2P, TCSR, USB, display, audio, and soundwire support is introduced, and enabled across the CRD and QCP devices. For SM8650 PCIe controllers are moved to GIC-ITS and msi-map-mask is defined. Missing qlink-logging reserved-memory region is added for the modem remoteproc. FastRPC compute contexts are marked dma-coherent. Audio, USB Type-C and PM8010 support is introduced across MTP and QRD devices. GPU cooling devices are hooked up across MSM8916, MSM8939, SC8180X, SDM630, SDM845, SM6115, SM8150, SM8250, SM8350, and SM8550. UFS PHY clocks are corrected across MSM8996, MSM8998, SC8180X, SC8280XP, SDM845, SM6115, SM6125, SM8150, SM8250, SM8350, SM8550, and SM8650. PCI MSI interrupts are wired up across SM8150, SM8250, SM8350, SM8450, SM8550, SM8650, SC7280, and SC8180X On IPQ6018 QUP5 I2C, tsens sand thermal zones are defined. The Inline Crypto Engine (ICE) is enabled for IPQ9574. On MSM8953 the GPU and its IOMMU is introduced, the reset for the display subsystem is also wired up. VLS CLAMP registers are specified for USB3 PHYs on MSM8998, QCM2290, and SM6115. USB Type-C port management is enabled on QRB4210 RB2. On the SA8295P ADP the MAX20411 regulator powering the GPU rails is introduced and the GPU is enabled. The first PCI instance on SA8540P Ride is disabled for now, as a fix for the interrupt storm produced here has not been presented. On SA8775P the firmware memory map has changed and is updated. Safety IRQ is added to the Ethernet controller. On SC7180 UFS support is introduced and the cros-ec-spi is marked as wakeup source. For SC7280 capacity and DPC properties are added, cryptobam definition is improved to work in more firmware environments, more Chrome-specific properties are moved out from main dtsi, and cros-ec-spi is maked as a wakeup source. Slimbus definition is added to the platform. A missing reserved-memory range is added to Fairphone FP5, PMIC GLINK and Venus are enabled. LEDs are introduced and voltage settings corrected on the QCM6490 IDP, and RB3gen2 sees the same voltage changes and GCC protected clocks are introduced to make the board boot properly. RPMh sleep stats and a variety of cleanups and fixes are introduced for SC8180X. On SC8280XP the additional tsens instances are introduced. Camera Subsystem and Camera Control Interface (CCI) are added. PMIC die-temp vadc channels are introduced on the CRD, to allow ADC channels to be tied to the shared PMIC temp-alarms, to actually report temperature. On SDM630 USB QMP PHY support is introduced and enabled on the Inforce IFC6560 board. On the various Sony Xperia XA2 variants WLED is enabled and configured. On SM6350 display subsystem interconnects and tsens-based thermal zones are added. On SM7125 UFS support is added. On Fairphone FP4, on SM7225, display and GPU are enabled, and firmware paths are corrected. SM8150 PCIe controller definitions are corrected. As with SM8650, the SM8550 the fastrpc compute contexts are marked dm-coherent, and PCIe controllers are moved to use GIC-ITS. The UFS controller frequency definition is moved to the generic opp-table. Touchscreen is enabled on the QRD device. As usual, a variety of smaller cleanups and corrections to match DeviceTree bindings and style guidelines are introduced across the various files. * tag 'qcom-arm64-for-6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (176 commits) arm64: dts: qcom: sm6115: fix USB PHY configuration arm64: dts: sm8650: Add msi-map-mask for PCIe nodes arm64: dts: qcom: replace underscores in node names dt-bindings: arm: qcom: Add Samsung Galaxy Tab 4 10.1 LTE arm64: dts: qcom: pm4125: define USB-C related blocks arm64: dts: qcom: sa8540p-ride: disable pcie2a node arm64: dts: qcom: sc7280: add slimbus DT node arm64: dts: qcom: sc7280: Add capacity and DPC properties arm64: dts: qcom: pmi632: Add PBS client and use in LPG node arm64: dts: qcom: sm8550: Use GIC-ITS for PCIe0 and PCIe1 arm64: dts: qcom: sm8150: correct PCIe wake-gpios arm64: dts: qcom: sdm845-db845c: correct PCIe wake-gpios arm64: dts: qcom: sm7225-fairphone-fp4: Enable display and GPU arm64: dts: qcom: sm6350: Remove "disabled" state of GMU arm64: dts: qcom: msm8916-samsung-fortuna/rossa: Add fuel gauge arm64: dts: qcom: sm6350: Add interconnect for MDSS arm64: dts: qcom: msm8916-samsung-fortuna/rossa: Add initial device trees arm64: dts: qcom: sm8550: Switch UFS from opp-table-hz to opp-v2 arm64: dts: qcom: sc8180x: describe all PCI MSI interrupts arm64: dts: qcom: minor whitespace cleanup ... Link: https://lore.kernel.org/r/20240225050146.484422-1-andersson@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-03-01Merge tag 'sunxi-dt-for-6.9-1' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt - new H616 peripherals: SPDIF, DMA, THS - H616 fanout pin configuration - H6 SPDIF node update - minor cleanups - enabled regulator on FETA40i board - added wifi to Transpeed 8K618-T board - new boards: Jide Remix Mini PC, Sipeed Longan Module 3H and Longan Pi 3H * tag 'sunxi-dt-for-6.9-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: arm64: dts: allwinner: h616: Add thermal sensor and zones ARM: dts: sun8i: Open FETA40i-C regulator aldo1 arm64: dts: allwinner: h616: Add Sipeed Longan SoM 3H and Pi 3H board support dt-bindings: arm: sunxi: Add Sipeed Longan Module 3H and Longan Pi 3H arm64: dts: allwinner: h616: minor whitespace cleanup arm64: dts: allwinner: use capital "OR" for multiple licenses in SPDX arm64: dts: allwinner: Transpeed 8K618-T: add WiFi nodes arm64: dts: allwinner: h616: Add 32K fanout pin arm64: dts: allwinner: Add Jide Remix Mini PC support dt-bindings: arm: sunxi: document Remix Mini PC name dt-bindings: vendor-prefixes: add Jide arm64: dts: allwinner: h616: Add SPDIF device node arm64: dts: allwinner: h616: Add DMA controller and DMA channels arm64: dts: allwinner: h6: Add RX DMA channel for SPDIF dt-bindings: sram: narrow regex for unit address to hex numbers arm64: dts: allwinner: h616: Add Orange Pi Zero 2W to Makefile
2024-03-01x86/hyperv: Allow 15-bit APIC IDs for VTL platformsSaurabh Sengar
The current method for signaling the compatibility of a Hyper-V host with MSIs featuring 15-bit APIC IDs relies on a synthetic cpuid leaf. However, for higher VTLs, this leaf is not reported, due to the absence of an IO-APIC. As an alternative, assume that when running at a high VTL, the host supports 15-bit APIC IDs. This assumption is safe, as Hyper-V does not employ any architectural MSIs at higher VTLs This unblocks startup of VTL2 environments with more than 256 CPUs. Signed-off-by: Saurabh Sengar <ssengar@linux.microsoft.com> Reviewed-by: Michael Kelley <mhklinux@outlook.com> Link: https://lore.kernel.org/r/1705341460-18394-1-git-send-email-ssengar@linux.microsoft.com Signed-off-by: Wei Liu <wei.liu@kernel.org> Message-ID: <1705341460-18394-1-git-send-email-ssengar@linux.microsoft.com>
2024-03-01x86/hyperv: Make encrypted/decrypted changes safe for load_unaligned_zeropad()Michael Kelley
In a CoCo VM, when transitioning memory from encrypted to decrypted, or vice versa, the caller of set_memory_encrypted() or set_memory_decrypted() is responsible for ensuring the memory isn't in use and isn't referenced while the transition is in progress. The transition has multiple steps, and the memory is in an inconsistent state until all steps are complete. A reference while the state is inconsistent could result in an exception that can't be cleanly fixed up. However, the kernel load_unaligned_zeropad() mechanism could cause a stray reference that can't be prevented by the caller of set_memory_encrypted() or set_memory_decrypted(), so there's specific code to handle this case. But a CoCo VM running on Hyper-V may be configured to run with a paravisor, with the #VC or #VE exception routed to the paravisor. There's no architectural way to forward the exceptions back to the guest kernel, and in such a case, the load_unaligned_zeropad() specific code doesn't work. To avoid this problem, mark pages as "not present" while a transition is in progress. If load_unaligned_zeropad() causes a stray reference, a normal page fault is generated instead of #VC or #VE, and the page-fault-based fixup handlers for load_unaligned_zeropad() resolve the reference. When the encrypted/decrypted transition is complete, mark the pages as "present" again. Signed-off-by: Michael Kelley <mhklinux@outlook.com> Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com> Link: https://lore.kernel.org/r/20240116022008.1023398-4-mhklinux@outlook.com Signed-off-by: Wei Liu <wei.liu@kernel.org> Message-ID: <20240116022008.1023398-4-mhklinux@outlook.com>
2024-03-01x86/mm: Regularize set_memory_p() parameters and make non-staticMichael Kelley
set_memory_p() is currently static. It has parameters that don't match set_memory_p() under arch/powerpc and that aren't congruent with the other set_memory_* functions. There's no good reason for the difference. Fix this by making the parameters consistent, and update the one existing call site. Make the function non-static and add it to include/asm/set_memory.h so that it is completely parallel to set_memory_np() and is usable in other modules. No functional change. Signed-off-by: Michael Kelley <mhklinux@outlook.com> Reviewed-by: Rick Edgecombe <rick.p.edgecombe@intel.com> Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Link: https://lore.kernel.org/r/20240116022008.1023398-3-mhklinux@outlook.com Signed-off-by: Wei Liu <wei.liu@kernel.org> Message-ID: <20240116022008.1023398-3-mhklinux@outlook.com>
2024-03-01x86/hyperv: Use slow_virt_to_phys() in page transition hypervisor callbackMichael Kelley
In preparation for temporarily marking pages not present during a transition between encrypted and decrypted, use slow_virt_to_phys() in the hypervisor callback. As long as the PFN is correct, slow_virt_to_phys() works even if the leaf PTE is not present. The existing functions that depend on vmalloc_to_page() all require that the leaf PTE be marked present, so they don't work. Update the comments for slow_virt_to_phys() to note this broader usage and the requirement to work even if the PTE is not marked present. Signed-off-by: Michael Kelley <mhklinux@outlook.com> Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Reviewed-by: Rick Edgecombe <rick.p.edgecombe@intel.com> Link: https://lore.kernel.org/r/20240116022008.1023398-2-mhklinux@outlook.com Signed-off-by: Wei Liu <wei.liu@kernel.org> Message-ID: <20240116022008.1023398-2-mhklinux@outlook.com>
2024-02-29x86, relocs: Ignore relocations in .notes sectionKees Cook
When building with CONFIG_XEN_PV=y, .text symbols are emitted into the .notes section so that Xen can find the "startup_xen" entry point. This information is used prior to booting the kernel, so relocations are not useful. In fact, performing relocations against the .notes section means that the KASLR base is exposed since /sys/kernel/notes is world-readable. To avoid leaking the KASLR base without breaking unprivileged tools that are expecting to read /sys/kernel/notes, skip performing relocations in the .notes section. The values readable in .notes are then identical to those found in System.map. Reported-by: Guixiong Wei <guixiongwei@gmail.com> Closes: https://lore.kernel.org/all/20240218073501.54555-1-guixiongwei@gmail.com/ Fixes: 5ead97c84fa7 ("xen: Core Xen implementation") Fixes: da1a679cde9b ("Add /sys/kernel/notes") Reviewed-by: Juergen Gross <jgross@suse.com> Signed-off-by: Kees Cook <keescook@chromium.org>
2024-02-29Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski
Cross-merge networking fixes after downstream PR. Conflicts: net/mptcp/protocol.c adf1bb78dab5 ("mptcp: fix snd_wnd initialization for passive socket") 9426ce476a70 ("mptcp: annotate lockless access for RX path fields") https://lore.kernel.org/all/20240228103048.19255709@canb.auug.org.au/ Adjacent changes: drivers/dpll/dpll_core.c 0d60d8df6f49 ("dpll: rely on rcu for netdev_dpll_pin()") e7f8df0e81bf ("dpll: move xa_erase() call in to match dpll_pin_alloc() error path order") drivers/net/veth.c 1ce7d306ea63 ("veth: try harder when allocating queue memory") 0bef512012b1 ("net: add netdev_lockdep_set_classes() to virtual drivers") drivers/net/wireless/intel/iwlwifi/mvm/d3.c 8c9bef26e98b ("wifi: iwlwifi: mvm: d3: implement suspend with MLO") 78f65fbf421a ("wifi: iwlwifi: mvm: ensure offloading TID queue exists") net/wireless/nl80211.c f78c1375339a ("wifi: nl80211: reject iftype change with mesh ID change") 414532d8aa89 ("wifi: cfg80211: use IEEE80211_MAX_MESH_ID_LEN appropriately") Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-02-29sparc: vdso: Disable UBSAN instrumentationKees Cook
The UBSAN instrumentation cannot work in the vDSO since it is executing in userspace, so disable it in the Makefile. Fixes the build failures such as: arch/sparc/vdso/vclock_gettime.c:217: undefined reference to `__ubsan_handle_shift_out_of_bounds' Acked-by: Sam Ravnborg <sam@ravnborg.org> Link: https://lore.kernel.org/all/20240224073617.GA2959352@ravnborg.org Signed-off-by: Kees Cook <keescook@chromium.org>
2024-02-29fortify: Improve buffer overflow reportingKees Cook
Improve the reporting of buffer overflows under CONFIG_FORTIFY_SOURCE to help accelerate debugging efforts. The calculations are all just sitting in registers anyway, so pass them along to the function to be reported. For example, before: detected buffer overflow in memcpy and after: memcpy: detected buffer overflow: 4096 byte read of buffer size 1 Link: https://lore.kernel.org/r/20230407192717.636137-10-keescook@chromium.org Signed-off-by: Kees Cook <keescook@chromium.org>
2024-02-29fortify: Split reporting and avoid passing string pointerKees Cook
In preparation for KUnit testing and further improvements in fortify failure reporting, split out the report and encode the function and access failure (read or write overflow) into a single u8 argument. This mainly ends up saving a tiny bit of space in the data segment. For a defconfig with FORTIFY_SOURCE enabled: $ size gcc/vmlinux.before gcc/vmlinux.after text data bss dec hex filename 26132309 9760658 2195460 38088427 2452eeb gcc/vmlinux.before 26132386 9748382 2195460 38076228 244ff44 gcc/vmlinux.after Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com> Signed-off-by: Kees Cook <keescook@chromium.org>
2024-02-29riscv: Sparse-Memory/vmemmap out-of-bounds fixDimitris Vlachos
Offset vmemmap so that the first page of vmemmap will be mapped to the first page of physical memory in order to ensure that vmemmap’s bounds will be respected during pfn_to_page()/page_to_pfn() operations. The conversion macros will produce correct SV39/48/57 addresses for every possible/valid DRAM_BASE inside the physical memory limits. v2:Address Alex's comments Suggested-by: Alexandre Ghiti <alexghiti@rivosinc.com> Signed-off-by: Dimitris Vlachos <dvlachos@ics.forth.gr> Reported-by: Dimitris Vlachos <dvlachos@ics.forth.gr> Closes: https://lore.kernel.org/linux-riscv/20240202135030.42265-1-csd4492@csd.uoc.gr Fixes: d95f1a542c3d ("RISC-V: Implement sparsemem") Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com> Link: https://lore.kernel.org/r/20240229191723.32779-1-dvlachos@ics.forth.gr Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2024-02-29PCI: Disable D3cold on Asus B1400 PCI-NVMe bridgeDaniel Drake
The Asus B1400 with original shipped firmware versions and VMD disabled cannot resume from suspend: the NVMe device becomes unresponsive and inaccessible. This appears to be an untested D3cold transition by the vendor; Intel socwatch shows that Windows leaves the NVMe device and parent bridge in D0 during suspend, even though these firmware versions have StorageD3Enable=1. The NVMe device and parent PCI bridge both share the same "PXP" ACPI power resource, which gets turned off as both devices are put into D3cold during suspend. The _OFF() method calls DL23() which sets a L23E bit at offset 0xe2 into the PCI configuration space for this root port. This is the specific write that the _ON() routine is unable to recover from. This register is not documented in the public chipset datasheet. Disallow D3cold on the PCI bridge to enable successful suspend/resume. Link: https://bugzilla.kernel.org/show_bug.cgi?id=215742 Link: https://lore.kernel.org/r/20240228075316.7404-1-drake@endlessos.org Signed-off-by: Daniel Drake <drake@endlessos.org> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Jian-Hong Pan <jhp@endlessos.org> Acked-by: Rafael J. Wysocki <rafael@kernel.org>
2024-02-29Merge patch series "NAPOT Fixes"Palmer Dabbelt
Alexandre Ghiti <alexghiti@rivosinc.com> says: This contains 2 fixes for NAPOT: patch 1 disables the use of NAPOT mapping for vmalloc/vmap and patch 2 implements pte_leaf_size() to report NAPOT size. * b4-shazam-merge: riscv: Fix pte_leaf_size() for NAPOT Revert "riscv: mm: support Svnapot in huge vmap" Link: https://lore.kernel.org/r/20240227205016.121901-1-alexghiti@rivosinc.com Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2024-02-29riscv: Fix pte_leaf_size() for NAPOTAlexandre Ghiti
pte_leaf_size() must be reimplemented to add support for NAPOT mappings. Fixes: 82a1a1f3bfb6 ("riscv: mm: support Svnapot in hugetlb page") Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com> Link: https://lore.kernel.org/r/20240227205016.121901-3-alexghiti@rivosinc.com Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2024-02-29Revert "riscv: mm: support Svnapot in huge vmap"Alexandre Ghiti
This reverts commit ce173474cf19fe7fbe8f0fc74e3c81ec9c3d9807. We cannot correctly deal with NAPOT mappings in vmalloc/vmap because if some part of a NAPOT mapping is unmapped, the remaining mapping is not updated accordingly. For example: ptr = vmalloc_huge(64 * 1024, GFP_KERNEL); vunmap_range((unsigned long)(ptr + PAGE_SIZE), (unsigned long)(ptr + 64 * 1024)); leads to the following kernel page table dump: 0xffff8f8000ef0000-0xffff8f8000ef1000 0x00000001033c0000 4K PTE N .. .. D A G . . W R V Meaning the first entry which was not unmapped still has the N bit set, which, if accessed first and cached in the TLB, could allow access to the unmapped range. That's because the logic to break the NAPOT mapping does not exist and likely won't. Indeed, to break a NAPOT mapping, we first have to clear the whole mapping, flush the TLB and then set the new mapping ("break- before-make" equivalent). That works fine in userspace since we can handle any pagefault occurring on the remaining mapping but we can't handle a kernel pagefault on such mapping. So fix this by reverting the commit that introduced the vmap/vmalloc support. Fixes: ce173474cf19 ("riscv: mm: support Svnapot in huge vmap") Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com> Link: https://lore.kernel.org/r/20240227205016.121901-2-alexghiti@rivosinc.com Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2024-02-29Merge patch series "riscv: cbo.zero fixes"Palmer Dabbelt
Samuel Holland <samuel.holland@sifive.com> says: This series fixes a couple of issues related to using the cbo.zero instruction in userspace. The first patch fixes a bug where the wrong enable bit gets set if the kernel is running in M-mode. The remaining patches fix a bug where the enable bit gets reset to its default value after a nonretentive idle state. I have hardware which reproduces this: Before this series: $ tools/testing/selftests/riscv/hwprobe/cbo TAP version 13 1..3 ok 1 Zicboz block size # Zicboz block size: 64 Illegal instruction After applying this series: $ tools/testing/selftests/riscv/hwprobe/cbo TAP version 13 1..3 ok 1 Zicboz block size # Zicboz block size: 64 ok 2 cbo.zero ok 3 cbo.zero check # Totals: pass:3 fail:0 xfail:0 xpass:0 skip:0 error:0 * b4-shazam-merge: riscv: Save/restore envcfg CSR during CPU suspend riscv: Add a custom ISA extension for the [ms]envcfg CSR riscv: Fix enabling cbo.zero when running in M-mode Link: https://lore.kernel.org/r/20240228065559.3434837-1-samuel.holland@sifive.com Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2024-02-29riscv: Save/restore envcfg CSR during CPU suspendSamuel Holland
The value of the [ms]envcfg CSR is lost when entering a nonretentive idle state, so the CSR must be rewritten when resuming the CPU. Cc: <stable@vger.kernel.org> # v6.7+ Fixes: 43c16d51a19b ("RISC-V: Enable cbo.zero in usermode") Signed-off-by: Samuel Holland <samuel.holland@sifive.com> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Reviewed-by: Andrew Jones <ajones@ventanamicro.com> Link: https://lore.kernel.org/r/20240228065559.3434837-4-samuel.holland@sifive.com Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2024-02-29riscv: Add a custom ISA extension for the [ms]envcfg CSRSamuel Holland
The [ms]envcfg CSR was added in version 1.12 of the RISC-V privileged ISA (aka S[ms]1p12). However, bits in this CSR are defined by several other extensions which may be implemented separately from any particular version of the privileged ISA (for example, some unrelated errata may prevent an implementation from claiming conformance with Ss1p12). As a result, Linux cannot simply use the privileged ISA version to determine if the CSR is present. It must also check if any of these other extensions are implemented. It also cannot probe the existence of the CSR at runtime, because Linux does not require Sstrict, so (in the absence of additional information) it cannot know if a CSR at that address is [ms]envcfg or part of some non-conforming vendor extension. Since there are several standard extensions that imply the existence of the [ms]envcfg CSR, it becomes unwieldy to check for all of them wherever the CSR is accessed. Instead, define a custom Xlinuxenvcfg ISA extension bit that is implied by the other extensions and denotes that the CSR exists as defined in the privileged ISA, containing at least one of the fields common between menvcfg and senvcfg. This extension does not need to be parsed from the devicetree or ISA string because it can only be implemented as a subset of some other standard extension. Cc: <stable@vger.kernel.org> # v6.7+ Signed-off-by: Samuel Holland <samuel.holland@sifive.com> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Reviewed-by: Andrew Jones <ajones@ventanamicro.com> Link: https://lore.kernel.org/r/20240228065559.3434837-3-samuel.holland@sifive.com Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2024-02-29riscv: Fix enabling cbo.zero when running in M-modeSamuel Holland
When the kernel is running in M-mode, the CBZE bit must be set in the menvcfg CSR, not in senvcfg. Cc: <stable@vger.kernel.org> Fixes: 43c16d51a19b ("RISC-V: Enable cbo.zero in usermode") Reviewed-by: Andrew Jones <ajones@ventanamicro.com> Signed-off-by: Samuel Holland <samuel.holland@sifive.com> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Link: https://lore.kernel.org/r/20240228065559.3434837-2-samuel.holland@sifive.com Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2024-02-29Merge tag 'tegra-for-6.9-arm64-dt' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt arm64: tegra: Device tree changes for v6.9-rc1 This set of changes refactors the audio-related device tree nodes on Tegra234 and improves USB support for Jetson AGX Xavier. Furthermore this consolidates SD/MMC aliases on Tegra234 and provides correct configuration data for the MGBE Ethernet devices found on Tegra234 so that they can operate at full speed. * tag 'tegra-for-6.9-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: arm64: tegra: Remove Jetson Orin NX and Jetson Orin Nano DTSI arm64: tegra: Add audio support for Jetson Orin NX and Jetson Orin Nano arm64: tegra: Define missing IO ports arm64: tegra: Move AHUB ports to SoC DTSI arm64: tegra: Add USB Type-C controller for Jetson AGX Xavier arm64: tegra: Add USB device support for Jetson AGX Xavier arm64: tegra: Add current monitors for Jetson Xavier arm64: tegra: Add AXI configuration for Tegra234 MGBE arm64: tegra: Use consistent SD/MMC aliases on Tegra234 arm64: tegra: Enable cros-ec-spi as wake source Link: https://lore.kernel.org/r/20240223174849.1509465-5-thierry.reding@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29Merge tag 'tegra-for-6.9-arm-dt' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt ARM: tegra: Device tree changes for v6.9-rc1 Add support for the LG Optimus 4X HD and LG Optimus VU devices and clean up some minor issues. * tag 'tegra-for-6.9-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: Add device-tree for LG Optimus 4X HD (P880) ARM: tegra: Add device-tree for LG Optimus Vu (P895) ARM: tegra: nexus7: Add missing clock binding into sound node ARM: tegra: Enable cros-ec-spi as wake source Link: https://lore.kernel.org/r/20240223174849.1509465-4-thierry.reding@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29Merge tag 'renesas-dts-for-v6.9-tag2' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/dt Renesas DTS updates for v6.9 (take two) - Add pin control, I2C, GPIO, CA76 cluster, Ethernet, SD/MMC, DMA, and HyperFLASH/QSPI (RPC) support for the R-Car V4M SoC, - Add I2C EEPROM, Ethernet, eMMC, and QSPI FLASH support for the Gray Hawk Single development board, - Fix PCIe power on ULCB development boards equipped with the Shimafuji Kingfisher extension, - Add PSCI support for the RZ/G3S SoC, - Add camera support for the RZ/G2UL SMARC EVK development board, - Add display support for the RZ/G2L{,C} and RZ/V2L SoCs and SMARC EVK development boards, - Miscellaneous fixes and improvements, * tag 'renesas-dts-for-v6.9-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (31 commits) arm64: dts: renesas: rzg2l-smarc: Enable DU and link with DSI arm64: dts: renesas: r9a07g054: Add DU node arm64: dts: renesas: r9a07g044: Add DU node arm64: dts: renesas: gray-hawk-single: Add QSPI FLASH support arm64: dts: renesas: r8a779h0: Add RPC node arm64: dts: renesas: r8a779h0: Add DMA support arm64: dts: renesas: gray-hawk-single: Add eMMC support arm64: dts: renesas: r8a779h0: Add SD/MMC node ARM: dts: renesas: r8a7778: Add missing reg-names to sound node arm64: dts: renesas: rzg2ul-smarc: Enable CRU, CSI support arm64: dts: renesas: gray-hawk-single: Add Ethernet support arm64: dts: renesas: r8a779h0: Add Ethernet-AVB support arm64: dts: renesas: r8a779g0: Correct avb[01] reg sizes arm64: dts: renesas: r8a779a0: Correct avb[01] reg sizes arm64: dts: renesas: r9a08g045: Add PSCI support arm64: dts: renesas: rzg3s-smarc-som: Guard Ethernet IRQ GPIO hogs arm64: dts: renesas: r9a08g045: Add missing interrupts to IRQC node arm64: dts: renesas: rzg2l: Add missing interrupts to IRQC nodes arm64: dts: renesas: r8a779h0: Add CA76 operating points arm64: dts: renesas: r8a779h0: Add CPU core clocks ... Link: https://lore.kernel.org/r/cover.1708687134.git.geert+renesas@glider.be Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29Merge tag 'v6.9-rockchip-dts32-1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt Display output for rk3128 and some adaptions to binding clarifications for hdmi nodes on some older socs. * tag 'v6.9-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: fix rk322x hdmi ports node ARM: dts: rockchip: fix rk3288 hdmi ports node ARM: dts: rockchip: Enable HDMI output for XPI-3128 ARM: dts: rockchip: Add HDMI node for RK3128 ARM: dts: rockchip: Add display subsystem for RK3128 Link: https://lore.kernel.org/r/37970455.XM6RcZxFsP@diego Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29Merge tag 'v6.9-rockchip-dts64-1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt New boards: Powkiddy RGB10MAX3, Pine64 PineTab2, NanoPi R6C+R6S, Anbernic RG-ARC S and RG-ARC D. New peripherals: rs485 on Theobroma Systems boards, usb3 on Indidroid Nova, Edgeble NCM6A (usb2, m.2, ethernet, wifi, cpu-regulator), Rock-5b rfkill for wifi, cache information for rk3399. Snmaller DT fixes (hdmi nodes, aliases, redundant card-detect gpios, max- frequency for spi-flashes on rock-pi 4 boards, missing pmu-io-domains on Ringneck) * tag 'v6.9-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (38 commits) arm64: dts: rockchip: Add USB3.0 to Indiedroid Nova arm64: dts: rockchip: adjust phy-handle name on rock-pi-e arm64: dts: rockchip: fix rk3399 hdmi ports node arm64: dts: rockchip: fix rk3328 hdmi ports node arm64: dts: rockchip: remove redundant cd-gpios from rk3588 sdmmc nodes arm64: dts: rockchip: add rs485 support on uart5 of px30-ringneck-haikou arm64: dts: rockchip: add rs485 support on uart2 of rk3399-puma-haikou arm64: dts: rockchip: Add Powkiddy RGB10MAX3 dt-bindings: arm: rockchip: Add Powkiddy RGB10MAX3 arm64: dts: rockchip: Update powkiddy rk2023 dtsi for RGB10MAX3 arm64: dts: rockchip: Add devicetree for Pine64 PineTab2 dt-bindings: arm64: rockchip: Add Pine64 PineTab2 arm64: dts: rockchip: Add Touch to Anbernic RG-ARC D arm64: dts: rockchip: fix nanopc-t6 sdmmc regulator arm64: dts: rockchip: remove duplicate SPI aliases for helios64 arm64: dts: rockchip: add spi controller aliases on rk3399 arm64: dts: rockchip: Add support for NanoPi R6C arm64: dts: rockchip: Add support for NanoPi R6S dt-bindings: arm: rockchip: Add NanoPi R6 series boards arm64: dts: rockchip: Increase maximum frequency of SPI flash for ROCK Pi 4A/B/C ... Link: https://lore.kernel.org/r/3622360.hdfAi7Kttb@diego Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29Merge tag 'versatile-dts-v6.9' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into soc/dt DTS fixes for the ARM Versatile boards: - Use the "mtd-rom" compatible for the Realview ROM - Fix up two VGA connector cells and labels - Fix up the Cortex spelling * tag 'versatile-dts-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator: dt-bindings: arm: realview: Spelling s/ARM 11/Arm11/, s/Cortex A-/Cortex-A/ ARM: dts: integrator: Fix up VGA connector ARM: dts: versatile: Fix up VGA connector ARM: dts: arm: realview: Fix development chip ROM compatible value Link: https://lore.kernel.org/r/CACRpkdaL6j6OdixHFHoMms4e=tXEw_6ynBMFb6m8=7KkVgEedA@mail.gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29Merge tag 'gemini-dts-v6.9' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into soc/dt Gemini DTS changes for the v6.9 kernel: - Fix the node names of the DSA switch in DIR-685. - Fix the node names of the Vitesse DSA switches. - Fix up the Wiligear compatible strings - Use KEY_RESTART where applicable. * tag 'gemini-dts-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator: ARM: dts: gemini: Fix switch node names on Vitesse switches ARM: dts: gemini: Map reset keys to KEY_RESTART ARM: dts: gemini: Fix wiligear compatible strings ARM: dts: gemini: Fix switch node names in the DIR-685 Link: https://lore.kernel.org/r/CACRpkdYQv9cyCZyjgQB4FTrxek9Hfu4EZ3syfHqHF7P6gzddvA@mail.gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29Merge tag 'mtk-dts64-for-v6.9' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/dt MediaTek ARM64 DeviceTree updates for v6.9 This adds support for the following new machines: - MT7981B: Xiaomi AX3000T - MT7986A: Acelink EW-7886CAX - MT7988A: BananaPi BPI-R4 - MT8186 Chromebooks: Tentacruel, Tentacool, Steelix, Rusty, Magneton - MT8395/MT8195: Radxa NIO 12L Also adds more support for the MediaTek MT8186 SoC's Video and JPEG encoders and for MT7988 clocks, enables wakeup support for the CrOS EC on SPI in all MediaTek Chromebooks, performs some cleanups and includes some spare fixes. * tag 'mtk-dts64-for-v6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux: (51 commits) arm64: dts: mt8195-cherry-tomato: change watchdog reset boot flow arm64: dts: mt7986: add port@5 as CPU port arm64: dts: mt7622: add port@5 as CPU port arm64: dts: mediatek: Replace deprecated extcon-usb-gpio id-gpio/vbus-gpio properties arm64: dts: mediatek: replace underscores in node names arm64: dts: mediatek: mt8186: Add missing xhci clock to usb controllers arm64: dts: mediatek: mt8186: Add missing clocks to ssusb power domains arm64: dts: mediatek: mt7622: add missing "device_type" to memory nodes arm64: dts: mediatek: mt7986: reorder nodes arm64: dts: mediatek: mt7986: reorder properties arm64: dts: mediatek: Add Acelink EW-7886CAX dt-bindings: arm64: dts: mediatek: Add Acelink EW-7886CAX access point dt-bindings: vendor-prefixes: add acelink arm64: dts: mediatek: Introduce the MT8395 Radxa NIO 12L board dt-bindings: arm64: mediatek: Add MT8395 Radxa NIO 12L board compatible arm64: dts: mediatek: mt8186: Add video decoder device nodes arm64: dts: mediatek: mt8195: Add MTU3 nodes and correctly describe USB arm64: dts: mediatek: Add MT8186 Magneton Chromebooks arm64: dts: mediatek: Add MT8186 Steelix platform based Rusty arm64: dts: mediatek: Introduce MT8186 Steelix ... Link: https://lore.kernel.org/r/20240219131230.157792-1-angelogioacchino.delregno@collabora.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29Merge tag 'dt-cleanup-6.9' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt into soc/dt Minor improvements in ARM DTS for v6.9 1. Marvell MMP2: Very old issue, for which I sent patch back in 2014. Patch was never picked up and now another try to fix the same happened, so here it goes: use proper compatible MAX8925. 2. Marvell Dove: add proper unit-addresses. 3. TI DA850: add MMC interrupts. 4. STI: minor white-space fixes. * tag 'dt-cleanup-6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt: ARM: dts: sti: minor whitespace cleanup around '=' ARM: dts: da850: add MMD SDIO interrupts ARM: dts: marvell: dove-cubox: fix si5351 node names arm: dts: marvell: Fix maxium->maxim typo in brownstone dts Link: https://lore.kernel.org/r/20240218182656.32103-1-krzysztof.kozlowski@linaro.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29Merge tag 'samsung-dt-6.9' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt Samsung DTS ARM changes for v6.9 1. Disable thermal polling by Linux in Eynos5422 Odroid XU3 boards, because drivers implement now proper dynamic trip points management. 2. Mark crosc-ec-spi in Peach Pi and Peach Pit as wake-up source, to reflect the hardware capabilities. 3. Samsung P4 Note (Exynos4412): add accelerometer. 4. Samsung Galaxy Tab (Exynos5420): - Reduce available RAM to avoid conflict with TrustZone. - Add WiFi on MMC. * tag 'samsung-dt-6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: dts: samsung: exynos5420-galaxy-tab-common: add wifi node ARM: dts: samsung: exynos5420-galaxy-tab: decrease available memory ARM: dts: samsung: exynos4412-p4note: add accelerometer and gyro to p4note ARM: dts: samsung: exynos5800-peach: Enable cros-ec-spi as wake source ARM: dts: samsung: exynos5420-peach: Enable cros-ec-spi as wake source ARM: dts: samsung: exynos5422-odroidxu3: disable thermal polling Link: https://lore.kernel.org/r/20240218182141.31213-3-krzysztof.kozlowski@linaro.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29Merge tag 'samsung-dt64-6.9' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt Samsung DTS ARM64 changes for v6.9 Mostly work around Google GS101 SoC and Pixel phone (Oriole) adding support for: 1. Multi Core Timer (MCT) clocksource. 2. Several clock controllers (DTS and DT bindings) and use new clocks in several other device nodes. 3. More serial-interface instances: USI8 and USI12 with I2C. Exynos850: 1. SPI and DMA controllers (PL330). * tag 'samsung-dt64-6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: arm64: dts: fsd: Add fifosize for UART in Device Tree arm64: dts: exynos: gs101: minor whitespace cleanup arm64: dts: exynos: gs101: enable i2c bus 12 on gs101-oriole arm64: dts: exynos: gs101: define USI12 with I2C configuration arm64: dts: exynos: gs101: enable cmu-peric1 clock controller dt-bindings: clock: google,gs101-clock: add PERIC1 clock management unit arm64: dts: exynos: Add SPI nodes for Exynos850 arm64: dts: exynos: Add PDMA node for Exynos850 arm64: dts: exynos: gs101: use correct clocks for usi_uart arm64: dts: exynos: gs101: use correct clocks for usi8 arm64: dts: exynos: gs101: sysreg_peric0 needs a clock arm64: dts: exynos: gs101: enable eeprom on gs101-oriole arm64: dts: exynos: gs101: define USI8 with I2C configuration arm64: dts: exynos: gs101: update USI UART to use peric0 clocks arm64: dts: exynos: gs101: enable cmu-peric0 clock controller arm64: dts: exynos: gs101: remove reg-io-width from serial arm64: dts: exynos: gs101: define Multi Core Timer (MCT) node dt-bindings: clock: exynos850: Add PDMA clocks dt-bindings: clock: google,gs101-clock: add PERIC0 clock management unit Link: https://lore.kernel.org/r/20240218182141.31213-2-krzysztof.kozlowski@linaro.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29Merge tag 'renesas-dts-for-v6.9-tag1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/dt Renesas DTS updates for v6.9 - Add GPIO keys and watchdog support for the RZ/G3S SMARC development board, - Add GNSS support for Renesas ULCB development boards equipped with the Shimafuji Kingfisher extension, - Add support for the standalone White Hawk CPU board, - Add support for the R-Car V4H ES2.0 (R8A779G2) SoC and the White Hawk Single development board, - Add initial support for the R-Car V4M (R8A779H0) SoC and the Gray Hawk Single development board, - Add camera support for the RZ/G2UL SoC, - Miscellaneous fixes and improvements. * tag 'renesas-dts-for-v6.9-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (29 commits) arm64: dts: renesas: gray-hawk-single: Enable watchdog timer arm64: dts: renesas: r8a779h0: Add RWDT node arm64: dts: renesas: Improve TMU interrupt descriptions ARM: dts: renesas: Improve TMU interrupt descriptions arm64: dts: renesas: r9a07g043u: Add CSI and CRU nodes arm64: dts: renesas: Add Gray Hawk Single board support arm64: dts: renesas: Add Renesas R8A779H0 SoC support arm64: dts: renesas: rzg3s-smarc-som: Enable the watchdog interface arm64: dts: renesas: r9a08g045: Add watchdog node arm64: dts: renesas: r8a779g0: Add missing SCIF_CLK2 dt-bindings: clock: Add R8A779H0 V4M CPG Core Clock Definitions dt-bindings: clock: renesas,cpg-mssr: Document R-Car V4M support dt-bindings: power: Add r8a779h0 SYSC power domain definitions dt-bindings: power: renesas,rcar-sysc: Document R-Car V4M support arm64: dts: renesas: r8a779g2: Add White Hawk Single support arm64: dts: renesas: Add Renesas R8A779G2 SoC support arm64: dts: renesas: white-hawk: Factor out common parts arm64: dts: renesas: white-hawk-cpu: Factor out common parts arm64: dts: renesas: white-hawk: Add SoC name to top-level comment arm64: dts: renesas: white-hawk: Drop SoC parts from sub boards ... Link: https://lore.kernel.org/r/cover.1707487834.git.geert+renesas@glider.be Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29arm64: dts: st: add video encoder support to stm32mp255Hugues Fruchet
Add VENC hardware video encoder support to STM32MP255. Signed-off-by: Hugues Fruchet <hugues.fruchet@foss.st.com> Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-02-29arm64: dts: st: add video decoder support to stm32mp255Hugues Fruchet
Add VDEC hardware video decoder support to STM32MP255. Signed-off-by: Hugues Fruchet <hugues.fruchet@foss.st.com> Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-02-29ARM: dts: stm32: enable crypto accelerator on stm32mp135f-dkThomas Bourgoin
Add the crypto accelerator enable on stm32mp135f-dk board. Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-02-29ARM: dts: stm32: enable CRC on stm32mp135f-dkLionel Debieve
Enable Cyclic redundancy check on stm32mp135f-dk. Signed-off-by: Lionel Debieve <lionel.debieve@foss.st.com> Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>