summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2018-09-28nios2: get cpu node with of_get_cpu_nodeRob Herring
"device_type" use is deprecated for FDT though it has continued to be used for nodes like cpu nodes. Use of_get_cpu_node() instead which works using node names by default. This will allow the eventually removal of cpu device_type properties. Also, fix a leaked reference by adding a missing of_node_put. Cc: Ley Foon Tan <lftan@altera.com> Cc: nios2-dev@lists.rocketboards.org Signed-off-by: Rob Herring <robh@kernel.org>
2018-09-28c6x: use for_each_of_cpu_node iteratorRob Herring
Use the for_each_of_cpu_node iterator to iterate over cpu nodes. This has the side effect of defaulting to iterating using "cpu" node names in preference to the deprecated (for FDT) device_type == "cpu". Cc: Mark Salter <msalter@redhat.com> Cc: Aurelien Jacquiot <jacquiot.aurelien@gmail.com> Cc: linux-c6x-dev@linux-c6x.org Signed-off-by: Rob Herring <robh@kernel.org>
2018-09-28arm64: use for_each_of_cpu_node iteratorRob Herring
Use the for_each_of_cpu_node iterator to iterate over cpu nodes. This has the side effect of defaulting to iterating using "cpu" node names in preference to the deprecated (for FDT) device_type == "cpu". Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: linux-arm-kernel@lists.infradead.org Acked-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Rob Herring <robh@kernel.org>
2018-09-28ARM: shmobile: use for_each_of_cpu_node iteratorRob Herring
Use the for_each_of_cpu_node iterator to iterate over cpu nodes. This has the side effect of defaulting to iterating using "cpu" node names in preference to the deprecated (for FDT) device_type == "cpu". Cc: Magnus Damm <magnus.damm@gmail.com> Cc: Russell King <linux@armlinux.org.uk> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-renesas-soc@vger.kernel.org Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Simon Horman <horms+renesas@verge.net.au> Signed-off-by: Rob Herring <robh@kernel.org>
2018-09-28ARM: topology: remove unneeded check for /cpus nodeRob Herring
Checking for "/cpus" node is not necessary as of_get_cpu_node() will fail later on anyways. The call to of_find_node_by_path() also leaks a reference. So just remove the check. Cc: Russell King <linux@armlinux.org.uk> Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: Rob Herring <robh@kernel.org>
2018-09-28ARM: use for_each_of_cpu_node iteratorRob Herring
Use the for_each_of_cpu_node iterator to iterate over cpu nodes. This has the side effect of defaulting to iterating using "cpu" node names in preference to the deprecated (for FDT) device_type == "cpu". Cc: Russell King <linux@armlinux.org.uk> Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: Rob Herring <robh@kernel.org>
2018-09-28MIPS: Fix CONFIG_CMDLINE handlingPaul Burton
Commit 8ce355cf2e38 ("MIPS: Setup boot_command_line before plat_mem_setup") fixed a problem for systems which have CONFIG_CMDLINE_BOOL=y & use a DT with a chosen node that has either no bootargs property or an empty one. In this configuration early_init_dt_scan_chosen() copies CONFIG_CMDLINE into boot_command_line, but the MIPS code doesn't know this so it appends CONFIG_CMDLINE (via builtin_cmdline) to boot_command_line again. The result is that boot_command_line contains the arguments from CONFIG_CMDLINE twice. That commit took the approach of simply setting up boot_command_line from the MIPS code before early_init_dt_scan_chosen() runs, causing it not to copy CONFIG_CMDLINE to boot_command_line if a chosen node with no bootargs property is found. Unfortunately this is problematic for systems which do have a non-empty bootargs property & CONFIG_CMDLINE_BOOL=y. There early_init_dt_scan_chosen() will overwrite boot_command_line with the arguments from DT, which means we lose those from CONFIG_CMDLINE entirely. This breaks CONFIG_MIPS_CMDLINE_DTB_EXTEND. If we have CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER or CONFIG_MIPS_CMDLINE_BUILTIN_EXTEND selected and the DT has a bootargs property which we should ignore, it will instead be honoured breaking those configurations too. Fix this by reverting commit 8ce355cf2e38 ("MIPS: Setup boot_command_line before plat_mem_setup") to restore the former behaviour, and fixing the CONFIG_CMDLINE duplication issue by initializing boot_command_line to a non-empty string that early_init_dt_scan_chosen() will not overwrite with CONFIG_CMDLINE. This is a little ugly, but cleanup in this area is on its way. In the meantime this is at least easy to backport & contains the ugliness within arch/mips/. Signed-off-by: Paul Burton <paul.burton@mips.com> Fixes: 8ce355cf2e38 ("MIPS: Setup boot_command_line before plat_mem_setup") References: https://patchwork.linux-mips.org/patch/18804/ Patchwork: https://patchwork.linux-mips.org/patch/20813/ Cc: Frank Rowand <frowand.list@gmail.com> Cc: Jaedon Shin <jaedon.shin@gmail.com> Cc: Mathieu Malaterre <malat@debian.org> Cc: Rob Herring <robh+dt@kernel.org> Cc: devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-mips@linux-mips.org Cc: stable@vger.kernel.org # v4.16+
2018-09-28MIPS: VDSO: Always map near top of user memoryPaul Burton
When using the legacy mmap layout, for example triggered using ulimit -s unlimited, get_unmapped_area() fills memory from bottom to top starting from a fairly low address near TASK_UNMAPPED_BASE. This placement is suboptimal if the user application wishes to allocate large amounts of heap memory using the brk syscall. With the VDSO being located low in the user's virtual address space, the amount of space available for access using brk is limited much more than it was prior to the introduction of the VDSO. For example: # ulimit -s unlimited; cat /proc/self/maps 00400000-004ec000 r-xp 00000000 08:00 71436 /usr/bin/coreutils 004fc000-004fd000 rwxp 000ec000 08:00 71436 /usr/bin/coreutils 004fd000-0050f000 rwxp 00000000 00:00 0 00cc3000-00ce4000 rwxp 00000000 00:00 0 [heap] 2ab96000-2ab98000 r--p 00000000 00:00 0 [vvar] 2ab98000-2ab99000 r-xp 00000000 00:00 0 [vdso] 2ab99000-2ab9d000 rwxp 00000000 00:00 0 ... Resolve this by adjusting STACK_TOP to reserve space for the VDSO & providing an address hint to get_unmapped_area() causing it to use this space even when using the legacy mmap layout. We reserve enough space for the VDSO, plus 1MB or 256MB for 32 bit & 64 bit systems respectively within which we randomize the VDSO base address. Previously this randomization was taken care of by the mmap base address randomization performed by arch_mmap_rnd(). The 1MB & 256MB sizes are somewhat arbitrary but chosen such that we have some randomization without taking up too much of the user's virtual address space, which is often in short supply for 32 bit systems. With this the VDSO is always mapped at a high address, leaving lots of space for statically linked programs to make use of brk: # ulimit -s unlimited; cat /proc/self/maps 00400000-004ec000 r-xp 00000000 08:00 71436 /usr/bin/coreutils 004fc000-004fd000 rwxp 000ec000 08:00 71436 /usr/bin/coreutils 004fd000-0050f000 rwxp 00000000 00:00 0 00c28000-00c49000 rwxp 00000000 00:00 0 [heap] ... 7f67c000-7f69d000 rwxp 00000000 00:00 0 [stack] 7f7fc000-7f7fd000 rwxp 00000000 00:00 0 7fcf1000-7fcf3000 r--p 00000000 00:00 0 [vvar] 7fcf3000-7fcf4000 r-xp 00000000 00:00 0 [vdso] Signed-off-by: Paul Burton <paul.burton@mips.com> Reported-by: Huacai Chen <chenhc@lemote.com> Fixes: ebb5e78cc634 ("MIPS: Initial implementation of a VDSO") Cc: Huacai Chen <chenhc@lemote.com> Cc: linux-mips@linux-mips.org Cc: stable@vger.kernel.org # v4.4+
2018-09-28ARM: dts: omap5: enable OTG role for DWC3 controllerH. Nikolaus Schaller
Since SMPS10 and OTG cable detection extcon are described here, and work to enable OTG power when an OTG cable is plugged in, we can define OTG mode in the controller (which is disabled by default in omap5.dtsi). Tested on OMAP5EVM and Pyra. Suggested-by: Roger Quadros <rogerq@ti.com> Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2018-09-28ARM: dts: dra7: Enable workaround for errata i870 in PCIe host modeVignesh R
Add ti,syscon-unaligned-access property to PCIe RC nodes to set appropriate bits in CTRL_CORE_SMA_SW_7 register to enable workaround for errata i870. Signed-off-by: Vignesh R <vigneshr@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2018-09-28ARM: dts: dra7: Fix up unaligned access setting for PCIe EPVignesh R
Bit positions of PCIE_SS1_AXI2OCP_LEGACY_MODE_ENABLE and PCIE_SS1_AXI2OCP_LEGACY_MODE_ENABLE in CTRL_CORE_SMA_SW_7 are incorrectly documented in the TRM. In fact, the bit positions are swapped. Update the DT bindings for PCIe EP to reflect the same. Fixes: d23f3839fe97 ("ARM: dts: DRA7: Add pcie1 dt node for EP mode") Cc: stable@vger.kernel.org Signed-off-by: Vignesh R <vigneshr@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2018-09-28MIPS: stop using _PTRS_PER_PGDAlexandre Belloni
gcc 3.3 has been retired for a while, use PTRS_PER_PGD and remove the asm-offsets.h inclusion. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Paul Burton <paul.burton@mips.com> Patchwork: https://patchwork.linux-mips.org/patch/20814/ Cc: James Hogan <jhogan@kernel.org> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org
2018-09-28MIPS: kdump: Mark cpu back online before rebootingDengcheng Zhu
The crash utility initializes cpu state by reading the system kernel memory, which is copied into vmcore. It is also natural to preserve the online state for CPUs at crash. Failing to do so could make the analysis tool present info for only 1 CPU by default, and unable to find panic task. Signed-off-by: Dengcheng Zhu <dzhu@wavecomp.com> Signed-off-by: Paul Burton <paul.burton@mips.com> Patchwork: https://patchwork.linux-mips.org/patch/20809/ Cc: Paul Burton <pburton@wavecomp.com> Cc: "ralf@linux-mips.org" <ralf@linux-mips.org> Cc: "linux-mips@linux-mips.org" <linux-mips@linux-mips.org> Cc: "rachel.mozes@intel.com" <rachel.mozes@intel.com>
2018-09-28Merge tag 'renesas-arm-defconfig-for-v4.20' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig Renesas ARM Based SoC Defconfig Updates for v4.20 * shmobile and multi_v7 defconfigs: - Enable recently upstreamed r8a7744 SoC - Enable FDP1 (Fine Display processor) present on R-Car Gen2 and RZ/G1 SoCs * shmobile defconfig (only): - Refresh for v4.19-rc1 - Remove soon to be deprecated SOC_CAMERA * tag 'renesas-arm-defconfig-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: defconfig: Enable r8a7744 SoC ARM: multi_v7_defconfig: Enable r8a7744 SoC ARM: multi_v7_defconfig: Enable VIDEO_RENESAS_FDP1 ARM: shmobile: defconfig: Enable VIDEO_RENESAS_FDP1 ARM: shmobile: defconfig: Refresh shmobile_defconfig for v4.19-rc1 ARM: shmobile: defconfig: Remove SOC_CAMERA Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28Merge tag 'renesas-arm64-defconfig-for-v4.20' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig Renesas ARM64 Based SoC Defconfig Updates for v4.20 * Enable recently upstreamed RZ/G2E (r8a774c0) and RZ/G2M (r8a774a1) SoCs * tag 'renesas-arm64-defconfig-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: arm64: defconfig: enable R8A774C0 SoC arm64: defconfig: enable R8A774A1 SoC Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28Merge tag 'omap-for-v4.20/omap1-signed' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc A series of omap1 gpio changes for ams-delta Janusz Krzysztofik has cleaned up ams-delta gpio usage along with generic gpio framework improvments. This series contains the omap1 specific clean-up for ams-delta modem and unused gpios. Note that this conflicts with the gpio-omap changes queued into an immutable gpio branch ib-omap for the gpio-omap.h header file. The merge resolution is to drop the IS_BUILTIN(CONFIG_GPIO_OMAP) section and keep the #endif tagged for __ASSEMBLER__. * tag 'omap-for-v4.20/omap1-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP1: ams-delta: Don't request unused GPIOs ARM: OMAP1: ams-delta-fiq: Use <linux/platform_data/gpio-omap.h> ARM: OMAP1: ams-delta: register MODEM device earlier ARM: OMAP1: ams-delta: initialize latch2 pins to safe values ARM: OMAP1: ams-delta: assign MODEM IRQ from GPIO descriptor Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28Merge tag 'omap-for-v4.20/soc-signed' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc SoC changes for omap variants These changes improve support for clkctrl clocks to deal with split memory ranges for clkctrl providers. And to use %pOFn instead of device_node.name. * tag 'omap-for-v4.20/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: Convert to using %pOFn instead of device_node.name ARM: OMAP2+: hwmod_core: improve the support for clkctrl clocks Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28ARM: support big-endian for the virt architectureJason A. Donenfeld
This architecture, used for running in QEMU, runs just fine when compiled in big-endian mode. So enable it. This is enabled in exactly the same way that it is for other platforms (such as vexpress) that also support big-endian mode in QEMU successfully. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28Merge tag 'renesas-arm-dt2-for-v4.20' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Second Round of Renesas ARM Based SoC DT Updates for v4.20 * RZ/G1M (r8a7743) based iWave G20D-Q7 board and camera daughter board - Move PCIe node out of common dtsi to allow reuse of the common dtsi on the iWave RZ/G1N board * RZ/G1C (r8a77470) SoC: Add I2C4, SDHI2 and SMP support * R-Car Gen1 based boards and R-Car Gen2 SoCs: - Enhance top-of-file comments to include SoC name * RZ/N1D (r9a06g032) SoC: - Correct UART0 description and add all other UARTs * tag 'renesas-arm-dt2-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: dts: iwg20d-q7-common: Move pciec node out of common dtsi ARM: dts: r8a77470: Add I2C4 support ARM: dts: r8a77470: Add SDHI2 support ARM: dts: r8a77470: Add SMP support ARM: dts: R-Car Gen1 board comment update ARM: dts: Include R-Car Gen2 product name in DTSI files ARM: dts: r9a06g032: Correct UART and add all other UARTs Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28Merge tag 'renesas-arm64-dt2-for-v4.20' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Second Round of Renesas ARM64 Based SoC DT Updates for v4.20 * Remove unneeded status from thermal nodes * R-Car Gen 3 SoCs: - Use 400kHz for I2C DVFS bus - Revise USB2.0 properties * R-Car Gen 3 SoC based ULCB boards: Add default bootargs * R-Car M3-N (r8a77965) SoC based boards: Enable audio with DMA * R-Car V3M (r8a77970 and V3H (r8a77980) SoCs: - Add compare match timer (CMT) support - Add timer pulse unit (TPU) support * R-Car V3H (r8a77980) and E3 (r8a77990) SoCs: - Attach the SYS-DMAC to the IPMMU * E3 (r8a77990) SoC: Add display output support * R-Car E3 (r8a77990) based Ebisu board: - Enable HDMI and CVBS input, and VGA and HDMI display output * R-Car D3 (r8a77995) SoC: Add LVDS support * R-Car D3 (r8a77995) based Draak board: Enable HDMI display output * tag 'renesas-arm64-dt2-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: arm64: dts: renesas: r8a77965: Add Sound and Audio DMAC device nodes arm64: dts: renesas: r8a77995: draak: Enable HDMI display output arm64: dts: renesas: r8a77990: ebisu: Enable VGA and HDMI outputs arm64: dts: renesas: r8a77995: Add LVDS support arm64: dts: renesas: r8a77990: Add display output support arm64: dts: renesas: r8a779{7|8}0: add TPU support arm64: dts: renesas: revise properties for R-Car Gen3 SoCs' usb 2.0 arm64: dts: renesas: ulcb: add default bootargs arm64: dts: renesas: r8a779{7|8}0: add CMT support arm64: dts: renesas: gen3: use 400kHz for I2C DVFS bus arm64: dts: renesas: r8a77980: Attach the SYS-DMAC to the IPMMU arm64: dts: renesas: r8a77990: Attach the SYS-DMAC to the IPMMU arm64: dts: renesas: ebisu: Add HDMI and CVBS input arm64: dts: renesas: Remove unneeded status from thermal nodes Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28Merge tag 'tegra-for-4.20-arm64-dt' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt arm64: tegra: Device tree changes for v4.20-rc1 This contains mostly device tree changes to support faster SDHCI modes on Tegra210 and Tegra186. * tag 'tegra-for-4.20-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: arm64: tegra: I2C on Tegra194 is not compatible with Tegra114 arm64: dts: tegra186: Enable HS400 arm64: dts: tegra210: Enable HS400 arm64: dts: tegra186: Add SDMMC4 DQS trim value arm64: dts: tegra210: Add SDMMC4 DQS trim value arm64: dts: tegra186: Assign clocks for sdmmc1 and sdmmc4 arm64: dts: tegra210: Assign clocks for sdmmc1 and sdmmc4 arm64: dts: tegra186: Add SDHCI tap and trim values arm64: dts: tegra210: Add SDHCI tap and trim values arm64: dts: tegra186: Add sdmmc pad auto calibration offsets arm64: dts: tegra210: Add sdmmc pad auto calibration offsets arm64: dts: tegra210-p2597: Remove no-1-8-v from sdmmc1 arm64: dts: tegra210-p2180: Correct sdmmc4 vqmmc-supply arm64: dts: tegra210-p2180: Allow ldo2 to go down to 1.8 V arm64: dts: Add Tegra186 sdmmc pinctrl voltage states arm64: dts: Add Tegra210 sdmmc pinctrl voltage states Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28Merge tag 'tegra-for-4.20-arm-dt' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt ARM: tegra: Device tree changes for v4.20-rc1 This contains a massive amount of changes from Marcel Ziswiler for various boards by Toradex. * tag 'tegra-for-4.20-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: (129 commits) ARM: dts: paz00: fix wakeup gpio keycode ARM: tegra: tegra20: Fix mixed tabs-spaces indentation ARM: tegra: colibri_t20: add eval board device tree ARM: tegra: colibri_t20: rename ac97 label to tegra_ac97 ARM: tegra: colibri_t20: get rid of fake clocks simple bus ARM: tegra: colibri_t20: rename tps6586x@34 and drop unused pmic label ARM: tegra: colibri_t20: iris: drop unused i2c_ddc label ARM: tegra: colibri_t20: rename i2c_ddc to hdmi_ddc ARM: tegra: colibri_t20: drop module level model and compatible ARM: tegra: colibri_t20: iris: add colibri ssp support ARM: tegra: colibri_t20: iris: simplify model and compatible properties ARM: tegra: colibri_t20: simplify model and compatible properties ARM: tegra: colibri_t20: add compatibility comment ARM: tegra: colibri_t20: annotate/move sd card detect ARM: tegra: colibri_t20: add gpio hogs for gmi_wr_n buffers ARM: tegra: colibri_t20: add gpio hog to unreset usb ethernet chip ARM: tegra: colibri_t20: add i2c-thermtrip ARM: tegra: colibri_t20: annotate/rename lm95245 temperature sensor ARM: tegra: colibri_t20: iris: add dr_mode property ARM: tegra: colibri_t20: iris: add gpio wakeup key ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28block: genhd: add 'groups' argument to device_add_diskHannes Reinecke
Update device_add_disk() to take an 'groups' argument so that individual drivers can register a device with additional sysfs attributes. This avoids race condition the driver would otherwise have if these groups were to be created with sysfs_add_groups(). Signed-off-by: Martin Wilck <martin.wilck@suse.com> Signed-off-by: Hannes Reinecke <hare@suse.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
2018-09-28KVM: s390: CPU model support for AP virtualizationTony Krowiak
Introduces two new CPU model facilities to support AP virtualization for KVM guests: 1. AP Query Configuration Information (QCI) facility is installed. This is indicated by setting facilities bit 12 for the guest. The kernel will not enable this facility for the guest if it is not set on the host. If this facility is not set for the KVM guest, then only APQNs with an APQI less than 16 will be used by a Linux guest regardless of the matrix configuration for the virtual machine. This is a limitation of the Linux AP bus. 2. AP Facilities Test facility (APFT) is installed. This is indicated by setting facilities bit 15 for the guest. The kernel will not enable this facility for the guest if it is not set on the host. If this facility is not set for the KVM guest, then no AP devices will be available to the guest regardless of the guest's matrix configuration for the virtual machine. This is a limitation of the Linux AP bus. Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> Reviewed-by: Halil Pasic <pasic@linux.ibm.com> Reviewed-by: David Hildenbrand <david@redhat.com> Tested-by: Michael Mueller <mimu@linux.ibm.com> Tested-by: Farhan Ali <alifm@linux.ibm.com> Acked-by: Cornelia Huck <cohuck@redhat.com> Message-Id: <20180925231641.4954-26-akrowiak@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2018-09-28KVM: s390: device attrs to enable/disable AP interpretationTony Krowiak
Introduces two new VM crypto device attributes (KVM_S390_VM_CRYPTO) to enable or disable AP instruction interpretation from userspace via the KVM_SET_DEVICE_ATTR ioctl: * The KVM_S390_VM_CRYPTO_ENABLE_APIE attribute enables hardware interpretation of AP instructions executed on the guest. * The KVM_S390_VM_CRYPTO_DISABLE_APIE attribute disables hardware interpretation of AP instructions executed on the guest. In this case the instructions will be intercepted and pass through to the guest. Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Message-Id: <20180925231641.4954-25-akrowiak@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2018-09-28KVM: s390: vsie: allow guest FORMAT-0 CRYCB on host FORMAT-2Pierre Morel
When the guest schedules a SIE with a FORMAT-0 CRYCB, we are able to schedule it in the host with a FORMAT-2 CRYCB if the host uses FORMAT-2 Signed-off-by: Pierre Morel <pmorel@linux.ibm.com> Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com> Message-Id: <20180925231641.4954-24-akrowiak@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2018-09-28KVM: s390: vsie: allow guest FORMAT-1 CRYCB on host FORMAT-2Pierre Morel
When the guest schedules a SIE with a CRYCB FORMAT-1 CRYCB, we are able to schedule it in the host with a FORMAT-2 CRYCB if the host uses FORMAT-2. Signed-off-by: Pierre Morel <pmorel@linux.ibm.com> Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com> Message-Id: <20180925231641.4954-23-akrowiak@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2018-09-28KVM: s390: vsie: allow guest FORMAT-0 CRYCB on host FORMAT-1Pierre Morel
When the guest schedules a SIE with a FORMAT-0 CRYCB, we are able to schedule it in the host with a FORMAT-1 CRYCB if the host uses FORMAT-1 or FORMAT-0. Signed-off-by: Pierre Morel <pmorel@linux.ibm.com> Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com> Message-Id: <20180925231641.4954-22-akrowiak@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2018-09-28KVM: s390: vsie: allow CRYCB FORMAT-0Pierre Morel
When the host and the guest both use a FORMAT-0 CRYCB, we copy the guest's FORMAT-0 APCB to a shadow CRYCB for use by vSIE. Signed-off-by: Pierre Morel <pmorel@linux.ibm.com> Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com> Message-Id: <20180925231641.4954-21-akrowiak@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2018-09-28KVM: s390: vsie: allow CRYCB FORMAT-1Pierre Morel
When the host and guest both use a FORMAT-1 CRYCB, we copy the guest's FORMAT-0 APCB to a shadow CRYCB for use by vSIE. Signed-off-by: Pierre Morel <pmorel@linux.ibm.com> Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com> Message-Id: <20180925231641.4954-20-akrowiak@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2018-09-28KVM: s390: vsie: Allow CRYCB FORMAT-2Pierre Morel
When the guest and the host both use CRYCB FORMAT-2, we copy the guest's FORMAT-1 APCB to a FORMAT-1 shadow APCB. This patch also cleans up the shadow_crycb() function. Signed-off-by: Pierre Morel <pmorel@linux.ibm.com> Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com> Message-Id: <20180925231641.4954-19-akrowiak@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2018-09-28KVM: s390: vsie: Make use of CRYCB FORMAT2 clearPierre Morel
The comment preceding the shadow_crycb function is misleading, we effectively accept FORMAT2 CRYCB in the guest. When using FORMAT2 in the host we do not need to or with FORMAT1. Signed-off-by: Pierre Morel <pmorel@linux.ibm.com> Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com> Reviewed-by: Janosch Frank <frankja@linux.ibm.com> Reviewed-by: David Hildenbrand <david@redhat.com> Message-Id: <20180925231641.4954-18-akrowiak@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2018-09-28KVM: s390: vsie: Do the CRYCB validation firstPierre Morel
We need to handle the validity checks for the crycb, no matter what the settings for the keywrappings are. So lets move the keywrapping checks after we have done the validy checks. Signed-off-by: Pierre Morel <pmorel@linux.ibm.com> Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com> Reviewed-by: Janosch Frank <frankja@linux.ibm.com> Reviewed-by: David Hildenbrand <david@redhat.com> Message-Id: <20180925231641.4954-17-akrowiak@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2018-09-28KVM: s390: Clear Crypto Control Block when using vSIEPierre Morel
When we clear the Crypto Control Block (CRYCB) used by a guest level 2, the vSIE shadow CRYCB for guest level 3 must be updated before the guest uses it. We achieve this by using the KVM_REQ_VSIE_RESTART synchronous request for each vCPU belonging to the guest to force the reload of the shadow CRYCB before rerunning the guest level 3. Signed-off-by: Pierre Morel <pmorel@linux.ibm.com> Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com> Message-Id: <20180925231641.4954-16-akrowiak@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2018-09-28s390: vfio-ap: implement mediated device open callbackTony Krowiak
Implements the open callback on the mediated matrix device. The function registers a group notifier to receive notification of the VFIO_GROUP_NOTIFY_SET_KVM event. When notified, the vfio_ap device driver will get access to the guest's kvm structure. The open callback must ensure that only one mediated device shall be opened per guest. Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com> Acked-by: Halil Pasic <pasic@linux.ibm.com> Tested-by: Michael Mueller <mimu@linux.ibm.com> Tested-by: Farhan Ali <alifm@linux.ibm.com> Tested-by: Pierre Morel <pmorel@linux.ibm.com> Acked-by: Pierre Morel <pmorel@linux.ibm.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Message-Id: <20180925231641.4954-12-akrowiak@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2018-09-28arm64: defconfig: enable Rockchip Innosilicon hdmiphyHeiko Stuebner
The rk3228 and rk3328 socs use an MMIO-connected hdmi-phy from Innosilicon. So enable the necessary driver as module. Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-28arm64: dts: rockchip: enable display nodes on rk3328-rock64Heiko Stuebner
Enable necessary nodes to get output on the hdmi port of the board. Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-28arm64: dts: rockchip: add rk3328 display nodesHeiko Stuebner
Add the chain of display nodes from the core display-subsystem through the one vop to the dw-hdmi output. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Tested-by: Robin Murphy <robin.murphy@arm.com> changes in v3: - drop reg from hdmi-in-port changes in v2: - remove trailing 0 from vop irq
2018-09-28arm64: dts: rockchip: add Innosilicon hdmi phy node to rk3328Heiko Stuebner
The rk3328 uses a hdmiphy from Innosilicon, so add the necessary node to the rk3328 soc devicetree. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Tested-by: Robin Murphy <robin.murphy@arm.com>
2018-09-28Merge tag 'pxa-dt-4.20' of https://github.com/rjarzmik/linux into next/dtArnd Bergmann
This device-tree pxa update brings : - a couple of changes for future pxa2xx platforms - 2 fixes in RTC and I2C domain * tag 'pxa-dt-4.20' of https://github.com/rjarzmik/linux: ARM: dts: pxa: add pincontrol helpers ARM: dts: pxa: fix power i2c base address ARM: dts: pxa: fix the rtc controller ARM: dts: pxa: change serial node names Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28Merge tag 'amlogic-dt64-2' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt Amlogic ARM64 DT updates for v4.20, round 2 - new SoC support: basic support for G12A family - new board: Amlogic U200 board, using G12A SoC - fix SPI bus warnings from new dtc updates * tag 'amlogic-dt64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic: arm64: dts: meson-g12a: add initial g12a s905d2 SoC DT support dt-bindings: arm: amlogic: Add Meson G12A binding arm64: dts: meson: Fix erroneous SPI bus warnings Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28Merge tag 'amlogic-dt' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt ARM: dts: Amlogic updates for v4.20 - fix clock controller register sizes - new board: Endless Mini (EC-100) by Endless Mobile - add voltage regulators * tag 'amlogic-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic: ARM: dts: meson8b: odroidc1: add stdout-path property ARM: dts: meson8b: odroidc1: enable the SAR ADC ARM: dts: meson8b: odroidc1: add the fixed voltage regulators ARM: dts: meson8b: odroidc1: add the CPU voltage regulator ARM: dts: meson8b: Add support for the Endless Mini (EC-100) ARM: dts: meson8b: add the RMII pins ARM: dts: meson8b: add the I2C_A, PWM_C and UART_B pins dt-bindings: arm: amlogic: Add the Endless Mobile Endless Mini (EC-100) dt-bindings: add vendor prefix for "Endless Mobile, Inc." ARM: dts: meson8b: fix the clock controller register size ARM: dts: meson8: fix the clock controller register size Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28Merge tag 'berlin64-dt-for-v4.20' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/jszhang/linux-berlin into next/dt Berlin64 DT changes for v4.20 * tag 'berlin64-dt-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jszhang/linux-berlin: arm64: dts: synaptics: add dtsi file for Synaptics AS370 SoC dt-bindings: arm: syna: add support for the AS370 SoC dt-bindings: arm: move berlin binding documentation to syna.txt Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28Merge tag 'realview-dts-v4.20' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/dt Realview DTS update for v4.20: - One patch from Rob fixing SPI node names * tag 'realview-dts-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator: ARM: dts: realview: Fix SPI controller node names Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28ARM: dts: lpc32xx: Fix SPI controller node namesRob Herring
SPI controller nodes should be named 'spi' rather than 'ssp'. Fixing the name enables dtc SPI bus checks. Cc: Vladimir Zapolskiy <vz@mleia.com> Cc: Sylvain Lemieux <slemieux.tyco@gmail.com> Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28arm64: dts: lg: Fix SPI controller node namesRob Herring
SPI controller nodes should be named 'spi' rather than 'ssp'. Fixing the name enables dtc SPI bus checks. Cc: Chanho Min <chanho.min@lge.com> Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28arm64: dts: amd: Fix SPI bus warningsRob Herring
dtc has new checks for SPI buses. Fix the warnings in node names. arch/arm64/boot/dts/amd/amd-overdrive.dtb: Warning (spi_bus_bridge): /smb/ssp@e1030000: node name for SPI buses should be 'spi' arch/arm64/boot/dts/amd/amd-overdrive-rev-b0.dtb: Warning (spi_bus_bridge): /smb/ssp@e1030000: node name for SPI buses should be 'spi' arch/arm64/boot/dts/amd/amd-overdrive-rev-b1.dtb: Warning (spi_bus_bridge): /smb/ssp@e1030000: node name for SPI buses should be 'spi' Cc: Brijesh Singh <brijeshkumar.singh@amd.com> Cc: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28ARM: dts: iwg20d-q7-common: Move pciec node out of common dtsiBiju Das
PCIe is not populated by default on iWave RZ/G1N board. RZ/G1N board is almost identical to RZ/G1M. In order to reuse the common dtsi for both the boards, it is required to move pcie node from common dtsi to board specific dts. Signed-off-by: Biju Das <biju.das@bp.renesas.com> Reviewed-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2018-09-28ARM: dts: r8a77470: Add I2C4 supportFabrizio Castro
Add I2C4 support to RZ/G1C (a.k.a. r8a77470) SoC specific device tree. Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> Reviewed-by: Biju Das <biju.das@bp.renesas.com> Acked-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2018-09-28ARM: dts: r8a77470: Add SDHI2 supportFabrizio Castro
Add SoC specific device tree definitions for the SDHI2 interface. Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> Reviewed-by: Biju Das <biju.das@bp.renesas.com> Acked-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>