summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2021-04-01ARM: configs: ux500: Update for new driversLinus Walleij1-0/+14
Some new driver support for the Ux500 devices landed in v5.12-rc1 so update the defconfig to use them: - TM2 touchkey, used on the Golden and Janice. - SPI GPIO, used for the Janice display control. - NTC thermistor, used for the HREF temperature sensors. - V4L2 flash control that gives support for LED torch to userspaces such as Phosh. - The LEDs Flash class and RT8515 Flash/torch LED driver used in all the Samsung mobiles. - FSA9480 extcon, used by Janice. - BMC150 accelerometer, used by Janice. - IIO rescaler, used for thermistors and ALS on Janice. - MPU3050 gyroscope driver used by Janice. - Yamaha YAS530 magnetometer driver used by Janice. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Cc: Stephan Gerhold <stephan@gerhold.net> Link: https://lore.kernel.org/r/20210301232050.1457397-1-linus.walleij@linaro.org' Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01Merge tag 'at91-soc-5.13' of ↵Arnd Bergmann1-11/+8
git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/soc AT91 soc for 5.13: - Fixing a W=1 warning * tag 'at91-soc-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux: ARM: at91: pm: Move prototypes to mutually included header Link: https://lore.kernel.org/r/20210401174544.32193-1-nicolas.ferre@microchip.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01Merge tag 'imx-soc-5.13' of ↵Arnd Bergmann2-2/+2
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/soc i.MX SoC update for 5.13: - A couple of typo fixes on help text and comment. * tag 'imx-soc-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx: Kconfig: Fix typo in help ARM: mach-imx: Fix a spelling in the file pm-imx5.c Link: https://lore.kernel.org/r/20210331041019.31345-2-shawnguo@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01Merge tag 'omap-for-v5.13/genpd-cleanup-signed' of ↵Arnd Bergmann20-2400/+645
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/soc Drop legacy data for dra7 and omap4/5 for genpd support for v5.13 Similar to what we have already done for am3 and 4, we can now boot dra7, omap4, and omap5 with devicetree data and genpd without legacy SoC specific built-in data. Let's drop the legacy data for these SoCs, and the related "ti,hwmods" custom devicetree property. As with these changes we now expect to have complete devicetree data, let's also warn in the case if an old devicetree data is noticed. And with the warning provided, there should not be any need to delay dropping the legacy data as it just unnecessarily complicates things. The main reasons for dropping the legacy data is to avoid the burden of maintaining a mixed boot process where both legacy built-in data and devicetree data are needed. And we can now use standard reset driver, genpd, and simple-pm-bus features. These patches are based on the related devicetree changes to add the missing interconnect target module configuration for these SoCs. * tag 'omap-for-v5.13/genpd-cleanup-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (87 commits) bus: ti-sysc: Warn about old dtb for dra7 and omap4/5 ARM: OMAP2+: Stop building legacy code for dra7 and omap4/5 ARM: OMAP2+: Drop legacy platform data for omap5 hwmod ARM: OMAP2+: Drop legacy platform data for omap5 l3 ARM: OMAP2+: Drop legacy platform data for omap5 l4_cfg ARM: OMAP2+: Drop legacy platform data for omap5 l4_per ARM: OMAP2+: Drop legacy platform data for omap5 l4_wkup ARM: OMAP2+: Drop legacy platform data for omap5 sata ARM: OMAP2+: Drop legacy platform data for omap5 mpu ARM: OMAP2+: Drop legacy platform data for omap5 emif ARM: OMAP2+: Drop legacy platform data for omap5 dmm ARM: dts: Configure simple-pm-bus for omap5 l3 ARM: dts: Configure simple-pm-bus for omap5 l4_cfg ARM: dts: Configure simple-pm-bus for omap5 l4_per ARM: dts: Configure simple-pm-bus for omap5 l4_wkup ARM: dts: Move omap5 l3-noc to a separate node ARM: dts: Move omap5 mmio-sram out of l3 interconnect ARM: dts: Configure interconnect target module for omap5 sata ARM: dts: Configure interconnect target module for omap5 gpmc ARM: dts: Configure interconnect target module for omap5 mpu ... Link: https://lore.kernel.org/r/pull-1617004205-537424@atomide.com-3 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01ARM: ux500: make ux500_cpu_die staticBen Dooks1-1/+1
The ux500_cpu_die function is not exported so make it static to avoid the following warning: arch/arm/mach-ux500/platsmp.c:89:6: warning: symbol 'ux500_cpu_die' was not declared. Should it be static? Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20210323083203.1646842-1-linus.walleij@linaro.org' Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01Merge tag 'socfpga_update_for_v5.13' of ↵Arnd Bergmann11-28/+19
git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into arm/drivers SoCFPGA updates for v5.13 - Patches from Krzysztof Kozlowski the cleans up and consolidate support for SoCFPGA platforms - Rename ARCH_SOCFPGA into ARCH_INTEL_SOCFPGA - Consolidate ARCH_STRATIX10 into ARCH_INTEL_SOCFPGA - Consolidate ARCH_AGILEX into ARCH_INTEL_SOCFPGA - Consolidate ARCH_N5X into ARCH_INTEL_SOCFPGA * tag 'socfpga_update_for_v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: ARM: socfpga: drop ARCH_SOCFPGA reset: socfpga: use ARCH_INTEL_SOCFPGA also for 32-bit ARM SoCs i2c: altera: use ARCH_INTEL_SOCFPGA also for 32-bit ARM SoCs fpga: altera: use ARCH_INTEL_SOCFPGA also for 32-bit ARM SoCs dmaengine: socfpga: use ARCH_INTEL_SOCFPGA also for 32-bit ARM SoCs clk: socfpga: use ARCH_INTEL_SOCFPGA also for 32-bit ARM SoCs (and compile test) clk: socfpga: allow compile testing of Stratix 10 / Agilex clocks arm64: socfpga: merge Agilex and N5X into ARCH_INTEL_SOCFPGA EDAC: altera: merge ARCH_SOCFPGA and ARCH_STRATIX10 clk: socfpga: merge ARCH_SOCFPGA and ARCH_STRATIX10 clk: socfpga: build together Stratix 10, Agilex and N5X clock drivers net: stmmac: merge ARCH_SOCFPGA and ARCH_STRATIX10 mfd: altera: merge ARCH_SOCFPGA and ARCH_STRATIX10 ARM: socfpga: introduce common ARCH_INTEL_SOCFPGA clk: socfpga: allow building N5X clocks with ARCH_N5X Link: https://lore.kernel.org/r/20210330110430.558182-1-dinguyen@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01Merge tag 'v5.12-next-dts64' of ↵Arnd Bergmann22-30/+1943
git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/dt - add trivial bindings for MT8195 - fix dtbs_check warnings - add pinmux for build-in Wifi on MT7622 evaluation borad MT8183: - fix USB wakeup register - add regulator for EVB board - add registers to mailbox consumers - add thermal zone and trip points for CPU cooling - Add new boards: * ASUS Chromebook Flip CM3 * ASUS Chromebook Detachable CM3 * Acer Chromebook Spin 311 * Lenovo 10e Chromebook Tablet MT8173: - fix PHY property in DSI - fix power-domain for PMIC wrapper Pumkin: - add MT8516 based board - add MT8183 based board - fix reset pin for MT8167 and MT8516 based boards * tag 'v5.12-next-dts64' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux: (29 commits) arm64: dts: mediatek: fix reset GPIO level on pumpkin arm64: dts: mt8183: add mt8183 pumpkin board dt-bindings: arm64: dts: mediatek: Add mt8183-pumpkin board arm64: dts: mt8183: Add kukui kodama board arm64: dts: mt8183: Add kukui kakadu board dt-bindings: arm64: dts: mediatek: Add mt8183-kukui-kodama dt-bindings: arm64: dts: mediatek: Add mt8183-kukui-kakadu dt-bindings: arm64: dts: mediatek: Add mt8516-pumpkin board arm64: dts: mt7622: add ePA/eLNA pinmux for built-in WiFi dt-bindings: nvmem: mediatek: add support for MediaTek mt8192 SoC arm64: dts: mt8173: fix wrong power-domain phandle of pmic arm64: dts: mt8183: Configure CPU cooling arm64: dts: mt8183: add thermal zone node arm64: dts: mt8183: Add gce client reg for display subcomponents arm64: dts: mediatek: mt8183: fix dtbs_check warning arm64: dts: mediatek: mt7622: harmonize node names and compatibles arm64: dts: mediatek: mt8516: harmonize node names and compatibles arm64: dts: mediatek: mt2712: harmonize node names arm64: dts: mediatek: mt8173: fix dtbs_check warning arm64: dts: mt8173: fix property typo of 'phys' in dsi node ... Link: https://lore.kernel.org/r/d1121630-5778-0955-fac7-f921174defe7@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01Merge tag 'v5.12-next-dts32' of ↵Arnd Bergmann5-27/+35
git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/dt - fix dtbs_check warnings - enable SMP for mt6589 * tag 'v5.12-next-dts32' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux: arm: mediatek: dts: activate SMP for mt6589 arm: dts: mt2701: harmonize node names and compatibles arm: dts: mt7623: harmonize node names and compatibles arm: dts: mt7629: harmonize node names and compatibles Link: https://lore.kernel.org/r/be262120-6cd9-87a7-ccc3-f5c403cff66b@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01Merge tag 'tegra-for-5.13-arm64-dt' of ↵Arnd Bergmann7-5/+13
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/dt arm64: tegra: Device tree fixes for v5.12-rc6 This contains a couple of device tree fixes for the v5.12 release cycle. These are needed for proper audio support on Jetson AGX Xavier, to boot the Jetson Xavier NX from an SD card and to be able to suspend/resume the Jetson TX2. * tag 'tegra-for-5.13-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: arm64: tegra: Move clocks from RT5658 endpoint to device node arm64: tegra: Fix mmc0 alias for Jetson Xavier NX arm64: tegra: Set fw_devlink=on for Jetson TX2 arm64: tegra: Add unit-address for ACONNECT on Tegra186 Link: https://lore.kernel.org/r/20210401172622.3352990-5-thierry.reding@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01Merge tag 'tegra-for-5.13-arm-dt' of ↵Arnd Bergmann16-84/+204
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/dt ARM: tegra: Device tree changes for v5.13-rc1 This contains a couple of improvements and fixes for various 32-bit Tegra-based boards. * tag 'tegra-for-5.13-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: acer-a500: Add atmel,wakeup-method property ARM: tegra: Specify tps65911 as wakeup source ARM: tegra: Specify memory suspend OPP in device-tree ARM: tegra: Specify CPU suspend OPP in device-tree ARM: tegra: ouya: Specify all CPU cores as cooling devices ARM: tegra: nexus7: Specify all CPU cores as cooling devices ARM: tegra: acer-a500: Rename avdd to vdda of touchscreen node ARM: tegra: acer-a500: Specify all CPU cores as cooling devices ARM: tegra: acer-a500: Reduce thermal throttling hysteresis to 0.2C ARM: tegra: acer-a500: Enable core voltage scaling ARM: tegra: paz00: Enable full voltage scaling ranges for CPU and Core domains ARM: tegra: cardhu: Support CPU thermal throttling ARM: tegra: cardhu: Support CPU frequency and voltage scaling on all board variants ARM: tegra: ventana: Support CPU thermal throttling ARM: tegra: ventana: Support CPU and Core voltage scaling Link: https://lore.kernel.org/r/20210401172622.3352990-4-thierry.reding@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01Merge tag 'stm32-dt-for-v5.13-1' of ↵Arnd Bergmann25-325/+1493
git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into arm/dt STM32 DT updates for v5.13, round 1 Highlights: ---------- MCU part: -Add stm32h750 SoC support. It is based on stm32h743 and embeds crypto IPs and 2 ADC. -Add new art-pi board based on stm32h750. This board embeds: -8MB QSPI flash. -16MB SPI flash. -32MB SDRAM. -AP6212 combo (wifi/bt/fm). MPU part: -Use dedicated PTP clock for Ethernet controller on stm32mp151. -Enable i2c analog filter on stm32mp151. -DH: -Update GPIO names. -Enable crc1 & crryp1 on DHSOM. -Engicam: add new boards support: -MicroGEA SOM which embeds STM32MP157aac, 512 MB Nand Flash I2S. -MicroGEA STM32MP1 Microdev 2.0 which embeds MicroGEA SOM, Ethernet up to 100 Mbps, USB typeA, microSD, UMTS LTE, Wifi/BT LVDS panel connector. -MicroGEA STM32MP1 MicroDev 2.0 7" which embeds a MicroGEA STM32MP1 MicroDev 2.0 plus 7" Open Frame panel solution (7" AUO B101AW03 LVDS panel and EDT DT5526 Touch) -i.Core STM32MP1 EDIMM SoM based on STM32MP157A. -C.TOUCH 2.0 n EDIMM compliant general purpose Carrier board with capacitive touch interface support based on i.Core STM32MP1 EDIMM SoM. It embeds ETH 10/100, wifi/bt, CAN, USB TypeA/OTG, LVDS pannel connector. -EDIMM2.2 Starter Kit is an EDIMM 2.2 Form Factor Capacitive Evaluation Board based on i.Core STM32MP1 EDIMM SoM. IT embeds LCD 7" C.Touch, wifi/bt,2*LVDS FHD, 3*USB2, 1*USB3 ... * tag 'stm32-dt-for-v5.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32: (26 commits) ARM: dts: stm32: Add PTP clock to Ethernet controller ARM: dts: stm32: Enable crc1 and cryp1 where applicable on DHSOM ARM: dts: stm32: Update GPIO line names on PicoITX ARM: dts: stm32: Update GPIO line names on DRC02 ARM: dts: stm32: Fill GPIO line names on AV96 ARM: dts: stm32: Fill GPIO line names on DHCOM SoM dt-bindings: serial: stm32: Use 'type: object' instead of false for 'additionalProperties' ARM: stm32: Add a new SoC - STM32H750 ARM: dts: stm32: add support for art-pi board based on stm32h750xbh6 ARM: dts: stm32: fix i2c node typo in stm32h743 ARM: dts: stm32: add new instances for stm32h743 MCU ARM: dts: stm32: introduce stm32h7-pinctrl.dtsi to support stm32h750 dt-bindings: arm: stm32: Add compatible strings for ART-PI board Documentation: arm: stm32: Add stm32h750 value line doc ARM: dts: stm32: enable the analog filter for all I2C nodes in stm32mp151 ARM: dts: stm32: Add Engicam i.Core STM32MP1 EDIMM2.2 Starter Kit dt-bindings: arm: stm32: Add Engicam i.Core STM32MP1 EDIMM2.2 Starter Kit ARM: dts: stm32: Add Engicam i.Core STM32MP1 C.TOUCH 2.0 ARM: dts: stm32: Add Engicam i.Core STM32MP1 SoM dt-bindings: arm: stm32: Add Engicam i.Core STM32MP1 C.TOUCH 2.0 ... Link: https://lore.kernel.org/r/48784f53-943b-0baf-d4a0-fcb7d3849b00@foss.st.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01Merge tag 'ux500-dts-v5.13' of ↵Arnd Bergmann8-285/+419
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into arm/dt Ux500 DTS changes for the v5.13 kernel cycle: - Fix up the WLAN on Janice - Fix the touchscreen on TVK R2 - Push down definitions to the UIBs instead of trying to share too much. - Bump the AUX1 voltage on the AB8500 so the touchscreen will work. - Define the CTTYSP touchscreen on the TVK R3. * tag 'ux500-dts-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik: ARM: dts: ux500: Add Cypress CTTYSP touch to TVK UIB ARM: dts: ux500: Bump AUX1 voltage ARM: dts: ux500: Clarify UIB version per board ARM: dts: ux500: Totally separate TVK R2 and R3 ARM: dts: ux500: Push TC35893 defines to each UIB ARM: dts: ux500: Fix up TVK R3 sensors ARM: dts: ux500: Push sensors to TVK R2 board ARM: dts: ux500: Move Synaptics to right include ARM: dts: ux500: Fix touchscreen on TVK R2 ARM: dts: ux500: Fix BT+WLAN on Janice Link: https://lore.kernel.org/r/CACRpkdanRQ6A85d=7vgpzbg-m3-yFcpQ4fuzrxZu3RJ0DrA2bQ@mail.gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01Merge tag 'juno-updates-5.13' of ↵Arnd Bergmann3-1/+12
git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/dt ARMv8 Juno updates for v5.13 Couple of changes to describe PCI dma-ranges correctly which was previously removed and to enable the PCIe and DMA SMMU. * tag 'juno-updates-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: arm64: dts: juno: Enable more SMMUs arm64: dts: juno: Describe PCI dma-ranges Link: https://lore.kernel.org/r/20210331100410.cenuhvpqoumvsk52@bogus Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds12-46/+122
Pull kvm fixes from Paolo Bonzini: "It's a bit larger than I (and probably you) would like by the time we get to -rc6, but perhaps not entirely unexpected since the changes in the last merge window were larger than usual. x86: - Fixes for missing TLB flushes with TDP MMU - Fixes for race conditions in nested SVM - Fixes for lockdep splat with Xen emulation - Fix for kvmclock underflow - Fix srcdir != builddir builds - Other small cleanups ARM: - Fix GICv3 MMIO compatibility probing - Prevent guests from using the ARMv8.4 self-hosted tracing extension" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: selftests: kvm: Check that TSC page value is small after KVM_SET_CLOCK(0) KVM: x86: Prevent 'hv_clock->system_time' from going negative in kvm_guest_time_update() KVM: x86: disable interrupts while pvclock_gtod_sync_lock is taken KVM: x86: reduce pvclock_gtod_sync_lock critical sections KVM: SVM: ensure that EFER.SVME is set when running nested guest or on nested vmexit KVM: SVM: load control fields from VMCB12 before checking them KVM: x86/mmu: Don't allow TDP MMU to yield when recovering NX pages KVM: x86/mmu: Ensure TLBs are flushed for TDP MMU during NX zapping KVM: x86/mmu: Ensure TLBs are flushed when yielding during GFN range zap KVM: make: Fix out-of-source module builds selftests: kvm: make hardware_disable_test less verbose KVM: x86/vPMU: Forbid writing to MSR_F15H_PERF MSRs when guest doesn't have X86_FEATURE_PERFCTR_CORE KVM: x86: remove unused declaration of kvm_write_tsc() KVM: clean up the unused argument tools/kvm_stat: Add restart delay KVM: arm64: Fix CPU interface MMIO compatibility detection KVM: arm64: Disable guest access to trace filter controls KVM: arm64: Hide system instruction access to Trace registers
2021-04-01Merge tag 'imx-dt64-5.13' of ↵Arnd Bergmann41-524/+3102
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt i.MX arm64 device tree update for 5.13: - A series from Dong Aisheng to update i.MX8Q device trees for adopting SS (SubSystems) based bindings. - New board support: Kontron pitx-imx8m, Engicam i.Core MX8M Mini. - A series from Adrien Grassein to add various peripheral support for imx8mm-nitrogen-r2 board. - A series from Guido Günther to update librem5-devkit device tree. - A number of patches from Michael Walle to add Root Complex Event Collector interrupt, update MTD partitions and add rtc0 alias for ls1028a-kontron-sl28 board. - Add EQOS MAC support for phyBOARD-Pollux-i.MX8MP. - Add 2x2 SFP+ cage support for clearfog-itx boards. - Small and random update for various boards. * tag 'imx-dt64-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (55 commits) arm64: dts: fsl-ls1028a-kontron-sl28: add rtc0 alias arm64: dts: ls1028a: move rtc alias to individual boards arm64: dts: fsl-ls1028a-kontron-sl28: combine unused partitions arm64: dts: fsl-ls1028a-kontron-sl28: move MTD partitions arm64: dts: imx8mp-evk: Improve the Ethernet PHY description arm64: dts: imx8mq-librem5-r3: Mark buck3 as always on arm64: dts: imx8mq-librem5: Hog the correct gpio arm64: dts: lx2160a-clearfog-itx: add SFP support arm64: dts: imx8mp-phyboard-pollux-rdk: Change debug UART arm64: dts: imx8mn: Reorder flexspi clock-names entry arm64: dts: imx8mm: Reorder flexspi clock-names entry arm64: dts: ls1028a: set up the real link speed for ENETC port 2 arm64: dts: imx8mm-nitrogen-r2: add ecspi2 support arm64: dts: imx: add imx8qm mek support arm64: dts: imx: add imx8qm common dts file arm64: dts: imx8qm: add dma ss support arm64: dts: imx8: split adma ss into dma and audio ss arm64: dts: imx8qm: add conn ss support arm64: dts: imx8qm: add lsio ss support arm64: dts: imx8: switch to new lpcg clock binding ... Link: https://lore.kernel.org/r/20210331041019.31345-5-shawnguo@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01Merge tag 'imx-dt-5.13' of ↵Arnd Bergmann32-70/+270
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt i.MX device tree change for 5.13: - New board support: i.MX7D based reMarkable2. - Clean up imx6ql-pfla02 hog group by moving pins into corresponded client groups. - Add Netronix embedded controller for imx50-kobo-aura. - A series from Sebastian Reichel to improve GE Bx50v3 device trees. - Support I2C bus recovery for imx6qdl-wandboard by adding SCL/SDA GPIOs. - Remove unnecessary #address-cells/#size-cells from imx6qdl-gw boards. - Various small and random device tree update. * tag 'imx-dt-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (21 commits) ARM: dts: imx6: pbab01: Set USB OTG port to peripheral ARM: dts: imx6: pfla02: Fix USB vbus enable pinmuxing ARM: imx7d-remarkable2: Initial device tree for reMarkable2 ARM: dts: imx7d-mba7: Remove unsupported PCI properties ARM: dts: imx6qdl-gw*: Remove unnecessary #address-cells/#size-cells ARM: dts: imx6dl-plybas: Fix gpio-keys W=1 warnings ARM: dts: imx: bx50v3: Define GPIO line names ARM: dts: imx: bx50v3: i2c GPIOs are open drain ARM: dts: imx6q-ba16: improve PHY information ARM: dts: imx6q-ba16: add USB OTG VBUS enable GPIO ARM: dts: ls1021a: mark crypto engine dma coherent ARM: dts: colibri-imx6ull: Change drive strength for usdhc2 ARM: dts: imx6ql-pfla02: Move "hog" pins into corresponded pin groups ARM: dts: imx6qdl-phytec-pbab01: Select synchronous mode for AUDMUX ARM: dts: imx6qdl-ts7970: Drop redundant "fsl,mode" option ARM: dts: imx53-qsb: Describe the esdhc1 card detect pin ARM: dts: ls1021a: Harmonize DWC USB3 DT nodes name ARM: dts: imx6qdl-wandboard: add scl/sda gpios definitions for i2c bus recovery ARM: dts: imx: Mark IIM as syscon on i.MX51/i.MX53 ARM: dts: imx6sl-tolino-shine2hd: Add Netronix embedded controller ... Link: https://lore.kernel.org/r/20210331041019.31345-4-shawnguo@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01Merge tag 'arm-soc/for-5.13/devicetre-arm64' of ↵Arnd Bergmann5-7/+374
https://github.com/Broadcom/stblinux into arm/dt This pull request contains Broadcom ARM64-based SoCs Device Tree changes for 5.13, please pull the following: - Rafal continues to add support for the 4908 SoCs and describes the USB PHY, firmware flash partitions and Ethernet switch and Ethernet controller. He also adds support for the TP-Link Archer C2300 V1 router and upates the Netgear R8000P and Asus GT-AC5300 routers network ports description. * tag 'arm-soc/for-5.13/devicetre-arm64' of https://github.com/Broadcom/stblinux: arm64: dts: broadcom: bcm4908: add Ethernet MAC addr arm64: dts: broadcom: bcm4908: add Ethernet TX irq arm64: dts: broadcom: bcm4908: set Asus GT-AC5300 port 7 PHY mode arm64: dts: broadcom: bcm4908: add TP-Link Archer C2300 V1 dt-bindings: arm: bcm: document TP-Link Archer C2300 binding arm64: dts: broadcom: bcm4908: fix switch parent node name arm64: dts: broadcom: bcm4908: describe firmware partitions arm64: dts: broadcom: bcm4908: add remaining Netgear R8000P LEDs arm64: dts: broadcom: bcm4908: describe Netgear R8000P switch arm64: dts: broadcom: bcm4908: describe Ethernet controller arm64: dts: broadcom: bcm4908: describe USB PHY Link: https://lore.kernel.org/r/20210330184006.1451315-2-f.fainelli@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01Merge tag 'arm-soc/for-5.13/devicetree' of ↵Arnd Bergmann25-55/+94
https://github.com/Broadcom/stblinux into arm/dt This pull request contains Broadcom ARM-based SoCs Device Tree changes for 5.13, please pull the following: - Rafal fixes YAML warnings for the memory nodes of BCM5301X nodes and adds support for the NVMEM NVRAM node on Linksys and Luxul WLAN routers. He also fixes up the partitions for the Linksys EA9400 to use the newly introduced parser compatible and sets the power LED to its default state. * tag 'arm-soc/for-5.13/devicetree' of https://github.com/Broadcom/stblinux: ARM: dts: BCM5301X: Set Linksys EA9500 power LED ARM: dts: BCM5301X: Fix Linksys EA9500 partitions ARM: dts: BCM5301X: Describe NVMEM NVRAM on Linksys & Luxul routers ARM: dts: BCM5301X: fix "reg" formatting in /memory node Link: https://lore.kernel.org/r/20210330184006.1451315-1-f.fainelli@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01Merge tag 'socfpga_dts_update_for_v5.13' of ↵Arnd Bergmann4-126/+140
git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into arm/dt SoCFPGA DTS updates for v5.13 - Patches from Krzysztof Kozlowski that fixes dtc warnings and dtbs_check warnings - Adjust the "cnds,read-delay" value for the Agilex devkit to 2 * tag 'socfpga_dts_update_for_v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: arm64: dts: intel: adjust qpsi read-delay property arm64: dts: intel: socfpga_agilex_socdk_nand: align LED node names with dtschema arm64: dts: intel: socfpga_agilex: align node names with dtschema arm64: dts: intel: socfpga_agilex: use defined for GIC interrupts arm64: dts: intel: socfpga_agilex: move usbphy out of soc node arm64: dts: intel: socfpga_agilex: remove default status=okay arm64: dts: intel: socfpga_agilex: move timer out of soc node arm64: dts: intel: socfpga_agilex: move clocks out of soc node arm64: dts: intel: socfpga: override clocks by label Link: https://lore.kernel.org/r/20210330110430.558182-2-dinguyen@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01Merge tag 'omap-for-v5.13/dts-genpd-signed' of ↵Arnd Bergmann11-286/+618
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/dt Devicetree changes for omaps for genpd support for v5.13 In order to move omap4/5 and dra7 to probe with devicetree data and genpd, we need to add the missing interconnect target module configuration for the drivers that do not still have it. This is similar to what we have already done earlier for am3 and 4 earlier. These patches are very much similar for all the three SoCs here. The dra7 changes were already available for v5.12 merge window, but were considered too late to add for v5.12. The patches for omap4 and 5 follow the same pattern, except for PCIe that is available only on dra7. We do the changes one driver at a time, and still keep the legacy property for "ti,hwmods" mostly around, except for cases when already not needed. We will be dropping the custom property and related legacy data in a follow-up series. * tag 'omap-for-v5.13/dts-genpd-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (53 commits) ARM: dts: Configure simple-pm-bus for omap5 l3 ARM: dts: Configure simple-pm-bus for omap5 l4_cfg ARM: dts: Configure simple-pm-bus for omap5 l4_per ARM: dts: Configure simple-pm-bus for omap5 l4_wkup ARM: dts: Move omap5 l3-noc to a separate node ARM: dts: Move omap5 mmio-sram out of l3 interconnect ARM: dts: Configure interconnect target module for omap5 sata ARM: dts: Configure interconnect target module for omap5 gpmc ARM: dts: Configure interconnect target module for omap5 mpu ARM: dts: Configure interconnect target module for omap5 emif ARM: dts: Configure interconnect target module for omap5 dmm ARM: dts: Prepare for simple-pm-bus for omap4 l3 ARM: dts: Configure simple-pm-bus for omap4 l4_cfg ARM: dts: Configure simple-pm-bus for omap4 l4_per ARM: dts: Configure simple-pm-bus for omap4 l4_wkup ARM: dts: Move omap4 l3-noc to a separate node ARM: dts: Move omap4 mmio-sram out of l3 interconnect ARM: dts: Configure interconnect target module for omap4 mpu ARM: dts: Configure interconnect target module for omap4 debugss ARM: dts: Configure interconnect target module for omap4 emif ... Link: https://lore.kernel.org/r/pull-1617004205-537424@atomide.com-2 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01ARM: s3c: Use pwm_get() in favour of pwm_request() in RX1950Uwe Kleine-König1-5/+6
pwm_request() is deprecated because (among others) it depends on a global numbering of PWM devices. So register a pwm_lookup to pick the right PWM device (identified by provider and its local id) and use pwm_get(). Before this patch the PWM #1 was used. This is provided by the samsung-pwm device which is the only PWM provider on this machine. The local offset is 1, see also commit c107fe904a10 ("ARM: S3C24XX: Use PWM lookup table for mach-rx1950") with a similar conversion for PWM #0. As a follow up specify the period only once and symmetrically use pwm_put() instead of pwm_free() to drop the reference. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Link: https://lore.kernel.org/r/20210326090641.122436-1-u.kleine-koenig@pengutronix.de Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
2021-04-01arm64: fix inline asm in load_unaligned_zeropad()Peter Collingbourne1-5/+5
The inline asm's addr operand is marked as input-only, however in the case where an exception is taken it may be modified by the BIC instruction on the exception path. Fix the problem by using a temporary register as the destination register for the BIC instruction. Signed-off-by: Peter Collingbourne <pcc@google.com> Cc: stable@vger.kernel.org Link: https://linux-review.googlesource.com/id/I84538c8a2307d567b4f45bb20b715451005f9617 Link: https://lore.kernel.org/r/20210401165110.3952103-1-pcc@google.com Signed-off-by: Will Deacon <will@kernel.org>
2021-04-01arm64: perf: Remove redundant initialization in perf_event.cQi Liu1-3/+2
The initialization of value in function armv8pmu_read_hw_counter() and armv8pmu_read_counter() seem redundant, as they are soon updated. So, We can remove them. Signed-off-by: Qi Liu <liuqi115@huawei.com> Link: https://lore.kernel.org/r/1617275801-1980-1-git-send-email-liuqi115@huawei.com Signed-off-by: Will Deacon <will@kernel.org>
2021-04-01ARM: pxa: mainstone: avoid -Woverride-init warningArnd Bergmann1-2/+6
The default initializer at the start of the array causes a warning when building with W=1: In file included from arch/arm/mach-pxa/mainstone.c:47: arch/arm/mach-pxa/mainstone.h:124:33: error: initialized field overwritten [-Werror=override-init] 124 | #define MAINSTONE_IRQ(x) (MAINSTONE_NR_IRQS + (x)) | ^ arch/arm/mach-pxa/mainstone.h:133:33: note: in expansion of macro 'MAINSTONE_IRQ' 133 | #define MAINSTONE_S0_CD_IRQ MAINSTONE_IRQ(9) | ^~~~~~~~~~~~~ arch/arm/mach-pxa/mainstone.c:506:15: note: in expansion of macro 'MAINSTONE_S0_CD_IRQ' 506 | [5] = MAINSTONE_S0_CD_IRQ, | ^~~~~~~~~~~~~~~~~~~ Rework the initializer to list each element explicitly and only once. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20210323130849.2362001-1-arnd@kernel.org' Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01ARM: omap1: fix building with clang IASArnd Bergmann1-0/+1
The clang integrated assembler fails to build one file with a complex asm instruction: arch/arm/mach-omap1/ams-delta-fiq-handler.S:249:2: error: invalid instruction, any one of the following would fix this: mov r10, #(1 << (((NR_IRQS_LEGACY + 12) - NR_IRQS_LEGACY) % 32)) @ set deferred_fiq bit ^ arch/arm/mach-omap1/ams-delta-fiq-handler.S:249:2: note: instruction requires: armv6t2 mov r10, #(1 << (((NR_IRQS_LEGACY + 12) - NR_IRQS_LEGACY) % 32)) @ set deferred_fiq bit ^ arch/arm/mach-omap1/ams-delta-fiq-handler.S:249:2: note: instruction requires: thumb2 mov r10, #(1 << (((NR_IRQS_LEGACY + 12) - NR_IRQS_LEGACY) % 32)) @ set deferred_fiq bit ^ The problem is that 'NR_IRQS_LEGACY' is not defined here. Apparently gas does not care because we first add and then subtract this number, leading to the immediate value to be the same regardless of the specific definition of NR_IRQS_LEGACY. Neither the way that 'gas' just silently builds this file, nor the way that clang IAS makes nonsensical suggestions for how to fix it is great. Fortunately there is an easy fix, which is to #include the header that contains the definition. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Tony Lindgren <tony@atomide.com> Link: https://lore.kernel.org/r/20210308153430.2530616-1-arnd@kernel.org' Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01ARM: keystone: fix integer overflow warningArnd Bergmann1-2/+2
clang warns about an impossible condition when building with 32-bit phys_addr_t: arch/arm/mach-keystone/keystone.c:79:16: error: result of comparison of constant 51539607551 with expression of type 'phys_addr_t' (aka 'unsigned int') is always false [-Werror,-Wtautological-constant-out-of-range-compare] mem_end > KEYSTONE_HIGH_PHYS_END) { ~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~ arch/arm/mach-keystone/keystone.c:78:16: error: result of comparison of constant 34359738368 with expression of type 'phys_addr_t' (aka 'unsigned int') is always true [-Werror,-Wtautological-constant-out-of-range-compare] if (mem_start < KEYSTONE_HIGH_PHYS_START || ~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~ Change the temporary variable to a fixed-size u64 to avoid the warning. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Nathan Chancellor <nathan@kernel.org> Acked-by: Santosh Shilimkar <ssantosh@kernel.org> Link: https://lore.kernel.org/r/20210323131814.2751750-1-arnd@kernel.org' Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01arm64: dts: ti: k3-am64-main: Fix ospi compatiblePratyush Yadav1-1/+1
The TI specific compatible should be followed by the generic "cdns,qspi-nor" compatible. Signed-off-by: Pratyush Yadav <p.yadav@ti.com> Reviewed-by: Vignesh Raghavendra <vigneshr@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com> Link: https://lore.kernel.org/r/20210326130034.15231-4-p.yadav@ti.com
2021-04-01arm64: dts: ti: k3-j7200-mcu: Fix ospi compatiblePratyush Yadav1-1/+1
The TI specific compatible should be followed by the generic "cdns,qspi-nor" compatible. Signed-off-by: Pratyush Yadav <p.yadav@ti.com> Reviewed-by: Vignesh Raghavendra <vigneshr@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com> Link: https://lore.kernel.org/r/20210326130034.15231-3-p.yadav@ti.com
2021-04-01arm64: dts: ti: k3-j721e-mcu: Fix ospi compatiblePratyush Yadav1-2/+2
The TI specific compatible should be followed by the generic "cdns,qspi-nor" compatible. Signed-off-by: Pratyush Yadav <p.yadav@ti.com> Reviewed-by: Vignesh Raghavendra <vigneshr@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com> Link: https://lore.kernel.org/r/20210326130034.15231-2-p.yadav@ti.com
2021-04-01powerpc/vdso: Make sure vdso_wrapper.o is rebuilt everytime vdso.so is rebuiltChristophe Leroy1-0/+4
Commit bce74491c300 ("powerpc/vdso: fix unnecessary rebuilds of vgettimeofday.o") moved vdso32_wrapper.o and vdso64_wrapper.o out of arch/powerpc/kernel/vdso[32/64]/ and removed the dependencies in the Makefile. This leads to the wrappers not being re-build hence the kernel embedding the old vdso library. Add back missing dependencies to ensure vdso32_wrapper.o and vdso64_wrapper.o are rebuilt when vdso32.so.dbg and vdso64.so.dbg are changed. Fixes: bce74491c300 ("powerpc/vdso: fix unnecessary rebuilds of vgettimeofday.o") Cc: stable@vger.kernel.org Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/8bb015bc98c51d8ced581415b7e3d157e18da7c9.1617181918.git.christophe.leroy@csgroup.eu
2021-04-01powerpc/signal32: Fix Oops on sigreturn with unmapped VDSOChristophe Leroy1-12/+8
PPC32 encounters a KUAP fault when trying to handle a signal with VDSO unmapped. Kernel attempted to read user page (7fc07ec0) - exploit attempt? (uid: 0) BUG: Unable to handle kernel data access on read at 0x7fc07ec0 Faulting instruction address: 0xc00111d4 Oops: Kernel access of bad area, sig: 11 [#1] BE PAGE_SIZE=16K PREEMPT CMPC885 CPU: 0 PID: 353 Comm: sigreturn_vdso Not tainted 5.12.0-rc4-s3k-dev-01553-gb30c310ea220 #4814 NIP: c00111d4 LR: c0005a28 CTR: 00000000 REGS: cadb3dd0 TRAP: 0300 Not tainted (5.12.0-rc4-s3k-dev-01553-gb30c310ea220) MSR: 00009032 <EE,ME,IR,DR,RI> CR: 48000884 XER: 20000000 DAR: 7fc07ec0 DSISR: 88000000 GPR00: c0007788 cadb3e90 c28d4a40 7fc07ec0 7fc07ed0 000004e0 7fc07ce0 00000000 GPR08: 00000001 00000001 7fc07ec0 00000000 28000282 1001b828 100a0920 00000000 GPR16: 100cac0c 100b0000 105c43a4 105c5685 100d0000 100d0000 100d0000 100b2e9e GPR24: ffffffff 105c43c8 00000000 7fc07ec8 cadb3f40 cadb3ec8 c28d4a40 00000000 NIP [c00111d4] flush_icache_range+0x90/0xb4 LR [c0005a28] handle_signal32+0x1bc/0x1c4 Call Trace: [cadb3e90] [100d0000] 0x100d0000 (unreliable) [cadb3ec0] [c0007788] do_notify_resume+0x260/0x314 [cadb3f20] [c000c764] syscall_exit_prepare+0x120/0x184 [cadb3f30] [c00100b4] ret_from_syscall+0xc/0x28 --- interrupt: c00 at 0xfe807f8 NIP: 0fe807f8 LR: 10001060 CTR: c0139378 REGS: cadb3f40 TRAP: 0c00 Not tainted (5.12.0-rc4-s3k-dev-01553-gb30c310ea220) MSR: 0000d032 <EE,PR,ME,IR,DR,RI> CR: 28000482 XER: 20000000 GPR00: 00000025 7fc081c0 77bb1690 00000000 0000000a 28000482 00000001 0ff03a38 GPR08: 0000d032 00006de5 c28d4a40 00000009 88000482 1001b828 100a0920 00000000 GPR16: 100cac0c 100b0000 105c43a4 105c5685 100d0000 100d0000 100d0000 100b2e9e GPR24: ffffffff 105c43c8 00000000 77ba7628 10002398 10010000 10002124 00024000 NIP [0fe807f8] 0xfe807f8 LR [10001060] 0x10001060 --- interrupt: c00 Instruction dump: 38630010 7c001fac 38630010 4200fff0 7c0004ac 4c00012c 4e800020 7c001fac 2c0a0000 38630010 4082ffcc 4bffffe4 <7c00186c> 2c070000 39430010 4082ff8c ---[ end trace 3973fb72b049cb06 ]--- This is because flush_icache_range() is called on user addresses. The same problem was detected some time ago on PPC64. It was fixed by enabling KUAP in commit 59bee45b9712 ("powerpc/mm: Fix missing KUAP disable in flush_coherent_icache()"). PPC32 doesn't use flush_coherent_icache() and fallbacks on clean_dcache_range() and invalidate_icache_range(). We could fix it similarly by enabling user access in those functions, but this is overkill for just flushing two instructions. The two instructions are 8 bytes aligned, so a single dcbst/icbi is enough to flush them. Do like __patch_instruction() and inline a dcbst followed by an icbi just after the write of the instructions, while user access is still allowed. The isync is not required because rfi will be used to return to user. icbi() is handled as a read so read-write user access is needed. Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/bde9154e5351a5ac7bca3d59cdb5a5e8edacbb79.1617199569.git.christophe.leroy@csgroup.eu
2021-04-01powerpc/ptrace: Don't return error when getting/setting FP regs without ↵Christophe Leroy5-18/+20
CONFIG_PPC_FPU_REGS An #ifdef CONFIG_PPC_FPU_REGS is missing in arch_ptrace() leading to the following Oops because [REGSET_FPR] entry is not initialised in native_regsets[]. [ 41.917608] BUG: Unable to handle kernel instruction fetch [ 41.922849] Faulting instruction address: 0xff8fd228 [ 41.927760] Oops: Kernel access of bad area, sig: 11 [#1] [ 41.933089] BE PAGE_SIZE=4K PREEMPT CMPC885 [ 41.940753] Modules linked in: [ 41.943768] CPU: 0 PID: 366 Comm: gdb Not tainted 5.12.0-rc5-s3k-dev-01666-g7aac86a0f057-dirty #4835 [ 41.952800] NIP: ff8fd228 LR: c004d9e0 CTR: ff8fd228 [ 41.957790] REGS: caae9df0 TRAP: 0400 Not tainted (5.12.0-rc5-s3k-dev-01666-g7aac86a0f057-dirty) [ 41.966741] MSR: 40009032 <EE,ME,IR,DR,RI> CR: 82004248 XER: 20000000 [ 41.973540] [ 41.973540] GPR00: c004d9b4 caae9eb0 c1b64f60 c1b64520 c0713cd4 caae9eb8 c1bacdfc 00000004 [ 41.973540] GPR08: 00000200 ff8fd228 c1bac700 00001032 28004242 1061aaf4 00000001 106d64a0 [ 41.973540] GPR16: 00000000 00000000 7fa0a774 10610000 7fa0aef9 00000000 10610000 7fa0a538 [ 41.973540] GPR24: 7fa0a580 7fa0a570 c1bacc00 c1b64520 c1bacc00 caae9ee8 00000108 c0713cd4 [ 42.009685] NIP [ff8fd228] 0xff8fd228 [ 42.013300] LR [c004d9e0] __regset_get+0x100/0x124 [ 42.018036] Call Trace: [ 42.020443] [caae9eb0] [c004d9b4] __regset_get+0xd4/0x124 (unreliable) [ 42.026899] [caae9ee0] [c004da94] copy_regset_to_user+0x5c/0xb0 [ 42.032751] [caae9f10] [c002f640] sys_ptrace+0xe4/0x588 [ 42.037915] [caae9f30] [c0011010] ret_from_syscall+0x0/0x28 [ 42.043422] --- interrupt: c00 at 0xfd1f8e4 [ 42.047553] NIP: 0fd1f8e4 LR: 1004a688 CTR: 00000000 [ 42.052544] REGS: caae9f40 TRAP: 0c00 Not tainted (5.12.0-rc5-s3k-dev-01666-g7aac86a0f057-dirty) [ 42.061494] MSR: 0000d032 <EE,PR,ME,IR,DR,RI> CR: 48004442 XER: 00000000 [ 42.068551] [ 42.068551] GPR00: 0000001a 7fa0a040 77dad7e0 0000000e 00000170 00000000 7fa0a078 00000004 [ 42.068551] GPR08: 00000000 108deb88 108dda40 106d6010 44004442 1061aaf4 00000001 106d64a0 [ 42.068551] GPR16: 00000000 00000000 7fa0a774 10610000 7fa0aef9 00000000 10610000 7fa0a538 [ 42.068551] GPR24: 7fa0a580 7fa0a570 1078fe00 1078fd70 1078fd70 00000170 0fdd3244 0000000d [ 42.104696] NIP [0fd1f8e4] 0xfd1f8e4 [ 42.108225] LR [1004a688] 0x1004a688 [ 42.111753] --- interrupt: c00 [ 42.114768] Instruction dump: [ 42.117698] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX [ 42.125443] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX [ 42.133195] ---[ end trace d35616f22ab2100c ]--- Adding the missing #ifdef is not good because gdb doesn't like getting an error when getting registers. Instead, make ptrace return 0s when CONFIG_PPC_FPU_REGS is not set. Fixes: b6254ced4da6 ("powerpc/signal: Don't manage floating point regs when no FPU") Cc: stable@vger.kernel.org Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/9121a44a2d50ba1af18d8aa5ada06c9a3bea8afd.1617200085.git.christophe.leroy@csgroup.eu
2021-04-01ACPI: processor: Fix CPU0 wakeup in acpi_idle_play_dead()Vitaly Kuznetsov2-1/+2
Commit 496121c02127 ("ACPI: processor: idle: Allow probing on platforms with one ACPI C-state") broke CPU0 hotplug on certain systems, e.g. I'm observing the following on AWS Nitro (e.g r5b.xlarge but other instance types are affected as well): # echo 0 > /sys/devices/system/cpu/cpu0/online # echo 1 > /sys/devices/system/cpu/cpu0/online <10 seconds delay> -bash: echo: write error: Input/output error In fact, the above mentioned commit only revealed the problem and did not introduce it. On x86, to wakeup CPU an NMI is being used and hlt_play_dead()/mwait_play_dead() loops are prepared to handle it: /* * If NMI wants to wake up CPU0, start CPU0. */ if (wakeup_cpu0()) start_cpu0(); cpuidle_play_dead() -> acpi_idle_play_dead() (which is now being called on systems where it wasn't called before the above mentioned commit) serves the same purpose but it doesn't have a path for CPU0. What happens now on wakeup is: - NMI is sent to CPU0 - wakeup_cpu0_nmi() works as expected - we get back to while (1) loop in acpi_idle_play_dead() - safe_halt() puts CPU0 to sleep again. The straightforward/minimal fix is add the special handling for CPU0 on x86 and that's what the patch is doing. Fixes: 496121c02127 ("ACPI: processor: idle: Allow probing on platforms with one ACPI C-state") Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Cc: 5.10+ <stable@vger.kernel.org> # 5.10+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2021-04-01ARM: mstar: Add mpll to base dtsiDaniel Palmer1-0/+8
All of the currently known MStar/SigmaStar ARMv7 SoCs have at least one MPLL and it seems to always be at the same place so add it to the base dtsi. Signed-off-by: Daniel Palmer <daniel@0x0f.com> Link: https://lore.kernel.org/r/20210301123542.2800643-4-daniel@0x0f.com' Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01ARM: mstar: Add the external clocks to the base dstiDaniel Palmer1-0/+15
All of the currently known MStar/SigmaStar ARMv7 SoCs have an "xtal" clock input that is usually 24MHz and an "RTC xtal" that is usually 32KHz. The xtal input has to be connected to something so it's enabled by default. The MSC313 and MSC313E do not bring the RTC clock input out to the pins so it's impossible to connect it. The SSC8336 does bring the input out to the pins but it's not always actually connected to something. The RTC node needs to always be present because in the future the nodes for the clock muxes will refer to it even if it's not usable. The RTC node is disabled by default and should be enabled at the board level if the RTC input is wired up. Signed-off-by: Daniel Palmer <daniel@0x0f.com> Link: https://lore.kernel.org/r/20210301123542.2800643-3-daniel@0x0f.com' Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01ARM: mstar: Select MSTAR_MSC313_MPLLDaniel Palmer1-0/+1
All of the ARCH_MSTARV7 chips have an MPLL as the source for peripheral clocks so select MSTAR_MSC313_MPLL. Signed-off-by: Daniel Palmer <daniel@0x0f.com> Link: https://lore.kernel.org/r/20210301123542.2800643-2-daniel@0x0f.com' Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01ARM: dts: stm32: Add PTP clock to Ethernet controllerKurt Kanzenbach1-0/+2
Add the PTP clock to the Ethernet controller. Otherwise, the driver uses the main clock to derive the PTP frequency which is not necessarily the correct one. Tested with linuxptp on Olimex STMP1-OLinuXino-LIME2. Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de> Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2021-04-01arm64: dts: mediatek: fix reset GPIO level on pumpkinFabien Parent1-1/+1
The tca6416 chip is active low. Fix the reset-gpios value. Fixes: e2a8fa1e0faa ("arm64: dts: mediatek: fix tca6416 reset GPIOs in pumpkin") Signed-off-by: Fabien Parent <fparent@baylibre.com> Link: https://lore.kernel.org/r/20210223221826.2063911-1-fparent@baylibre.com Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-04-01Merge tag 'imx-fixes-5.12-2' of ↵Arnd Bergmann3-2/+4
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes i.MX fixes for 5.12, round 2: - Fix a system failure on imx6qdl-phytec-pfla02 board when booting from SD, by adding missing vmmc supply for SD interfaces. - Fix address typo in i.MX8MM/Q IOMUXC_SD1_DATA0_GPIO2_IO2 definition. * tag 'imx-fixes-5.12-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: dts: imx6: pbab01: Set vmmc supply for both SD interfaces arm64: dts: imx8mm/q: Fix pad control of SD1_DATA0 Link: https://lore.kernel.org/r/20210330090236.GQ22955@dragon Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01Merge tag 'omap-for-v5.12/fixes-rc4-signed' of ↵Arnd Bergmann6-10/+52
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/fixes More fixes for omaps for v5.12-rc cycle Two fixes for hangs, mmc slot order fix, and a voltage typo fix: - Remove unused duplicate sha2md5_fck clock node that can race with the OMAP4_SHA2MD5_CLKCTRL clock node for disable for unused clocks - Add aliases for omap4/5 mmc to put the slots back into the right order again - Fix typo for bionic voltage controllers that accidentally use mpu for all instances instead of mpu, core and iva - Fix random hangs for droid4 caused by missing fix from TI Android kernel tree to do a dummy smc call on cpuidle wakeup path * tag 'omap-for-v5.12/fixes-rc4-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP4: PM: update ROM return address for OSWR and OFF ARM: OMAP4: Fix PMIC voltage domains for bionic ARM: dts: Fix moving mmc devices with aliases for omap4 & 5 ARM: dts: Drop duplicate sha2md5_fck to fix clk_disable race Link: https://lore.kernel.org/r/pull-1616584662-702939@atomide.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01Merge tag 'arm-soc/for-5.12/devicetree-part2' of ↵Arnd Bergmann1-12/+0
https://github.com/Broadcom/stblinux into arm/fixes This pull request contains Broadcom ARM-based SoC changes for 5.12, please pull the following: - Florian reverts the adding of the second level interrupt controller for HDMI BSC interrupts since they collide with the main I2C controller (i2c-bcm2835). * tag 'arm-soc/for-5.12/devicetree-part2' of https://github.com/Broadcom/stblinux: Revert "ARM: dts: bcm2711: Add the BSC interrupt controller" Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01arm64: dts: mt8183: add mt8183 pumpkin boardFabien Parent2-0/+379
The MT8183 Pumpkin board is manufactured by OLogic and includes a MediaTek MT8183 SoC with 2GB of RAM. The board provides the following IOs: * 2 USB Type-A ports * Ethernet * Serial UART over micro-USB port * 1 USB Type-C dual role port * 1 USB Type-C power only port * 1 Jack for audio * RPI compatible header * MT7668 wiresless chip with Wi-Fi AC and BT 5 * Micro-HDMI port * 2 connectors for CSI cameras * 1 connector for DSI display * 1 JTAG port Signed-off-by: Fabien Parent <fparent@baylibre.com> Link: https://lore.kernel.org/r/20210217205945.830006-2-fparent@baylibre.com Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-04-01ARM: dts: stm32: Enable crc1 and cryp1 where applicable on DHSOMMarek Vasut5-0/+20
Enable the CRC accelerator on all STM32MP15xx DHSOM based systems and CRYP accelerator on all STM32MP15x[CF] DHSOM based systems. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Alexandre Torgue <alexandre.torgue@st.com> Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com> Cc: Patrice Chotard <patrice.chotard@st.com> Cc: Patrick Delaunay <patrick.delaunay@st.com> Cc: linux-stm32@st-md-mailman.stormreply.com To: linux-arm-kernel@lists.infradead.org Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2021-04-01Merge branch 'kvm-fix-svm-races' into HEADPaolo Bonzini1-12/+20
2021-04-01KVM: x86: Prevent 'hv_clock->system_time' from going negative in ↵Vitaly Kuznetsov1-2/+17
kvm_guest_time_update() When guest time is reset with KVM_SET_CLOCK(0), it is possible for 'hv_clock->system_time' to become a small negative number. This happens because in KVM_SET_CLOCK handling we set 'kvm->arch.kvmclock_offset' based on get_kvmclock_ns(kvm) but when KVM_REQ_CLOCK_UPDATE is handled, kvm_guest_time_update() does (masterclock in use case): hv_clock.system_time = ka->master_kernel_ns + v->kvm->arch.kvmclock_offset; And 'master_kernel_ns' represents the last time when masterclock got updated, it can precede KVM_SET_CLOCK() call. Normally, this is not a problem, the difference is very small, e.g. I'm observing hv_clock.system_time = -70 ns. The issue comes from the fact that 'hv_clock.system_time' is stored as unsigned and 'system_time / 100' in compute_tsc_page_parameters() becomes a very big number. Use 'master_kernel_ns' instead of get_kvmclock_ns() when masterclock is in use and get_kvmclock_base_ns() when it's not to prevent 'system_time' from going negative. Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Message-Id: <20210331124130.337992-2-vkuznets@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-04-01KVM: x86: disable interrupts while pvclock_gtod_sync_lock is takenPaolo Bonzini1-11/+14
pvclock_gtod_sync_lock can be taken with interrupts disabled if the preempt notifier calls get_kvmclock_ns to update the Xen runstate information: spin_lock include/linux/spinlock.h:354 [inline] get_kvmclock_ns+0x25/0x390 arch/x86/kvm/x86.c:2587 kvm_xen_update_runstate+0x3d/0x2c0 arch/x86/kvm/xen.c:69 kvm_xen_update_runstate_guest+0x74/0x320 arch/x86/kvm/xen.c:100 kvm_xen_runstate_set_preempted arch/x86/kvm/xen.h:96 [inline] kvm_arch_vcpu_put+0x2d8/0x5a0 arch/x86/kvm/x86.c:4062 So change the users of the spinlock to spin_lock_irqsave and spin_unlock_irqrestore. Reported-by: syzbot+b282b65c2c68492df769@syzkaller.appspotmail.com Fixes: 30b5c851af79 ("KVM: x86/xen: Add support for vCPU runstate information") Cc: David Woodhouse <dwmw@amazon.co.uk> Cc: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-04-01KVM: x86: reduce pvclock_gtod_sync_lock critical sectionsPaolo Bonzini1-6/+4
There is no need to include changes to vcpu->requests into the pvclock_gtod_sync_lock critical section. The changes to the shared data structures (in pvclock_update_vm_gtod_copy) already occur under the lock. Cc: David Woodhouse <dwmw@amazon.co.uk> Cc: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-04-01Merge branch 'kvm-fix-svm-races' into kvm-masterPaolo Bonzini1-5/+23
2021-04-01KVM: SVM: ensure that EFER.SVME is set when running nested guest or on ↵Paolo Bonzini1-1/+17
nested vmexit Fixing nested_vmcb_check_save to avoid all TOC/TOU races is a bit harder in released kernels, so do the bare minimum by avoiding that EFER.SVME is cleared. This is problematic because svm_set_efer frees the data structures for nested virtualization if EFER.SVME is cleared. Also check that EFER.SVME remains set after a nested vmexit; clearing it could happen if the bit is zero in the save area that is passed to KVM_SET_NESTED_STATE (the save area of the nested state corresponds to the nested hypervisor's state and is restored on the next nested vmexit). Cc: stable@vger.kernel.org Fixes: 2fcf4876ada ("KVM: nSVM: implement on demand allocation of the nested state") Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-04-01KVM: SVM: load control fields from VMCB12 before checking themPaolo Bonzini1-4/+6
Avoid races between check and use of the nested VMCB controls. This for example ensures that the VMRUN intercept is always reflected to the nested hypervisor, instead of being processed by the host. Without this patch, it is possible to end up with svm->nested.hsave pointing to the MSR permission bitmap for nested guests. This bug is CVE-2021-29657. Reported-by: Felix Wilhelm <fwilhelm@google.com> Cc: stable@vger.kernel.org Fixes: 2fcf4876ada ("KVM: nSVM: implement on demand allocation of the nested state") Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>