summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2021-08-12Merge tag 'samsung-dt-5.15' of ↵Arnd Bergmann7-6/+146
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/dt Samsung DTS ARM changes for v5.15 Add CPU topology to all Exynos DTSI files. * tag 'samsung-dt-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: dts: exynos: add CPU topology to Exynos5422 ARM: dts: exynos: add CPU topology to Exynos5420 ARM: dts: exynos: add CPU topology to Exynos5260 ARM: dts: exynos: add CPU topology to Exynos5250 ARM: dts: exynos: add CPU topology to Exynos4412 ARM: dts: exynos: add CPU topology to Exynos4210 ARM: dts: exynos: add CPU topology to Exynos3250 Link: https://lore.kernel.org/r/20210811085128.30103-1-krzysztof.kozlowski@canonical.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-08-12Merge tag 'amlogic-arm-dt-for-v5.15' of ↵Arnd Bergmann6-5/+194
git://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into arm/dt Amlogic ARM DT changes for v5.15: - meson8: use a default higher default GPU clock to solve probe failure - meson: add AIU audio controller and codec for ec100 - meson8b: fix pwm regulator supply property name * tag 'amlogic-arm-dt-for-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux: ARM: dts: meson8b: ec100: Fix the pwm regulator supply properties ARM: dts: meson8b: mxq: Fix the pwm regulator supply properties ARM: dts: meson8b: odroidc1: Fix the pwm regulator supply properties ARM: dts: meson8b: ec100: wire up the RT5640 audio codec ARM: dts: meson: Add the AIU audio controller ARM: dts: meson8: Use a higher default GPU clock frequency Link: https://lore.kernel.org/r/87519792-c9e7-76a6-5db5-0e955286b564@baylibre.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-08-12Merge tag 'amlogic-arm64-dt-for-v5.15' of ↵Arnd Bergmann3-2/+16
git://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into arm/dt Amlogic ARM64 DT changes for v5.15: - nanoki-k2: enable bluetooth - khadas vim & vim2: improve wifi * tag 'amlogic-arm64-dt-for-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux: arm64: dts: meson: improve gxm-khadas-vim2 wifi arm64: dts: meson: improve gxl-s905x-khadas-vim wifi arm64: dts: meson-gxbb: nanopi-k2: Enable Bluetooth Link: https://lore.kernel.org/r/032895d9-62b6-6c9e-b04b-9c3d316f27ec@baylibre.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-08-12Merge tag 'ti-k3-dt-for-v5.15' of ↵Arnd Bergmann3-0/+234
git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux into arm/dt Devicetree changes for TI K3 platforms for v5.15 merge window: * New features: - AM64 adds pwm and ecap capability * tag 'ti-k3-dt-for-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux: arm64: dts: ti: k3-am642-sk: Add pwm nodes arm64: dts: ti: k3-am642-evm: Add pwm nodes arm64: dts: ti: k3-am64-main: Add ecap pwm nodes arm64: dts: ti: k3-am64-main: Add epwm nodes Link: https://lore.kernel.org/r/20210809130631.pfvntcichsyeekbo@festive Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-08-12Merge tag 'v5.14-next-dts64' of ↵Arnd Bergmann5-1/+19
git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/dt MT8173: - Add regulator for MFG_ASYNC power domain - Use alias for MMC to get fixed numbers MT8183: - Use alia for MMC to get fixed numbers - Add optional event number for Global Comman Engine * tag 'v5.14-next-dts64' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux: dt-bindings: mediatek: Add optional mediatek,gce-events property arm64: dts: mt8183: add mediatek,gce-events in mutex arm64: dts: mediatek: mt8173: Add domain supply for mfg_async arm64: dts: mt8173: elm: Use aliases to mmc nodes arm64: dts: mt8183: kukui: Use aliases to mmc nodes Link: https://lore.kernel.org/r/26c4026a-9f26-d5a3-c30f-439120a4eaa0@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-08-12Merge tag 'v5.14-next-dts32' of ↵Arnd Bergmann1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/dt Increase trip point on MT7623 * tag 'v5.14-next-dts32' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux: arm: dts: mt7623: increase passive cooling trip Link: https://lore.kernel.org/r/289ded1c-dae7-54ef-6b56-9433bfcaf9de@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-08-12Merge tag 'ixp4xx-dts-arm-soc-v5.15-1' of ↵Arnd Bergmann21-92/+1784
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into arm/dt IXP4xx DTS file updates for the v5.15 kernel cycle: - Fix up some (non-urgent) IRQ flags for the PCI buses. - Add the second UART to the generic ixp4xx.dtsi - Make use of the new expansion bus driver in all device trees with e.g. flash memory on the expansion bus. - Adds the CF card slot to the Gateworks GW2358. - Add new device trees for: - Iomega NAS 100D - D-Link DSM-G600 - Netgear WG302v2 - Arcom Vulcan - Gateworks Avila GW2348 - Intel IXPD425 and siblings - Coyote and IXDPG425 - Linksys WRV54G * tag 'ixp4xx-dts-arm-soc-v5.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik: ARM: dts: ixp4xx: Add a devicetree for Freecom FSG-3 ARM: dts: ixp4xx: Add devicetree for Linksys WRV54G ARM: dts: ixp4xx: Add device trees for Coyote and IXDPG425 ARM: dts: ixp4xx: Add Intel IXDP425 etc reference designs ARM: dts: ixp4xx: Add CF to GW2358 ARM: dts: ixp4xx: Add Gateworks Avila GW2348 device tree ARM: dts: ixp4xx: Add Arcom Vulcan device tree ARM: dts: ixp4xx: Add devicetree for Netgear WG302v2 ARM: dts: ixp4xx: Use the expansion bus ARM: dts: ixp4xx: Add second UART ARM: dts: ixp4xx: Add devicetree for D-Link DSM-G600 rev A ARM: dts: ixp4xx: Move EPBX100 flash to external bus node ARM: dts: ixp4xx: Add devicetree for Iomega NAS 100D ARM: dts: ixp4xx: Fix up bad interrupt flags Link: https://lore.kernel.org/r/CACRpkdY19AvWT--OcmEKbwFue_EcThVs7uZeHkzORten7xj-RA@mail.gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-08-12Merge tag 'stm32-dt-for-v5.15-1' of ↵Arnd Bergmann6-27/+53
git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into arm/dt STM32 DT for v5.15, round 1 Highlights: ---------- -MPU: - ST boards: - Add coporcessor detach mailbox on ED and DKx boards - Fix dtbs_check SAI warnings - DH boards: -Fix some dtbs_check warnings: usb, backlight, hdmi * tag 'stm32-dt-for-v5.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32: ARM: dts: stm32: Update AV96 adv7513 node per dtbs_check ARM: dts: stm32: Set {bitclock,frame}-master phandles on ST DKx ARM: dts: stm32: Add coprocessor detach mbox on stm32mp15x-dkx boards ARM: dts: stm32: Add coprocessor detach mbox on stm32mp157c-ed1 board ARM: dts: stm32: Add usbphyc_port1 supply on DHCOM SoM ARM: dts: stm32: Add backlight and panel supply on DHCOM SoM ARM: dts: stm32: Set {bitclock,frame}-master phandles on DHCOM SoM ARM: dts: stm32: Fix touchscreen IRQ line assignment on DHCOM ARM: dts: stm32: Disable LAN8710 EDPD on DHCOM ARM: dts: stm32: Prefer HW RTC on DHCOM SoM Link: https://lore.kernel.org/r/e4f0bea3-4065-38d5-f1b2-007e4094c4a8@foss.st.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-08-12Merge tag 'sti-dt-for-v5.15-round1' of ↵Arnd Bergmann11-372/+215
git://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti into arm/dt Highlights: ----------- - Introduce 4KOpen STiH418-b2264 board - Remove clk_ignore_unused from STi boards DT - Remove clock-output-names and clk_critical properties - Update some clock compatible * tag 'sti-dt-for-v5.15-round1' of git://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti: ARM: dts: sti: remove clk_ignore_unused from bootargs for stih410-b2260 ARM: dts: sti: remove clk_ignore_unused from bootargs for stih418-b2199 ARM: dts: sti: remove clk_ignore_unused from bootargs for stih410-b2120 ARM: dts: sti: remove clk_ignore_unused from bootargs for stih407-b2120 ARM: dts: sti: Introduce 4KOpen (stih418-b2264) board ARM: dts: sti: add the thermal sensor node within stih418 ARM: dts: sti: disable rng11 on the stih418 platform ARM: dts: sti: add the spinor controller node within stih407-family ARM: dts: sti: update clkgen-fsyn entries in stih418-clock ARM: dts: sti: update clkgen-fsyn entries in stih410-clock ARM: dts: sti: update clkgen-fsyn entries in stih407-clock ARM: dts: sti: update clkgen-pll entries in stih418-clock ARM: dts: sti: update clkgen-pll entries in stih410-clock ARM: dts: sti: update clkgen-pll entries in stih407-clock ARM: dts: sti: update flexgen compatible within stih410-clock ARM: dts: sti: update flexgen compatible within stih407-clock ARM: dts: sti: update flexgen compatible within stih418-clock Link: https://lore.kernel.org/r/1d95209f-9cb4-47a3-2696-7a93df7cdc05@foss.st.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-08-12Merge tag 'omap-for-v5.15/dt-signed' of ↵Arnd Bergmann30-265/+981
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/dt Devicetree changes for omaps for v5.15 Devicetree changes for omaps to configure more devices, and add support for new SoC variants and devices: - Add add gpio-line-names for am335x-boneblue - Add support for dra762 abz package - Two patches for McASP support on omap4 - Three patches to add support for am335x-sancloud-bbe-lite - A series of changes to configure PRUSS for am3/4/5 * tag 'omap-for-v5.15/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: dts: am57xx: Add PRUSS MDIO controller nodes ARM: dts: am57xx: Add PRU-ICSS nodes ARM: dts: am4372: Add PRUSS MDIO controller node ARM: dts: am4372: Add the PRU-ICSS0 DT node ARM: dts: am4372: Add the PRU-ICSS1 DT node ARM: dts: am335x-icev2: Enable PRU-ICSS module ARM: dts: am335x-evmsk: Enable PRU-ICSS module ARM: dts: am335x-evm: Enable PRU-ICSS module ARM: dts: am335x-bone-common: Enable PRU-ICSS node ARM: dts: am33xx-l4: Add PRUSS MDIO controller node ARM: dts: am33xx-l4: Add PRUSS node ARM: dts: am335x-sancloud-bbe-lite: New devicetree ARM: dts: am335x-sancloud-bbe: Extract common code ARM: dts: am335x-boneblack: Extract HDMI config ARM: dts: omap4-l4-abe: Add McASP configuration ARM: dts: omap4-l4-abe: Correct sidle modes for McASP ARM: dts: Add support for dra762 abz package ARM: dts: am335x-boneblue: add gpio-line-names Link: https://lore.kernel.org/r/pull-1628153040-834155@atomide.com-3 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-08-12Merge tag 'memory-controller-drv-5.15' of ↵Arnd Bergmann1-5/+0
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into arm/drivers Memory controller drivers for v5.15 Few minor fixes: maintainer pattern, unused-function warning in Tegra186 and suspend/resume in OMAP GPMC. * tag 'memory-controller-drv-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl: memory: omap-gpmc: Drop custom PM calls with cpu_pm notifier memory: omap-gpmc: Clear GPMC_CS_CONFIG7 register on restore if unused MAINTAINERS: update arm,pl353-smc.yaml reference memory: tegra: fix unused-function warning Link: https://lore.kernel.org/r/20210809152639.110576-1-krzysztof.kozlowski@canonical.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-08-12Merge tag 'imx-ecspi-5.15' of ↵Arnd Bergmann2-5/+5
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/drivers i.MX eCSPI errata handling for 5.15: It includes all required changes for handling i.MX6/7 eCSPI errata ERR009165, which causes FIFO transfer to be sent twice in DMA mode. Both SPI and DMA maintainers agree to merge it through arm-soc tree. * tag 'imx-ecspi-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: dmaengine: imx-sdma: add terminated list for freed descriptor in worker dmaengine: imx-sdma: add uart rom script dma: imx-sdma: add i.mx6ul compatible name dmaengine: imx-sdma: remove ERR009165 on i.mx6ul spi: imx: remove ERR009165 workaround on i.mx6ul spi: imx: fix ERR009165 dmaengine: imx-sdma: add mcu_2_ecspi script dmaengine: dma: imx-sdma: add fw_loaded and is_ram_script dmaengine: imx-sdma: remove duplicated sdma_load_context Revert "dmaengine: imx-sdma: refine to load context only once" Revert "ARM: dts: imx6: Use correct SDMA script for SPI cores" Revert "ARM: dts: imx6q: Use correct SDMA script for SPI5 core" Link: https://lore.kernel.org/r/20210809071838.GF30984@dragon Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-08-12Merge tag 'omap-for-v5.15/soc-late-signed' of ↵Arnd Bergmann1-18/+0
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/soc Two missed SoC changes for omaps for v5.15 I managed to miss applying two out of three Kconfig changes earlier to drop unused entries, here are the missed changes. * tag 'omap-for-v5.15/soc-late-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: arm: omap2: Drop the unused OMAP_PACKAGE_* KConfig entries arm: omap2: Drop obsolete MACH_OMAP3_PANDORA entry Link: https://lore.kernel.org/r/pull-1628751694-126144@atomide.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-08-12Merge tag 'omap-for-v5.15/soc-signed' of ↵Arnd Bergmann1-5/+0
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/soc SoC changes for omaps for v5.15 Update MAINTAINERS for SanCloud devices and drop unused old Kconfig * tag 'omap-for-v5.15/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: MAINTAINERS: Adopt SanCloud dts files as supported arm: omap2: Drop MACH_OMAP3517EVM entry Link: https://lore.kernel.org/r/pull-1628153040-834155@atomide.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-08-12x86/PCI: Add pci_numachip_init() declarationKrzysztof Wilczyński1-0/+1
numachip.c defines pci_numachip_init(), but neglected to include its declaration, causing the following sparse and compile time warnings: arch/x86/pci/numachip.c:108:12: warning: no previous prototype for function 'pci_numachip_init' [-Wmissing-prototypes] arch/x86/pci/numachip.c:108:12: warning: symbol 'pci_numachip_init' was not declared. Should it be static? Include asm/numachip/numachip.h, which includes the missing declaration. Link: https://lore.kernel.org/r/20210812171717.1471243-1-kw@linux.com Signed-off-by: Krzysztof Wilczyński <kw@linux.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2021-08-12x86/resctrl: Fix default monitoring groups reportingBabu Moger1-14/+13
Creating a new sub monitoring group in the root /sys/fs/resctrl leads to getting the "Unavailable" value for mbm_total_bytes and mbm_local_bytes on the entire filesystem. Steps to reproduce: 1. mount -t resctrl resctrl /sys/fs/resctrl/ 2. cd /sys/fs/resctrl/ 3. cat mon_data/mon_L3_00/mbm_total_bytes 23189832 4. Create sub monitor group: mkdir mon_groups/test1 5. cat mon_data/mon_L3_00/mbm_total_bytes Unavailable When a new monitoring group is created, a new RMID is assigned to the new group. But the RMID is not active yet. When the events are read on the new RMID, it is expected to report the status as "Unavailable". When the user reads the events on the default monitoring group with multiple subgroups, the events on all subgroups are consolidated together. Currently, if any of the RMID reads report as "Unavailable", then everything will be reported as "Unavailable". Fix the issue by discarding the "Unavailable" reads and reporting all the successful RMID reads. This is not a problem on Intel systems as Intel reports 0 on Inactive RMIDs. Fixes: d89b7379015f ("x86/intel_rdt/cqm: Add mon_data") Reported-by: Paweł Szulik <pawel.szulik@intel.com> Signed-off-by: Babu Moger <Babu.Moger@amd.com> Signed-off-by: Borislav Petkov <bp@suse.de> Acked-by: Reinette Chatre <reinette.chatre@intel.com> Cc: stable@vger.kernel.org Link: https://bugzilla.kernel.org/show_bug.cgi?id=213311 Link: https://lkml.kernel.org/r/162793309296.9224.15871659871696482080.stgit@bmoger-ubuntu
2021-08-12x86/tools: Fix objdump version check againRandy Dunlap1-0/+1
Skip (omit) any version string info that is parenthesized. Warning: objdump version 15) is older than 2.19 Warning: Skipping posttest. where 'objdump -v' says: GNU objdump (GNU Binutils; SUSE Linux Enterprise 15) 2.35.1.20201123-7.18 Fixes: 8bee738bb1979 ("x86: Fix objdump version check in chkobjdump.awk for different formats.") Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org> Link: https://lore.kernel.org/r/20210731000146.2720-1-rdunlap@infradead.org
2021-08-12arm64: tegra: Add missing interconnects property for USB on Tegra186Thierry Reding1-0/+3
The device tree node for the XUDC (USB device mode controller) is missing the interconnects property that describes the path to memory for the controller. Add the property so that the things like the DMA mask can be set by the operating system. Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-08-12riscv: Fix comment regarding kernel mapping overlapping with IS_ERR_VALUEAlexandre Ghiti1-1/+1
The current comment states that we check if the 64-bit kernel mapping overlaps with the last 4K of the address space that is reserved to error values in create_kernel_page_table, which is not the case since it is done in setup_vm. But anyway, remove the reference to any function and simply note that in 64-bit kernel, the check should be done as soon as the kernel mapping base address is known. Fixes: db6b84a368b4 ("riscv: Make sure the kernel mapping does not overlap with IS_ERR_VALUE") Signed-off-by: Alexandre Ghiti <alex@ghiti.fr> Cc: stable@vger.kernel.org Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2021-08-12riscv: kexec: do not add '-mno-relax' flag if compiler doesn't support itChangbin Du1-1/+1
The RISC-V special option '-mno-relax' which to disable linker relaxations is supported by GCC8+. For GCC7 and lower versions do not support this option. Fixes: fba8a8674f68 ("RISC-V: Add kexec support") Signed-off-by: Changbin Du <changbin.du@gmail.com> Cc: stable@vger.kernel.org Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2021-08-12MIPS: generic: Return true/false (not 1/0) from bool functionsHuilong Deng1-3/+3
./arch/mips/generic/board-ocelot.c:29:9-10: WARNING: return of 0/1 in function 'ocelot_detect' with return type bool Signed-off-by: Huilong Deng <denghuilong@cdjrlc.com> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2021-08-12MIPS: Make a alias for pistachio_defconfigJiaxun Yang1-0/+3
For those who miss the old defconfig, make a alias to generic kernel. Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2021-08-12MIPS: Retire MACH_PISTACHIOJiaxun Yang11-577/+0
Now it can be replaced by generic kernel. Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2021-08-12MIPS: config: generic: Add config for Marduk boardJiaxun Yang1-0/+53
The config is minimal config to allow it boot from SD Card. Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2021-08-12MIPS: DTS: Pistachio add missing cpc and cdmmJiaxun Yang1-0/+10
CPC and CDMM addresses are adjustable and we should tell kernel how to place them in devicetree. Note that MACH_PISTACHIO code hardcoded CDMM base to 0x1bdd0000, however it will collide with GIC address range. As we don't have any CDMM device on this platform it won't be a problem. I found another spare range, 0x1bdf0000~0x1be00000 to place CDMM instead. Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2021-08-12MIPS: generic: Allow generating FIT image for Marduk boardJiaxun Yang5-0/+32
Marduk is based on IMG pistachio SoC. The platform is using MIPS UHI booting protocol and does have a proper devicetree implement, thus it could be a part of generic kernel. Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2021-08-12arm64: tegra: Add NVIDIA Jetson TX2 NX Developer Kit supportThierry Reding2-0/+719
The Jetson TX2 NX Developer Kit is very similar to the Jetson Nano, but uses the more powerful Tegra186 SoC. Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-08-12arm64: tegra: Add PWM nodes on Tegra186Thierry Reding1-0/+88
These PWMs can be used for fan or LED backlight control. Add the device tree nodes for all existing controllers found on Tegra186 SoCs. None of these are enabled by default, which is left for the board DTS files to do when necessary. Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-08-12powerpc/xive: Do not skip CPU-less nodes when creating the IPIsCédric Le Goater1-11/+24
On PowerVM, CPU-less nodes can be populated with hot-plugged CPUs at runtime. Today, the IPI is not created for such nodes, and hot-plugged CPUs use a bogus IPI, which leads to soft lockups. We can not directly allocate and request the IPI on demand because bringup_up() is called under the IRQ sparse lock. The alternative is to allocate the IPIs for all possible nodes at startup and to request the mapping on demand when the first CPU of a node is brought up. Fixes: 7dcc37b3eff9 ("powerpc/xive: Map one IPI interrupt per node") Cc: stable@vger.kernel.org # v5.13 Reported-by: Geetika Moolchandani <Geetika.Moolchandani1@ibm.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> Tested-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com> Tested-by: Laurent Vivier <lvivier@redhat.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20210807072057.184698-1-clg@kaod.org
2021-08-12powerpc/interrupt: Do not call single_step_exception() from other exceptionsChristophe Leroy1-2/+7
single_step_exception() is called by emulate_single_step() which is called from (at least) alignment exception() handler and program_check_exception() handler. Redefine it as a regular __single_step_exception() which is called by both single_step_exception() handler and emulate_single_step() function. Fixes: 3a96570ffceb ("powerpc: convert interrupt handlers to use wrappers") Cc: stable@vger.kernel.org # v5.12+ Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Reviewed-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/aed174f5cbc06f2cf95233c071d8aac948e46043.1628611921.git.christophe.leroy@csgroup.eu
2021-08-12powerpc/interrupt: Fix OOPS by not calling do_IRQ() from timer_interrupt()Christophe Leroy4-3/+11
An interrupt handler shall not be called from another interrupt handler otherwise this leads to problems like the following: Kernel attempted to write user page (afd4fa84) - exploit attempt? (uid: 1000) ------------[ cut here ]------------ Bug: Write fault blocked by KUAP! WARNING: CPU: 0 PID: 1617 at arch/powerpc/mm/fault.c:230 do_page_fault+0x484/0x720 Modules linked in: CPU: 0 PID: 1617 Comm: sshd Tainted: G W 5.13.0-pmac-00010-g8393422eb77 #7 NIP: c001b77c LR: c001b77c CTR: 00000000 REGS: cb9e5bc0 TRAP: 0700 Tainted: G W (5.13.0-pmac-00010-g8393422eb77) MSR: 00021032 <ME,IR,DR,RI> CR: 24942424 XER: 00000000 GPR00: c001b77c cb9e5c80 c1582c00 00000021 3ffffbff 085b0000 00000027 c8eb644c GPR08: 00000023 00000000 00000000 00000000 24942424 0063f8c8 00000000 000186a0 GPR16: afd52dd4 afd52dd0 afd52dcc afd52dc8 0065a990 c07640c4 cb9e5e98 cb9e5e90 GPR24: 00000040 afd4fa96 00000040 02000000 c1fda6c0 afd4fa84 00000300 cb9e5cc0 NIP [c001b77c] do_page_fault+0x484/0x720 LR [c001b77c] do_page_fault+0x484/0x720 Call Trace: [cb9e5c80] [c001b77c] do_page_fault+0x484/0x720 (unreliable) [cb9e5cb0] [c000424c] DataAccess_virt+0xd4/0xe4 --- interrupt: 300 at __copy_tofrom_user+0x110/0x20c NIP: c001f9b4 LR: c03250a0 CTR: 00000004 REGS: cb9e5cc0 TRAP: 0300 Tainted: G W (5.13.0-pmac-00010-g8393422eb77) MSR: 00009032 <EE,ME,IR,DR,RI> CR: 48028468 XER: 20000000 DAR: afd4fa84 DSISR: 0a000000 GPR00: 20726f6f cb9e5d80 c1582c00 00000004 cb9e5e3a 00000016 afd4fa80 00000000 GPR08: 3835202d 72777872 2d78722d 00000004 28028464 0063f8c8 00000000 000186a0 GPR16: afd52dd4 afd52dd0 afd52dcc afd52dc8 0065a990 c07640c4 cb9e5e98 cb9e5e90 GPR24: 00000040 afd4fa96 00000040 cb9e5e0c 00000daa a0000000 cb9e5e98 afd4fa56 NIP [c001f9b4] __copy_tofrom_user+0x110/0x20c LR [c03250a0] _copy_to_iter+0x144/0x990 --- interrupt: 300 [cb9e5d80] [c03e89c0] n_tty_read+0xa4/0x598 (unreliable) [cb9e5df0] [c03e2a0c] tty_read+0xdc/0x2b4 [cb9e5e80] [c0156bf8] vfs_read+0x274/0x340 [cb9e5f00] [c01571ac] ksys_read+0x70/0x118 [cb9e5f30] [c0016048] ret_from_syscall+0x0/0x28 --- interrupt: c00 at 0xa7855c88 NIP: a7855c88 LR: a7855c5c CTR: 00000000 REGS: cb9e5f40 TRAP: 0c00 Tainted: G W (5.13.0-pmac-00010-g8393422eb77) MSR: 0000d032 <EE,PR,ME,IR,DR,RI> CR: 2402446c XER: 00000000 GPR00: 00000003 afd4ec70 a72137d0 0000000b afd4ecac 00004000 0065a990 00000800 GPR08: 00000000 a7947930 00000000 00000004 c15831b0 0063f8c8 00000000 000186a0 GPR16: afd52dd4 afd52dd0 afd52dcc afd52dc8 0065a990 0065a9e0 00000001 0065fac0 GPR24: 00000000 00000089 00664050 00000000 00668e30 a720c8dc a7943ff4 0065f9b0 NIP [a7855c88] 0xa7855c88 LR [a7855c5c] 0xa7855c5c --- interrupt: c00 Instruction dump: 3884aa88 38630178 48076861 807f0080 48042e45 2f830000 419e0148 3c80c079 3c60c076 38841be4 386301c0 4801f705 <0fe00000> 3860000b 4bfffe30 3c80c06b ---[ end trace fd69b91a8046c2e5 ]--- Here the problem is that by re-enterring an exception handler, kuap_save_and_lock() is called a second time with this time KUAP access locked, leading to regs->kuap being overwritten hence KUAP not being unlocked at exception exit as expected. Do not call do_IRQ() from timer_interrupt() directly. Instead, redefine do_IRQ() as a standard function named __do_IRQ(), and call it from both do_IRQ() and time_interrupt() handlers. Fixes: 3a96570ffceb ("powerpc: convert interrupt handlers to use wrappers") Cc: stable@vger.kernel.org # v5.12+ Reported-by: Stan Johnson <userm57@yahoo.com> Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Reviewed-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/c17d234f4927d39a1d7100864a8e1145323d33a0.1628611927.git.christophe.leroy@csgroup.eu
2021-08-12arm64: dts: renesas: r9a07g044: Add I2C interrupt-namesGeert Uytterhoeven1-0/+8
Add "interrupt-names" properties to the I2C device nodes, to make it easier to review the interrupt mappings. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com> Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Link: https://lore.kernel.org/r/d35ba11bd705e3c728f94ff0414ac6ae1156244f.1626267422.git.geert+renesas@glider.be
2021-08-12ARM: dts: rza: Add I2C interrupt-namesGeert Uytterhoeven2-0/+16
Add "interrupt-names" properties to the I2C device nodes of the RZ/A1H and RZ/A2M DTS files, to make it easier to review the interrupt mappings. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Link: https://lore.kernel.org/r/7a073439e37f6672e4809af0a2ee9cd4ac820ec6.1626267422.git.geert+renesas@glider.be
2021-08-12powerpc: Bulk conversion to generic_handle_domain_irq()Marc Zyngier11-74/+43
Wherever possible, replace constructs that match either generic_handle_irq(irq_find_mapping()) or generic_handle_irq(irq_linear_revmap()) to a single call to generic_handle_domain_irq(). Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-08-12nios2: Bulk conversion to generic_handle_domain_irq()Marc Zyngier1-3/+1
Wherever possible, replace constructs that match either generic_handle_irq(irq_find_mapping()) or generic_handle_irq(irq_linear_revmap()) to a single call to generic_handle_domain_irq(). Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-08-12xtensa: Bulk conversion to generic_handle_domain_irq()Marc Zyngier1-3/+1
Wherever possible, replace constructs that match either generic_handle_irq(irq_find_mapping()) or generic_handle_irq(irq_linear_revmap()) to a single call to generic_handle_domain_irq(). Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-08-12SH: Bulk conversion to generic_handle_domain_irq()Marc Zyngier3-3/+3
Wherever possible, replace constructs that match either generic_handle_irq(irq_find_mapping()) or generic_handle_irq(irq_linear_revmap()) to a single call to generic_handle_domain_irq(). Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-08-12mips: Bulk conversion to generic_handle_domain_irq()Marc Zyngier8-39/+29
Wherever possible, replace constructs that match either generic_handle_irq(irq_find_mapping()) or generic_handle_irq(irq_linear_revmap()) to a single call to generic_handle_domain_irq(). Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-08-12arc: Bulk conversion to generic_handle_domain_irq()Marc Zyngier1-1/+1
Wherever possible, replace constructs that match either generic_handle_irq(irq_find_mapping()) or generic_handle_irq(irq_linear_revmap()) to a single call to generic_handle_domain_irq(). Acked-by: Vineet Gupta <vgupta@synopsys.com> Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-08-12ARM: Bulk conversion to generic_handle_domain_irq()Marc Zyngier3-17/+6
Wherever possible, replace constructs that match either generic_handle_irq(irq_find_mapping()) or generic_handle_irq(irq_linear_revmap()) to a single call to generic_handle_domain_irq(). Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-08-12x86/reboot: Limit Dell Optiplex 990 quirk to early BIOS versionsPaul Gortmaker1-1/+2
When this platform was relatively new in November 2011, with early BIOS revisions, a reboot quirk was added in commit 6be30bb7d750 ("x86/reboot: Blacklist Dell OptiPlex 990 known to require PCI reboot") However, this quirk (and several others) are open-ended to all BIOS versions and left no automatic expiry if/when the system BIOS fixed the issue, meaning that nobody is likely to come along and re-test. What is really problematic with using PCI reboot as this quirk does, is that it causes this platform to do a full power down, wait one second, and then power back on. This is less than ideal if one is using it for boot testing and/or bisecting kernels when legacy rotating hard disks are installed. It was only by chance that the quirk was noticed in dmesg - and when disabled it turned out that it wasn't required anymore (BIOS A24), and a default reboot would work fine without the "harshness" of power cycling the machine (and disks) down and up like the PCI reboot does. Doing a bit more research, it seems that the "newest" BIOS for which the issue was reported[1] was version A06, however Dell[2] seemed to suggest only up to and including version A05, with the A06 having a large number of fixes[3] listed. As is typical with a new platform, the initial BIOS updates come frequently and then taper off (and in this case, with a revival for CPU CVEs); a search for O990-A<ver>.exe reveals the following dates: A02 16 Mar 2011 A03 11 May 2011 A06 14 Sep 2011 A07 24 Oct 2011 A10 08 Dec 2011 A14 06 Sep 2012 A16 15 Oct 2012 A18 30 Sep 2013 A19 23 Sep 2015 A20 02 Jun 2017 A23 07 Mar 2018 A24 21 Aug 2018 While it's overkill to flash and test each of the above, it would seem likely that the issue was contained within A0x BIOS versions, given the dates above and the dates of issue reports[4] from distros. So rather than just throw out the quirk entirely, limit the scope to just those early BIOS versions, in case people are still running systems from 2011 with the original as-shipped early A0x BIOS versions. [1] https://lore.kernel.org/lkml/1320373471-3942-1-git-send-email-trenn@suse.de/ [2] https://www.dell.com/support/kbdoc/en-ca/000131908/linux-based-operating-systems-stall-upon-reboot-on-optiplex-390-790-990-systems [3] https://www.dell.com/support/home/en-ca/drivers/driversdetails?driverid=85j10 [4] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/768039 Fixes: 6be30bb7d750 ("x86/reboot: Blacklist Dell OptiPlex 990 known to require PCI reboot") Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20210530162447.996461-4-paul.gortmaker@windriver.com
2021-08-12x86/power: Fix kernel-doc warnings in cpu.cBaokun Li1-15/+16
Fixes the following kernel-doc warnings: arch/x86/power/cpu.c:76: warning: Function parameter or member 'ctxt' not described in '__save_processor_state' arch/x86/power/cpu.c:192: warning: Function parameter or member 'ctxt' not described in '__restore_processor_state' Signed-off-by: Baokun Li <libaokun1@huawei.com> Signed-off-by: Borislav Petkov <bp@suse.de> Link: https://lkml.kernel.org/r/20210618022421.1595596-1-libaokun1@huawei.com
2021-08-12riscv: Move early fdt mapping creation in its own functionAlexandre Ghiti1-36/+40
The code that handles the early fdt mapping is hard to read and does not create the same mapping size depending on the kernel: - for 64-bit, 2 PMD entries are used which amounts to a 4MB mapping - for 32-bit, 2 PGDIR entries are used which amounts to a 8MB mapping So keep using 2 PMD entries for 64-bit and use only one PGD entry for 32-bit needed to cover 4MB. Move that into a new function called create_fdt_early_page_table which, using the same naming as create_kernel_page_table. Signed-off-by: Alexandre Ghiti <alex@ghiti.fr> Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2021-08-12riscv: Simplify BUILTIN_DTB device tree mapping handlingAlexandre Ghiti1-10/+2
__PAGETABLE_PMD_FOLDED defines a 2-level page table that is only used in 32-bit kernel, so there is no need to check for CONFIG_64BIT in #ifndef __PAGETABLE_PMD_FOLDED and vice-versa. Signed-off-by: Alexandre Ghiti <alex@ghiti.fr> Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2021-08-12riscv: Use __maybe_unused instead of #ifdefs around variable declarationsAlexandre Ghiti1-3/+1
This allows to simplify the code and make it more readable. Signed-off-by: Alexandre Ghiti <alex@ghiti.fr> Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2021-08-12riscv: Get rid of map_size parameter to create_kernel_page_tableAlexandre Ghiti1-19/+11
The kernel must always be mapped using PMD_SIZE, and this is already the case, this just simplifies create_kernel_page_table. Signed-off-by: Alexandre Ghiti <alex@ghiti.fr> Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2021-08-12riscv: Introduce va_kernel_pa_offset for 32-bit kernelAlexandre Ghiti2-16/+2
va_kernel_pa_offset was only used for 64-bit as the kernel mapping lies in the linear mapping for 32-bit kernel and then only the offset between the PAGE_OFFSET and the kernel load address is needed. But this distinction complexifies the code with #ifdefs and especially with a separate definition of the address conversions macros. Simplify the code by defining this variable for both 32-bit and 64-bit. Signed-off-by: Alexandre Ghiti <alex@ghiti.fr> Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2021-08-12riscv: Optimize kernel virtual address conversion macroAlexandre Ghiti1-1/+1
The current test in kernel_mapping_va_to_pa only applies when CONFIG_XIP_KERNEL is set, so use IS_ENABLED to optimize this macro at compile-time in standard kernels that do not require this test. Signed-off-by: Alexandre Ghiti <alex@ghiti.fr> Tested-by: Emil Renner Berthing <kernel@esmil.dk> Reviewed-by: Jisheng Zhang <jszhang@kernel.org> Reviewed-By: Vitaly Wool <vitaly.wool@konsulko.com> Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2021-08-11KVM: arm64: Return -EPERM from __pkvm_host_share_hyp()Quentin Perret1-1/+1
Fix the error code returned by __pkvm_host_share_hyp() when the host attempts to share with EL2 a page that has already been shared with another entity. Reported-by: Will Deacon <will@kernel.org> Signed-off-by: Quentin Perret <qperret@google.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20210811173630.2536721-1-qperret@google.com
2021-08-11xtensa: move core-y in arch/xtensa/Makefile to arch/xtensa/KbuildMasahiro Yamada3-3/+5
Use obj-y to clean up Makefile. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Message-Id: <20210811163731.186125-4-masahiroy@kernel.org> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>