summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2018-07-25Merge tag 'renesas-arm-defconfig-for-v4.19' of ↵Olof Johansson
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig Renesas ARM Based SoC Defconfig Updates for v4.19 - Enable new RZN1D-DB board in multi_v7_defconfig and shmobile_defconfig - shmobile_defconfig: + Drop NET_VENDOR_<FOO>=n + Disable long deprecated /sbin/hotplug helper + Enable reset controller support * tag 'renesas-arm-defconfig-for-v4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: multi_v7_defconfig: Enable support for RZN1D-DB ARM: shmobile: defconfig: Disable /sbin/hotplug fork-bomb ARM: shmobile: defconfig: Enable support for RZN1D-DB ARM: shmobile: defconfig: Enable reset controller support ARM: shmobile: defconfig: Drop NET_VENDOR_<FOO>=n Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25Merge tag 'qcom-defconfig-for-4.19' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/defconfig Qualcomm ARM Based defconfig Updates for v4.19 * Enable Qualcomm NAND config * tag 'qcom-defconfig-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux: ARM: qcom_defconfig: Enable QCOM NAND related configs Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25Merge tag 'qcom-arm64-defconfig-for-4.19' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/defconfig Qualcomm ARM64 Based defconfig Updates for v4.19 * Enable Qualcomm NAND driver * tag 'qcom-arm64-defconfig-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux: arm64: defconfig: Enable CONFIG_MTD_NAND_QCOM for IPQ8074 Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25Merge tag 'samsung-dt-4.19-2' of ↵Olof Johansson
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/dt Samsung DTS ARM changes for v4.19, part 2 1. Add missing interrupts to PWM nodes on Exynos5. 2. Add missing interrupt pin pull up/down configuration on Exynos4412 Midas boards. The interrupts were mostly working thanks to initial configuration by bootloader. * tag 'samsung-dt-4.19-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: dts: exynos: Configure Midas SD card CD pin ARM: dts: exynos: Configure max77686 IRQ pin on Midas ARM: dts: exynos: Add pinctrl for Midas fuelgauge IRQ pin ARM: dts: exynos: Add pinctrl config for Midas keys ARM: dts: exynos: Add max77693 pinctrl config for Midas ARM: dts: exynos: Add missing interrupts for pwm node on Exynos5 Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25Merge tag 'sunxi-dt64-for-4.19' of ↵Olof Johansson
https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt Allwinner arm64 DT changes for 4.19 Some interesting changes, especially: - MMC support for the H6 - PMIC support for the PineH64 - HDMI simplefb support for the A64 - PWM support for the A64 - New board: Pinebook, Amarula A64-Relic * tag 'sunxi-dt64-for-4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (22 commits) arm64: allwinner: h6: enable MMC0/2 on Pine H64 arm64: allwinner: h6: add device tree nodes for MMC controllers dt-binding: mmc: sunxi: add H6 compatible (with A64 fallback) arm64: dts: allwinner: a64: Remove unused address-cells/size-cells of dwmac-sun8i arm64: dts: allwinner: h6: enable AXP805 PMIC on Pine H64 arm64: dts: allwinner: h6: Use macros for R_CCU clock and reset indices arm64: dts: allwinner: a64: add HDMI regulator to all DTs' simplefb_hdmi arm64: dts: allwinner: a64: add device tree node for HDMI simplefb arm64: dts: allwinner: a64: add necessary device tree nodes for DE2 CCU arm64: dts: allwinner: h6: Add LED device nodes for Pine H64 arm64: allwinner: a64: allow laptops to wake up from lid arm64: allwinner: a64: change TERES-I DLDO3's name to start with "vdd" arm64: allwinner: a64-sopine: Add cd-gpios to mmc0 node arm64: dts: allwinner: a64: add SRAM controller device tree node arm64: dts: allwinner: add support for Pinebook arm64: dts: allwinner: a64: Add PWM controllers arm64: dts: allwinner: a64: add R_I2C controller arm64: allwinner: a64-amarula-relic: Enable AP6330 WiFi support arm64: allwinner: a64: Add RTC clock to phandle 32kHz external oscillator arm64: allwinner: a64: Add Amarula A64-Relic initial support ... Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25Merge tag 'sunxi-dt-for-4.19' of ↵Olof Johansson
https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt Allwinner DT changes for 4.19 There's a number of additions for the ARMv7 SoCs for this merge window, and especially: - Addition of the system controller for a number of SoCs, as part of the VPU effort - Addition of the R40 HDMI support - Addition of the Mali GPU node for the A10 * tag 'sunxi-dt-for-4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (21 commits) ARM: dts: sun4i: Add GPU node ARM: dts: sun5i: Fix the SRAM A3-A4 declaration ARM: dts: sun8i: r40: Remove unused address-cells/size-cells of dwmac-sun8i ARM: dts: sun8i: a83t: Remove unused address-cells/size-cells of dwmac-sun8i dt-bindings: net: dwmac-sun8i: Remove unused address-cells/size-cells ARM: dts: sun8i: h3: Add SRAM controller node and C1 SRAM region ARM: dts: sun8i: a23-a33: Add SRAM controller node and C1 SRAM region ARM: dts: sun7i: Add support for the C1 SRAM region with the SRAM controller ARM: dts: sun5i: Add support for the C1 SRAM region with the SRAM controller ARM: dts: sun7i: Use most-qualified system control compatibles ARM: dts: sun5i: Use most-qualified system control compatibles ARM: dts: sun4i: Switch to new system control compatible string ARM: dts: sun8i: r40: Disable TCONs by default. ARM: dts: sun8i: r40: Add missing TCON-TOP - TCON connections ARM: dts: sun8i: r40: Remove fallback compatible for TCON TV ARM: dts: sun8i: r40: Add mixer ids to TCON TOP ARM: dts: sun8i: r40: Remove fallback display engine compatible ARM: dts: sun8i: a83t: Add CPU regulator supplies for A83T boards ARM: dts: sun8i: r40: Enable HDMI output on BananaPi M2 Ultra ARM: dts: sun8i: r40: Add HDMI pipeline ... Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25Merge tag 'omap-for-v4.19/dt-pt3-signed' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Start using ti-sysc with device tree data for omap4 l4 devices With ti-sysc driver working for most use cases, we can start converting the omap variant SoCs to use device tree data for the interconnect target modules instead of the legacy hwmod platform data. We start with omap4 l4 devices excluding the ones that still depend on a reset controller driver like DSP MMU. And we don't yet convert the l4 ABE instance as that needs a bit more work. We also add a proper interconnect hierarchy for the devices while at it to make further work on genpd easier and to avoid most deferred probe issues. At this point we are not dropping any platform data, and we initially still use it to validate the dts data. Then in later merge cycles we can start dropping the related platform data. * tag 'omap-for-v4.19/dt-pt3-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: dts: omap4: Add l4 ranges for 4460 ARM: dts: omap4: Move l4 child devices to probe them with ti-sysc ARM: dts: omap4: Probe watchdog 3 with ti-sysc ARM: dts: omap4: Add l4 interconnect hierarchy and ti-sysc data dt-bindings: Update omap l4 binding for optional registers Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25Merge tag 'amlogic-dt64-2-1' of ↵Olof Johansson
https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt Amlogic 64-bit DT changes for v4.19, round 2 - new SoC: S905W - new boards: based on S905W: Amlogic P281, Oranth Tanix TX3 Mini - AXG: add DT for new audio clock controller * tag 'amlogic-dt64-2-1' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic: ARM64: dts: meson-gxl: add support for the Oranth Tanix TX3 Mini ARM64: dts: meson-gxl: add support for the S905W SoC and the P281 board dt-bindings: arm: amlogic: Add support for the Oranth Tanix TX3 Mini dt-bindings: arm: amlogic: Add support for GXL S905W and the P281 board dt-bindings: add vendor prefix for Shenzhen Oranth Technology Co., Ltd. ARM64: dts: meson-axg: add the audio clock controller clk: meson: expose GEN_CLK clkid clk: meson-axg: add pcie and mipi clock bindings dt-bindings: clock: add meson axg audio clock controller bindings Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25Merge tag 'renesas-arm-dt-for-v4.19' of ↵Olof Johansson
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Renesas ARM Based SoC DT Updates for v4.19 * RZ/G1C (r8a77470) SoC: Use r8a77470-cpg-mssr binding definitions * Add GR-Peach audio camera shield support with MT9V111 image sensor * Add initial support for RZ/N1D (r9a06g032) SoC and its RZN1D-DB board * Use SPDX identifiers in DT for all SoCs and boards * Add missing OPP properties for all CPUs on various SoCs * Add missing PMIC nodes to R-Car Gen2 M2-W (r8a7791) based porter board * tag 'renesas-arm-dt-for-v4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: dts: r8a77470: Use r8a77470-cpg-mssr binding definitions ARM: dts: gr-peach: Add GR-Peach audiocamerashield support ARM: dts: Renesas R9A06G032 SMP enable method ARM: dts: Renesas RZN1D-DB Board base file ARM: dts: Renesas R9A06G032 base device tree file ARM: dts: convert to SPDX identifier for Renesas boards ARM: dts: r8a77(43|9[013]): Add missing OPP properties for CPUs ARM: dts: porter: Add missing PMIC nodes Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25Merge branch 'sprd/dt' into next/dtOlof Johansson
* sprd/dt: arm64: dts: sprd: Add one suspend timer arm64: dts: sprd: Add SC27XX ADC device arm64: dts: sprd: Add SC27XX eFuse device arm64: dts: sprd: Add SC27XX vibrator device arm64: dts: sprd: Add SC27XX breathing light controller device Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25arm64: dts: sprd: Add one suspend timerBaolin Wang
On Spreadtrum platform, the current clocksource for timekeeping will be stopped in suspend state, thus add one always-on timer to calculate the suspend time. Signed-off-by: Baolin Wang <baolin.wang@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25arm64: dts: sprd: Add SC27XX ADC deviceBaolin Wang
Add the Spreadtrum SC27XX PMICs ADC device node which contains 32 channels. Signed-off-by: Baolin Wang <baolin.wang@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25arm64: dts: sprd: Add SC27XX eFuse deviceBaolin Wang
This patch adds the eFuse device node for Spreadtrum SC27XX PMICs. The SC27XX eFuse contains 32 blocks and each block's data width is 16 bits. Signed-off-by: Baolin Wang <baolin.wang@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25arm64: dts: sprd: Add SC27XX vibrator deviceBaolin Wang
This patch adds the vibrator device node for Spreadtrum SC27XX PMICs. Signed-off-by: Baolin Wang <baolin.wang@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25arm64: dts: sprd: Add SC27XX breathing light controller deviceBaolin Wang
The SC27xx breathing light controller can support 3 outputs: red LED, green LED and blue LED. Signed-off-by: Baolin Wang <baolin.wang@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25Merge tag 'qcom-dts-for-4.19' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt Qualcomm Device Tree Changes for v4.19 * Add missing OPPs on IPQ4019 * Fix sdhci l20 load on Hammerhead * Use proper IRQ macros for IPQ8064 interrupts * tag 'qcom-dts-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux: ARM: dts: qcom: Add missing OPP properties for CPUs ARM: dts: qcom: msm8974-hammerhead: increase load on l20 for sdhci ARM: dts: qcom: Fix 'interrupts = <>' property to use proper macros Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25Merge tag 'qcom-arm64-for-4.19' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt Qualcomm ARM64 Updates for v4.19 * Add support for PM8005/PM8998 and related nodes * Add/fix nodes on SDM845 for I2c, SPI, UART, and RPMH * Fix BT LED trigger on DB410c * Drop legacy clock names on MSM8916 * Add gpio line names on DB820c * tag 'qcom-arm64-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux: arm64: dts: qcom: db410c: Fix Bluetooth LED trigger arm64: dts: sdm845: Default qupv3_id_0 as "disabled" like _id_1 arm64: dts: msm8916: drop legacy suffix for clocks used by MSM DRM driver arm64: dts: qcom: db820c: Add gpio-line-names property arm64: dts: sdm845: Add rpmh-clk node arm64: dts: sdm845: Add rpmh-rsc node arm64: dts: qcom: sdm845: Enable debug UART and I2C10 on sdm845-mtp arm64: dts: qcom: sdm845: Add I2C, SPI, and UART9 nodes arm64: dts: qcom: Add pm8005 and pm8998 support arm64: dts: qcom: Add pmu node to sdm845 Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-26KVM: PPC: Book3S HV: Read kvm->arch.emul_smt_mode under kvm->lockPaul Mackerras
Commit 1e175d2 ("KVM: PPC: Book3S HV: Pack VCORE IDs to access full VCPU ID space", 2018-07-25) added code that uses kvm->arch.emul_smt_mode before any VCPUs are created. However, userspace can change kvm->arch.emul_smt_mode at any time up until the first VCPU is created. Hence it is (theoretically) possible for the check in kvmppc_core_vcpu_create_hv() to race with another userspace thread changing kvm->arch.emul_smt_mode. This fixes it by moving the test that uses kvm->arch.emul_smt_mode into the block where kvm->lock is held. Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2018-07-26KVM: PPC: Book3S HV: Allow creating max number of VCPUs on POWER9Paul Mackerras
Commit 1e175d2 ("KVM: PPC: Book3S HV: Pack VCORE IDs to access full VCPU ID space", 2018-07-25) allowed use of VCPU IDs up to KVM_MAX_VCPU_ID on POWER9 in all guest SMT modes and guest emulated hardware SMT modes. However, with the current definition of KVM_MAX_VCPU_ID, a guest SMT mode of 1 and an emulated SMT mode of 8, it is only possible to create KVM_MAX_VCPUS / 2 VCPUS, because threads_per_subcore is 4 on POWER9 CPUs. (Using an emulated SMT mode of 8 is useful when migrating VMs to or from POWER8 hosts.) This increases KVM_MAX_VCPU_ID to 8 * KVM_MAX_VCPUS when HV KVM is configured in, so that a full complement of KVM_MAX_VCPUS VCPUs can be created on POWER9 in all guest SMT modes and emulated hardware SMT modes. Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2018-07-26ARM: config: aspeed: Enable new FSI driversJoel Stanley
This turns on the FSI-attached I2C bus driver, and the ColdFire offloaded FSI master which are new to 4.19. Signed-off-by: Joel Stanley <joel@jms.id.au>
2018-07-26KVM: PPC: Book3S HV: Pack VCORE IDs to access full VCPU ID spaceSam Bobroff
It is not currently possible to create the full number of possible VCPUs (KVM_MAX_VCPUS) on Power9 with KVM-HV when the guest uses fewer threads per core than its core stride (or "VSMT mode"). This is because the VCORE ID and XIVE offsets grow beyond KVM_MAX_VCPUS even though the VCPU ID is less than KVM_MAX_VCPU_ID. To address this, "pack" the VCORE ID and XIVE offsets by using knowledge of the way the VCPU IDs will be used when there are fewer guest threads per core than the core stride. The primary thread of each core will always be used first. Then, if the guest uses more than one thread per core, these secondary threads will sequentially follow the primary in each core. So, the only way an ID above KVM_MAX_VCPUS can be seen, is if the VCPUs are being spaced apart, so at least half of each core is empty, and IDs between KVM_MAX_VCPUS and (KVM_MAX_VCPUS * 2) can be mapped into the second half of each core (4..7, in an 8-thread core). Similarly, if IDs above KVM_MAX_VCPUS * 2 are seen, at least 3/4 of each core is being left empty, and we can map down into the second and third quarters of each core (2, 3 and 5, 6 in an 8-thread core). Lastly, if IDs above KVM_MAX_VCPUS * 4 are seen, only the primary threads are being used and 7/8 of the core is empty, allowing use of the 1, 5, 3 and 7 thread slots. (Strides less than 8 are handled similarly.) This allows the VCORE ID or offset to be calculated quickly from the VCPU ID or XIVE server numbers, without access to the VCPU structure. [paulus@ozlabs.org - tidied up comment a little, changed some WARN_ONCE to pr_devel, wrapped line, fixed id check.] Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2018-07-26bpf, x32: Fix regression caused by commit 24dea04767e6Wang YanQing
Commit 24dea04767e6 ("bpf, x32: remove ld_abs/ld_ind") removed the 4 /* Extra space for skb_copy_bits buffer */ from _STACK_SIZE, but it didn't fix the concerned code in emit_prologue and emit_epilogue, and this error will bring very strange kernel runtime errors. This patch fixes it. Fixes: 24dea04767e6 ("bpf, x32: remove ld_abs/ld_ind") Reported-by: Meelis Roos <mroos@linux.ee> Bisected-by: Meelis Roos <mroos@linux.ee> Signed-off-by: Wang YanQing <udknight@gmail.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
2018-07-25arm64: fix vmemmap BUILD_BUG_ON() triggering on !vmemmap setupsJohannes Weiner
Arnd reports the following arm64 randconfig build error with the PSI patches that add another page flag: /git/arm-soc/arch/arm64/mm/init.c: In function 'mem_init': /git/arm-soc/include/linux/compiler.h:357:38: error: call to '__compiletime_assert_618' declared with attribute error: BUILD_BUG_ON failed: sizeof(struct page) > (1 << STRUCT_PAGE_MAX_SHIFT) The additional page flag causes other information stored in page->flags to get bumped into their own struct page member: #if SECTIONS_WIDTH+ZONES_WIDTH+NODES_SHIFT+LAST_CPUPID_SHIFT <= BITS_PER_LONG - NR_PAGEFLAGS #define LAST_CPUPID_WIDTH LAST_CPUPID_SHIFT #else #define LAST_CPUPID_WIDTH 0 #endif #if defined(CONFIG_NUMA_BALANCING) && LAST_CPUPID_WIDTH == 0 #define LAST_CPUPID_NOT_IN_PAGE_FLAGS #endif which in turn causes the struct page size to exceed the size set in STRUCT_PAGE_MAX_SHIFT. This value is an an estimate used to size the VMEMMAP page array according to address space and struct page size. However, the check is performed - and triggers here - on a !VMEMMAP config, which consumes an additional 22 page bits for the sparse section id. When VMEMMAP is enabled, those bits are returned, cpupid doesn't need its own member, and the page passes the VMEMMAP check. Restrict that check to the situation it was meant to check: that we are sizing the VMEMMAP page array correctly. Says Arnd: Further experiments show that the build error already existed before, but was only triggered with larger values of CONFIG_NR_CPU and/or CONFIG_NODES_SHIFT that might be used in actual configurations but not in randconfig builds. With longer CPU and node masks, I could recreate the problem with kernels as old as linux-4.7 when arm64 NUMA support got added. Reported-by: Arnd Bergmann <arnd@arndb.de> Tested-by: Arnd Bergmann <arnd@arndb.de> Cc: stable@vger.kernel.org Fixes: 1a2db300348b ("arm64, numa: Add NUMA support for arm64 platforms.") Fixes: 3e1907d5bf5a ("arm64: mm: move vmemmap region right below the linear region") Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Signed-off-by: Will Deacon <will.deacon@arm.com>
2018-07-25arm64: Check for errata before evaluating cpu featuresDirk Mueller
Since commit d3aec8a28be3b8 ("arm64: capabilities: Restrict KPTI detection to boot-time CPUs") we rely on errata flags being already populated during feature enumeration. The order of errata and features was flipped as part of commit ed478b3f9e4a ("arm64: capabilities: Group handling of features and errata workarounds"). Return to the orginal order of errata and feature evaluation to ensure errata flags are present during feature evaluation. Fixes: ed478b3f9e4a ("arm64: capabilities: Group handling of features and errata workarounds") CC: Suzuki K Poulose <suzuki.poulose@arm.com> CC: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Dirk Mueller <dmueller@suse.com> Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
2018-07-25arm64: dts: meson-axg: add spdif-dit codecJerome Brunet
Add the SPDIF playback codec to the axg s400 board Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-25arm64: dts: meson-axg: add lineout codecJerome Brunet
Add the es7154 digital to analog converter which supplies the lienout jack of the s400 Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-25arm64: dts: meson-axg: add linein codecJerome Brunet
Add the es7241 analog to digital converter which is fed by the lienin jack of the s400 Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-25arm64: dts: meson-axg: add tdm interfacesJerome Brunet
Add the devices reponsible for managing the i2s/tdm clocks and pads Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-25arm64: dts: meson-axg: add tdmout formattersJerome Brunet
Add the tdm devices responsible for serializing audio samples for i2s/tdm interfaces Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-25arm64: dts: meson-axg: add tdmin formattersJerome Brunet
Add the tdm devices responsible for decoding the data provided through audio serial interface. Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-25arm64: dts: meson-axg: add spdifoutJerome Brunet
Add the SPDIF output device of the axg audio subsystem Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-07-25nios2: use generic dma_noncoherent_opsChristoph Hellwig
Switch to the generic noncoherent direct mapping implementation. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Ley Foon Tan <ley.foon.tan@intel.com> Tested-by: Ley Foon Tan <ley.foon.tan@intel.com>
2018-07-25arm64: dts: rockchip: add led support for Firefly-RK3399Shohei Maruyama
This commit adds led support for the Firefly-RK3399. The board has two leds, this commit enables them. Signed-off-by: Shohei Maruyama <cheat.sc.linux@outlook.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-07-25arm64: dts: rockchip: remove deprecated Type-C PHY properties on rk3399Enric Balletbo i Serra
Commit 0fbc47d9e426 ("phy: rockchip-typec: deprecate some DT properties for various register fields.") deprecates some Rockchip Type-C properties. As these are now not needed, remove from the device tree file. Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-07-25arm64: dts: rockchip: add power button support for Firefly-RK3399Shohei Maruyama
This commit adds power button support for the Firefly-RK3399. Signed-off-by: Shohei Maruyama <cheat.sc.linux@outlook.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-07-25arm/asm/tlb.h: Fix build error implicit func declarationAnders Roxell
Building on arm 32 with LPAE enabled we don't include asm-generic/tlb.h, where we have tlb_flush_remove_tables_local and tlb_flush_remove_tables defined. The build fails with: mm/memory.c: In function ‘tlb_remove_table_smp_sync’: mm/memory.c:339:2: error: implicit declaration of function ‘tlb_flush_remove_tables_local’; did you mean ‘tlb_remove_table’? [-Werror=implicit-function-declaration] ... This bug got introduced in: 2ff6ddf19c0e ("x86/mm/tlb: Leave lazy TLB mode at page table free time") To fix this issue we define them in arm 32's specific asm/tlb.h file as well. Signed-off-by: Anders Roxell <anders.roxell@linaro.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: dave.hansen@intel.com Cc: linux-arm-kernel@lists.infradead.org Cc: linux@armlinux.org.uk Cc: riel@surriel.com Cc: songliubraving@fb.com Fixes: 2ff6ddf19c0e ("x86/mm/tlb: Leave lazy TLB mode at page table free time") Link: http://lkml.kernel.org/r/20180725095557.19668-1-anders.roxell@linaro.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-07-25x86/boot: Fix if_changed build flip/flop bugKees Cook
Dirk Gouders reported that two consecutive "make" invocations on an already compiled tree will show alternating behaviors: $ make CALL scripts/checksyscalls.sh DESCEND objtool CHK include/generated/compile.h DATAREL arch/x86/boot/compressed/vmlinux Kernel: arch/x86/boot/bzImage is ready (#48) Building modules, stage 2. MODPOST 165 modules $ make CALL scripts/checksyscalls.sh DESCEND objtool CHK include/generated/compile.h LD arch/x86/boot/compressed/vmlinux ZOFFSET arch/x86/boot/zoffset.h AS arch/x86/boot/header.o LD arch/x86/boot/setup.elf OBJCOPY arch/x86/boot/setup.bin OBJCOPY arch/x86/boot/vmlinux.bin BUILD arch/x86/boot/bzImage Setup is 15644 bytes (padded to 15872 bytes). System is 6663 kB CRC 3eb90f40 Kernel: arch/x86/boot/bzImage is ready (#48) Building modules, stage 2. MODPOST 165 modules He bisected it back to: commit 98f78525371b ("x86/boot: Refuse to build with data relocations") The root cause was the use of the "if_changed" kbuild function multiple times for the same target. It was designed to only be used once per target, otherwise it will effectively always trigger, flipping back and forth between the two commands getting recorded by "if_changed". Instead, this patch merges the two commands into a single function to get stable build artifacts (i.e. .vmlinux.cmd), and a single build behavior. Bisected-and-Reported-by: Dirk Gouders <dirk@gouders.net> Fix-Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Kees Cook <keescook@chromium.org> Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20180724230827.GA37823@beast Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-07-25locking/atomics: Rework ordering barriersMark Rutland
Currently architectures can override __atomic_op_*() to define the barriers used before/after a relaxed atomic when used to build acquire/release/fence variants. This has the unfortunate property of requiring the architecture to define the full wrapper for the atomics, rather than just the barriers they care about, and gets in the way of generating atomics which can be easily read. Instead, this patch has architectures define an optional set of barriers: * __atomic_acquire_fence() * __atomic_release_fence() * __atomic_pre_full_fence() * __atomic_post_full_fence() ... which <linux/atomic.h> uses to build the wrappers. It would be nice if we could undef these, along with the __atomic_op_*() wrappers, but that would break the cmpxchg() wrappers, which are written in preprocessor. Undefs would have been nice, but alas. There should be no functional change as a result of this patch. Signed-off-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Will Deacon <will.deacon@arm.com> Cc: Andrea Parri <parri.andrea@gmail.com> Cc: Boqun Feng <boqun.feng@gmail.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: andy.shevchenko@gmail.com Cc: arnd@arndb.de Cc: aryabinin@virtuozzo.com Cc: catalin.marinas@arm.com Cc: dvyukov@google.com Cc: glider@google.com Cc: linux-arm-kernel@lists.infradead.org Cc: peter@hurleysoftware.com Link: http://lkml.kernel.org/r/20180716113017.3909-7-mark.rutland@arm.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-07-25locking/atomics: Instrument xchg()Mark Rutland
While we instrument all of the (non-relaxed) atomic_*() functions and cmpxchg(), we missed xchg(). Let's add instrumentation for xchg(), fixing up x86 to implement arch_xchg(). Signed-off-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Will Deacon <will.deacon@arm.com> Cc: Boqun Feng <boqun.feng@gmail.com> Cc: Dmitry Vyukov <dvyukov@google.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: andy.shevchenko@gmail.com Cc: arnd@arndb.de Cc: aryabinin@virtuozzo.com Cc: catalin.marinas@arm.com Cc: glider@google.com Cc: linux-arm-kernel@lists.infradead.org Cc: parri.andrea@gmail.com Cc: peter@hurleysoftware.com Link: http://lkml.kernel.org/r/20180716113017.3909-5-mark.rutland@arm.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-07-25locking/atomics/x86: Reduce arch_cmpxchg64*() instrumentationMark Rutland
Currently x86's arch_cmpxchg64() and arch_cmpxchg64_local() are instrumented twice, as they call into instrumented atomics rather than their arch_ equivalents. A call to cmpxchg64() results in: cmpxchg64() kasan_check_write() arch_cmpxchg64() cmpxchg() kasan_check_write() arch_cmpxchg() Let's fix this up and call the arch_ equivalents, resulting in: cmpxchg64() kasan_check_write() arch_cmpxchg64() arch_cmpxchg() Signed-off-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Will Deacon <will.deacon@arm.com> Cc: Boqun Feng <boqun.feng@gmail.com> Cc: Dmitry Vyukov <dvyukov@google.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: andy.shevchenko@gmail.com Cc: arnd@arndb.de Cc: aryabinin@virtuozzo.com Cc: catalin.marinas@arm.com Cc: glider@google.com Cc: linux-arm-kernel@lists.infradead.org Cc: parri.andrea@gmail.com Cc: peter@hurleysoftware.com Link: http://lkml.kernel.org/r/20180716113017.3909-3-mark.rutland@arm.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-07-25perf/x86/intel: Support Extended PEBS for Goldmont PlusKan Liang
Enable the extended PEBS for Goldmont Plus. There is no specific PEBS constrains for Goldmont Plus. Removing the pebs_constraints for Goldmont Plus. Signed-off-by: Kan Liang <kan.liang@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vince Weaver <vincent.weaver@maine.edu> Cc: acme@kernel.org Link: http://lkml.kernel.org/r/20180309021542.11374-4-kan.liang@linux.intel.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-07-25perf/x86/intel/ds: Handle PEBS overflow for fixed countersKan Liang
The pebs_drain() need to support fixed counters. The DS Save Area now include "counter reset value" fields for each fixed counters. Extend the related variables (e.g. mask, counters, error) to support fixed counters. There is no extended PEBS in PEBS v2 and earlier PEBS format. Only need to change the code for PEBS v3 and later PEBS format. Extend the pebs_event_reset[] logic to support new "counter reset value" fields. Increase the reserve space for fixed counters. Based-on-code-from: Andi Kleen <ak@linux.intel.com> Signed-off-by: Kan Liang <kan.liang@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vince Weaver <vincent.weaver@maine.edu> Cc: acme@kernel.org Link: http://lkml.kernel.org/r/20180309021542.11374-3-kan.liang@linux.intel.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-07-25perf/x86/intel: Support PEBS on fixed countersKan Liang
The Extended PEBS feature supports PEBS on fixed-function performance counters as well as all four general purpose counters. It has to change the order of PEBS and fixed counter enabling to make sure PEBS is enabled for the fixed counters. The change of the order doesn't impact the behavior of current code on other platforms which don't support extended PEBS. Because there is no dependency among those enable/disable functions. Don't enable IRQ generation (0x8) for MSR_ARCH_PERFMON_FIXED_CTR_CTRL. The PEBS ucode will handle the interrupt generation. Based-on-code-from: Andi Kleen <ak@linux.intel.com> Signed-off-by: Kan Liang <kan.liang@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vince Weaver <vincent.weaver@maine.edu> Cc: acme@kernel.org Link: http://lkml.kernel.org/r/20180309021542.11374-2-kan.liang@linux.intel.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-07-25perf/x86/intel: Introduce PMU flag for Extended PEBSKan Liang
The Extended PEBS feature, introduced in the Goldmont Plus microarchitecture, supports all events as "Extended PEBS". Introduce flag PMU_FL_PEBS_ALL to indicate the platforms which support extended PEBS. To support all events, it needs to support all constraints for PEBS. To avoid duplicating all the constraints in the PEBS table, making the PEBS code search the normal constraints too. Based-on-code-from: Andi Kleen <ak@linux.intel.com> Signed-off-by: Kan Liang <kan.liang@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vince Weaver <vincent.weaver@maine.edu> Cc: acme@kernel.org Link: http://lkml.kernel.org/r/20180309021542.11374-1-kan.liang@linux.intel.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-07-25Merge branch 'perf/urgent' into perf/core, to pick up fixesIngo Molnar
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-07-25perf/x86/intel: Fix unwind errors from PEBS entries (mk-II)Peter Zijlstra
Vince reported the perf_fuzzer giving various unwinder warnings and Josh reported: > Deja vu. Most of these are related to perf PEBS, similar to the > following issue: > > b8000586c90b ("perf/x86/intel: Cure bogus unwind from PEBS entries") > > This is basically the ORC version of that. setup_pebs_sample_data() is > assembling a franken-pt_regs which ORC isn't happy about. RIP is > inconsistent with some of the other registers (like RSP and RBP). And where the previous unwinder only needed BP,SP ORC also requires IP. But we cannot spoof IP because then the sample will get displaced, entirely negating the point of PEBS. So cure the whole thing differently by doing the unwind early; this does however require a means to communicate we did the unwind early. We (ab)use an unused sample_type bit for this, which we set on events that fill out the data->callchain before the normal perf_prepare_sample(). Debugged-by: Josh Poimboeuf <jpoimboe@redhat.com> Reported-by: Vince Weaver <vincent.weaver@maine.edu> Tested-by: Josh Poimboeuf <jpoimboe@redhat.com> Tested-by: Prashant Bhole <bhole_prashant_q7@lab.ntt.co.jp> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andy Lutomirski <luto@kernel.org> Cc: Arnaldo Carvalho de Melo <acme@kernel.org> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-07-25Merge branch 'sched/urgent' into sched/core, to pick up fixesIngo Molnar
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-07-25locking/pvqspinlock/x86: Use LOCK_PREFIX in __pv_queued_spin_unlock() ↵Waiman Long
assembly code The LOCK_PREFIX macro should be used in the __raw_callee_save___pv_queued_spin_unlock() assembly code, so that the lock prefix can be patched out on UP systems. Signed-off-by: Waiman Long <longman@redhat.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Joe Mario <jmario@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Will Deacon <will.deacon@arm.com> Link: http://lkml.kernel.org/r/1531858560-21547-1-git-send-email-longman@redhat.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-07-25ARM: dts: aspeed: Add coprocessor interrupt controllerBenjamin Herrenschmidt
Add a node for the CVIC (the coprocessor interrupt controller) and add a label to the SRAM node so it can be referenced from the board device-tree file. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Joel Stanley <joel@jms.id.au>
2018-07-25microblaze: add endianness options to LDFLAGS instead of LDMasahiro Yamada
With the recent syntax extension, Kconfig is now able to evaluate the compiler / toolchain capability. However, accumulating flags to 'LD' is not compatible with the way it works; 'LD' must be passed to Kconfig to call $(ld-option,...) from Kconfig files. If you tweak 'LD' in arch Makefile depending on CONFIG_CPU_BIG_ENDIAN, this would end up with circular dependency between Makefile and Kconfig. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>