summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2017-04-20m68k/mac: Clarify IOP message alloc/free confusionFinn Thain
The alloc/free metaphor used for IOP messages is misleading and can cause mistakes like the pointless msg2 temporary variable. Use a more meaningful name to help simplify the code. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2017-04-20m68k/mac: Adopt platform_device_register_simple()Finn Thain
These changes save 1014 bytes according to scripts/bloat-o-meter. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2017-04-20m68k/mac: Modernize printing of kernel messagesGeert Uytterhoeven
Convert from printk() to pr_*(). Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> [FT: Adjusted log message severity levels and retained bootinfo log] Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2017-04-20m68k/mac: IOP - Modernize printing of kernel messagesGeert Uytterhoeven
- Introduce helpers for printing debug messages, incl. dummies for validating format strings when debugging is disabled, - Convert from printk() to pr_*(), - Add missing continuations, - Drop superfluous casts. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> [FT: Renamed pr_iop* macros, adjusted log message severity and eliminated DEBUG_IOP] Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2017-04-20powerpc/64s: Use relon prolog for EXC_VIRT_OOL_MASKABLE_HV handlersNicholas Piggin
Hypervisor Virtualization and Directed Hypervisor Doorbell interrupt handlers use the macro EXC_VIRT_OOL_MASKABLE_HV for their relocation-on handlers, which calls MASKABLE_RELON_EXCEPTION_HV_OOL, which uses the *real mode* interrupt prolog. This means we needlessly rfid from virtual mode to virtual mode. For POWER8 it only affects doorbell IPIs. Context switch microbenchmark between threads with snooze disabled (which causes IPI) gets about 3% faster, about 370 cycles. Should be more important on POWER9 with global doorbells and HVI for host interrupts. Use the RELON variant instead to reduce overhead. Fixes: 1707dd1613 ("powerpc: Save CFAR before branching in interrupt entry paths") Signed-off-by: Nicholas Piggin <npiggin@gmail.com> [mpe: Fold some more detail into the change log] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-04-20Merge tag 'arch-timer-gtdt' of ↵Thomas Gleixner
git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux into timers/core Pull arch timer GTDT support from Mark Rutland - arch_timer cleanups and refactoring - new common GTDT parser - GTDT-based MMIO arch_timer support - GTDT-based SBSA watchdog support Fix up a trivial pr_err() conflict.
2017-04-20powerpc/xive: Fix missing check of rc != OPAL_BUSYMichael Ellerman
Dan Carpenter noticed that the code in __xive_native_disable_queue() has a for loop with an unconditional break in the middle, which doesn't make a lot of sense. What the code's supposed to do is loop as long as OPAL says it's busy, if we get any other return code, either success or failure, then we should break the loop. So add the missing check. Fixes: 243e25112d06 ("powerpc/xive: Native exploitation of the XIVE interrupt controller") Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-04-20KVM: PPC: Book3S PR: Do not fail emulation with mtspr/mfspr for unknown SPRsThomas Huth
According to the PowerISA 2.07, mtspr and mfspr should not always generate an illegal instruction exception when being used with an undefined SPR, but rather treat the instruction as a NOP or inject a privilege exception in some cases, too - depending on the SPR number. Also turn the printk here into a ratelimited print statement, so that the guest can not flood the dmesg log of the host by issueing lots of illegal mtspr/mfspr instruction here. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2017-04-20KVM: PPC: VFIO: Add in-kernel acceleration for VFIOAlexey Kardashevskiy
This allows the host kernel to handle H_PUT_TCE, H_PUT_TCE_INDIRECT and H_STUFF_TCE requests targeted an IOMMU TCE table used for VFIO without passing them to user space which saves time on switching to user space and back. This adds H_PUT_TCE/H_PUT_TCE_INDIRECT/H_STUFF_TCE handlers to KVM. KVM tries to handle a TCE request in the real mode, if failed it passes the request to the virtual mode to complete the operation. If it a virtual mode handler fails, the request is passed to the user space; this is not expected to happen though. To avoid dealing with page use counters (which is tricky in real mode), this only accelerates SPAPR TCE IOMMU v2 clients which are required to pre-register the userspace memory. The very first TCE request will be handled in the VFIO SPAPR TCE driver anyway as the userspace view of the TCE table (iommu_table::it_userspace) is not allocated till the very first mapping happens and we cannot call vmalloc in real mode. If we fail to update a hardware IOMMU table unexpected reason, we just clear it and move on as there is nothing really we can do about it - for example, if we hot plug a VFIO device to a guest, existing TCE tables will be mirrored automatically to the hardware and there is no interface to report to the guest about possible failures. This adds new attribute - KVM_DEV_VFIO_GROUP_SET_SPAPR_TCE - to the VFIO KVM device. It takes a VFIO group fd and SPAPR TCE table fd and associates a physical IOMMU table with the SPAPR TCE table (which is a guest view of the hardware IOMMU table). The iommu_table object is cached and referenced so we do not have to look up for it in real mode. This does not implement the UNSET counterpart as there is no use for it - once the acceleration is enabled, the existing userspace won't disable it unless a VFIO container is destroyed; this adds necessary cleanup to the KVM_DEV_VFIO_GROUP_DEL handler. This advertises the new KVM_CAP_SPAPR_TCE_VFIO capability to the user space. This adds real mode version of WARN_ON_ONCE() as the generic version causes problems with rcu_sched. Since we testing what vmalloc_to_phys() returns in the code, this also adds a check for already existing vmalloc_to_phys() call in kvmppc_rm_h_put_tce_indirect(). This finally makes use of vfio_external_user_iommu_id() which was introduced quite some time ago and was considered for removal. Tests show that this patch increases transmission speed from 220MB/s to 750..1020MB/s on 10Gb network (Chelsea CXGB3 10Gb ethernet card). Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Acked-by: Alex Williamson <alex.williamson@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2017-04-20KVM: PPC: iommu: Unify TCE checkingAlexey Kardashevskiy
This reworks helpers for checking TCE update parameters in way they can be used in KVM. This should cause no behavioral change. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Acked-by: Michael Ellerman <mpe@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2017-04-20KVM: PPC: Use preregistered memory API to access TCE listAlexey Kardashevskiy
VFIO on sPAPR already implements guest memory pre-registration when the entire guest RAM gets pinned. This can be used to translate the physical address of a guest page containing the TCE list from H_PUT_TCE_INDIRECT. This makes use of the pre-registrered memory API to access TCE list pages in order to avoid unnecessary locking on the KVM memory reverse map as we know that all of guest memory is pinned and we have a flat array mapping GPA to HPA which makes it simpler and quicker to index into that array (even with looking up the kernel page tables in vmalloc_to_phys) than it is to find the memslot, lock the rmap entry, look up the user page tables, and unlock the rmap entry. Note that the rmap pointer is initialized to NULL where declared (not in this patch). If a requested chunk of memory has not been preregistered, this will fall back to non-preregistered case and lock rmap. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2017-04-20KVM: PPC: Pass kvm* to kvmppc_find_table()Alexey Kardashevskiy
The guest view TCE tables are per KVM anyway (not per VCPU) so pass kvm* there. This will be used in the following patches where we will be attaching VFIO containers to LIOBNs via ioctl() to KVM (rather than to VCPU). Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2017-04-20KVM: PPC: Enable IOMMU_API for KVM_BOOK3S_64 permanentlyAlexey Kardashevskiy
It does not make much sense to have KVM in book3s-64 and not to have IOMMU bits for PCI pass through support as it costs little and allows VFIO to function on book3s KVM. Having IOMMU_API always enabled makes it unnecessary to have a lot of "#ifdef IOMMU_API" in arch/powerpc/kvm/book3s_64_vio*. With those ifdef's we could have only user space emulated devices accelerated (but not VFIO) which do not seem to be very useful. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2017-04-20Merge remote-tracking branch 'remotes/powerpc/topic/ppc-kvm' into kvm-ppc-nextPaul Mackerras
This merges in the commits in the topic/ppc-kvm branch of the powerpc tree to get the changes to arch/powerpc which subsequent patches will rely on. Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2017-04-20KVM: PPC: Align the table size to system page sizeAlexey Kardashevskiy
At the moment the userspace can request a table smaller than a page size and this value will be stored as kvmppc_spapr_tce_table::size. However the actual allocated size will still be aligned to the system page size as alloc_page() is used there. This aligns the table size up to the system page size. It should not change the existing behaviour but when in-kernel TCE acceleration patchset reaches the upstream kernel, this will allow small TCE tables be accelerated as well: PCI IODA iommu_table allocator already aligns the size and, without this patch, an IOMMU group won't attach to LIOBN due to the mismatching table size. Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2017-04-20KVM: PPC: Book3S PR: Preserve storage control bitsAlexey Kardashevskiy
PR KVM page fault handler performs eaddr to pte translation for a guest, however kvmppc_mmu_book3s_64_xlate() does not preserve WIMG bits (storage control) in the kvmppc_pte struct. If PR KVM is running as a second level guest under HV KVM, and PR KVM tries inserting HPT entry, this fails in HV KVM if it already has this mapping. This preserves WIMG bits between kvmppc_mmu_book3s_64_xlate() and kvmppc_mmu_map_page(). Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2017-04-20KVM: PPC: Book3S PR: Exit KVM on failed mappingAlexey Kardashevskiy
At the moment kvmppc_mmu_map_page() returns -1 if mmu_hash_ops.hpte_insert() fails for any reason so the page fault handler resumes the guest and it faults on the same address again. This adds distinction to kvmppc_mmu_map_page() to return -EIO if mmu_hash_ops.hpte_insert() failed for a reason other than full pteg. At the moment only pSeries_lpar_hpte_insert() returns -2 if plpar_pte_enter() failed with a code other than H_PTEG_FULL. Other mmu_hash_ops.hpte_insert() instances can only fail with -1 "full pteg". With this change, if PR KVM fails to update HPT, it can signal the userspace about this instead of returning to guest and having the very same page fault over and over again. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2017-04-20KVM: PPC: Book3S PR: Get rid of unused local variableAlexey Kardashevskiy
@is_mmio has never been used since introduction in commit 2f4cf5e42d13 ("Add book3s.c") from 2009. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2017-04-20KVM: PPC: e500: Use kcalloc() in e500_mmu_host_init()Markus Elfring
* A multiplication for the size determination of a memory allocation indicated that an array data structure should be processed. Thus use the corresponding function "kcalloc". This issue was detected by using the Coccinelle software. * Replace the specification of a data type by a pointer dereference to make the corresponding size determination a bit safer according to the Linux coding style convention. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2017-04-20KVM: PPC: Book3S HV: Use common error handling code in kvmppc_clr_passthru_irq()Markus Elfring
Add a jump target so that a bit of exception handling can be better reused at the end of this function. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2017-04-20KVM: PPC: Add MMIO emulation for remaining floating-point instructionsPaul Mackerras
For completeness, this adds emulation of the lfiwax and lfiwzx instructions. With this, all floating-point load and store instructions as of Power ISA V2.07 are emulated. Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2017-04-20KVM: PPC: Emulation for more integer loads and storesPaul Mackerras
This adds emulation for the following integer loads and stores, thus enabling them to be used in a guest for accessing emulated MMIO locations. - lhaux - lwaux - lwzux - ldu - lwa - stdux - stwux - stdu - ldbrx - stdbrx Previously, most of these would cause an emulation failure exit to userspace, though ldu and lwa got treated incorrectly as ld, and stdu got treated incorrectly as std. This also tidies up some of the formatting and updates the comment listing instructions that still need to be implemented. With this, all integer loads and stores that are defined in the Power ISA v2.07 are emulated, except for those that are permitted to trap when used on cache-inhibited or write-through mappings (and which do in fact trap on POWER8), that is, lmw/stmw, lswi/stswi, lswx/stswx, lq/stq, and l[bhwdq]arx/st[bhwdq]cx. Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2017-04-20KVM: PPC: Add MMIO emulation for stdx (store doubleword indexed)Alexey Kardashevskiy
This adds missing stdx emulation for emulated MMIO accesses by KVM guests. This allows the Mellanox mlx5_core driver from recent kernels to work when MMIO emulation is enforced by userspace. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2017-04-20KVM: PPC: Book3S: Add MMIO emulation for FP and VSX instructionsBin Lu
This patch provides the MMIO load/store emulation for instructions of 'double & vector unsigned char & vector signed char & vector unsigned short & vector signed short & vector unsigned int & vector signed int & vector double '. The instructions that this adds emulation for are: - ldx, ldux, lwax, - lfs, lfsx, lfsu, lfsux, lfd, lfdx, lfdu, lfdux, - stfs, stfsx, stfsu, stfsux, stfd, stfdx, stfdu, stfdux, stfiwx, - lxsdx, lxsspx, lxsiwax, lxsiwzx, lxvd2x, lxvw4x, lxvdsx, - stxsdx, stxsspx, stxsiwx, stxvd2x, stxvw4x [paulus@ozlabs.org - some cleanups, fixes and rework, make it compile for Book E, fix build when PR KVM is built in] Signed-off-by: Bin Lu <lblulb@linux.vnet.ibm.com> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2017-04-20KVM: PPC: Provide functions for queueing up FP/VEC/VSX unavailable interruptsPaul Mackerras
This provides functions that can be used for generating interrupts indicating that a given functional unit (floating point, vector, or VSX) is unavailable. These functions will be used in instruction emulation code. Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2017-04-19axon_ram: add dax_operations supportDan Williams
Setup a dax_device to have the same lifetime as the axon_ram block device and add a ->direct_access() method that is equivalent to axon_ram_direct_access(). Once fs/dax.c has been converted to use dax_operations the old axon_ram_direct_access() will be removed. Reported-by: Gerald Schaefer <gerald.schaefer@de.ibm.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2017-04-19powerpc/powernv: Override pcibios_default_alignment() to force PCI devices ↵Yongji Xie
to be page aligned Override pcibios_default_alignment() to set default alignment to PAGE_SIZE for all PCI devices on PowerNV platform. Thus sub-page BARs would not share a page and could be mapped into guest when VFIO passthrough them. Signed-off-by: Yongji Xie <elohimes@gmail.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2017-04-19KVM: arm/arm64: fix races in kvm_psci_vcpu_onAndrew Jones
Fix potential races in kvm_psci_vcpu_on() by taking the kvm->lock mutex. In general, it's a bad idea to allow more than one PSCI_CPU_ON to process the same target VCPU at the same time. One such problem that may arise is that one PSCI_CPU_ON could be resetting the target vcpu, which fills the entire sys_regs array with a temporary value including the MPIDR register, while another looks up the VCPU based on the MPIDR value, resulting in no target VCPU found. Resolves both races found with the kvm-unit-tests/arm/psci unit test. Reviewed-by: Marc Zyngier <marc.zyngier@arm.com> Reviewed-by: Christoffer Dall <cdall@linaro.org> Reported-by: Levente Kurusa <lkurusa@redhat.com> Suggested-by: Christoffer Dall <cdall@linaro.org> Signed-off-by: Andrew Jones <drjones@redhat.com> Cc: stable@vger.kernel.org Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-04-19acpi/arm64: Add GTDT table parse driverFu Wei
This patch adds support for parsing arch timer info in GTDT, provides some kernel APIs to parse all the PPIs and always-on info in GTDT and export them. By this driver, we can simplify arm_arch_timer drivers, and separate the ACPI GTDT knowledge from it. Signed-off-by: Fu Wei <fu.wei@linaro.org> Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Tested-by: Xiongfeng Wang <wangxiongfeng2@huawei.com> Reviewed-by: Hanjun Guo <hanjun.guo@linaro.org> Tested-by: Hanjun Guo <hanjun.guo@linaro.org> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: Mark Rutland <mark.rutland@arm.com>
2017-04-19arm: spear6xx: add DT description of the ADC on SPEAr600Thomas Petazzoni
The SPEAr600 has a built-in ADC, which already has a Device Tree binding described in Documentation/devicetree/bindings/staging/iio/adc/spear-adc.txt. This commit adds the description in the SPEAr600 Device Tree of this ADC device. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19arm: spear6xx: remove unneeded pinctrl properties in spear600-evbThomas Petazzoni
The spear6xx doesn't have a pinctrl driver, since the pinmux is globally defined through a single register, generally configured by the firmware/bootloader. Therefore, the pinctrl related properties in spear600-evb.dts are not necessary. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19arm: spear6xx: switch spear600-evb to the new flash partition DT bindingThomas Petazzoni
This commit moves spear600-evb.dts to use the new flash partition Device Tree binding documented in Documentation/devicetree/bindings/mtd/partition.txt. As this Device Tree binding document says: "For backwards compatibility partitions as direct subnodes of the mtd device are supported. This use is discouraged." Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19arm: spear6xx: fix spaces in spear600-evb.dtsThomas Petazzoni
This commit fixes a minor coding style issue in spear600-evb.dts: missing spaces around equal sign. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19arm: spear6xx: use node labels in spear600-evb.dtsThomas Petazzoni
Now that we have introduced node labels in spear600.dtsi, we can use them for spear600-evb.dts. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19arm: spear6xx: add labels to various nodes in spear600.dtsiThomas Petazzoni
Having labels allows to more easily reference nodes in .dts files including spear600.dtsi. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19Merge tag 'mvebu-defconfig64-4.12-2' of git://git.infradead.org/linux-mvebu ↵Olof Johansson
into next/arm64 mvebu defconfig64 for 4.12 (part 2) Select two new drivers for ARM64 mvebu SoCs: - Xenon SDHCI controller on Armada 37xx and Armada 7K/8K - Safexcel crypto engine on Armada 7K/8K * tag 'mvebu-defconfig64-4.12-2' of git://git.infradead.org/linux-mvebu: arm64: defconfig: enable the Safexcel crypto engine as a module arm64: configs: enable SDHCI driver for Xenon Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19Merge tag 'aspeed-4.12-defconfig' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed into next/defconfig Aspeed defconfig updates for 4.12 Add newly unstreamed drivers to the defconfigs for the Aspeed SoCs. The defconfigs are reworked to be useful for development and testing of OpenBMC on these systems. * tag 'aspeed-4.12-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed: ARM: configs: aspeed: Add new drivers ARM: configs: aspeed: Update configs for BMC systems ARM: aspeed: Add CONFIG_SPI_ASPEED_SMC Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19Merge tag 'davinci-for-v4.12/soc-3' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/soc Add clock for CPPI 4.1 DMA engine thats part of USB OTG subsystem on DA830 and DA850. This builds on top of the pull request sent earlier: https://www.spinics.net/lists/arm-kernel/msg573985.html * tag 'davinci-for-v4.12/soc-3' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci: ARM: davinci: Add clock for CPPI 4.1 DMA engine Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19Merge tag 'at91-ab-4.12-soc' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/soc SoC for 4.12: - huge PM cleanup - Move SoC detection to its own driver * tag 'at91-ab-4.12-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: ARM: at91: move SoC detection to its own driver ARM: at91: pm: correct typo ARM: at91: pm: Remove at91_pm_set_standby ARM: at91: pm: Merge all at91sam9*_pm_init ARM: at91: pm: Tie the USB clock mask to the pmc ARM: at91: pm: Tie the memory controller type to the ramc id ARM: at91: pm: Workaround DDRSDRC self-refresh bug with LPDDR1 memories. ARM: at91: pm: Simplify at91rm9200_standby ARM: at91: pm: Use struct at91_pm_data in pm_suspend.S ARM: at91: pm: Move global variables into at91_pm_data ARM: at91: pm: Move at91_ramc_read/write to pm.c ARM: at91: pm: Cleanup headers MAINTAINERS: Add memory drivers to AT91 entry MAINTAINERS: Update AT91 entry ARM: at91: pm: cpu_idle: switch DDR to power-down mode Revert "ARM: at91/dt: sama5d2: Use new compatible for ohci node" Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19Merge tag 'hisi-armv7-soc-for-4.12' of git://github.com/hisilicon/linux-hisi ↵Olof Johansson
into next/soc ARM: mach-hisi: Hisilicon SoC updates for 4.12 - Fix the error return code in hip04_smp_init * tag 'hisi-armv7-soc-for-4.12' of git://github.com/hisilicon/linux-hisi: ARM: hisi: fix error return code in hip04_smp_init() Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19Merge tag 'imx-soc-4.12' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc i.MX SoC changes for 4.12: - A correction on mmdc_pmu_write_accesses event definition. - Add new axi_id perf command to support MMDC filter memory usage profiling. - Set correct SPI chip_select in platform device registration, so that spi-imx driver code can be improved to use chip_select directly for harwdare setup instead of indirectly via the cs_gpio mapping array. - Disable APIS bus supervisor protect for i.MX25, since the default configuration doesn't work for a few peripherals accessed through SDMA. - Add compatible check for the secondary generation of I2SE i.MX28 Duckbill board support. * tag 'imx-soc-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: mxs: add support for I2SE Duckbill 2 boards ARM: i.MX25: globally disable supervisor protect ARM: imx: set correct chip_select in platform setup ARM: imx: Add AXI address filter support for MMDC profiling ARM: imx: Fix mmdc_pmu_write_accesses event definition Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19Merge tag 'samsung-soc64-4.12' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/arm64 Samsung ARM64 update for v4.12: 1. Exynos power management drivers support now ARMv8 SoC - Exynos5433 - so select them in ARCH_EXYNOS. 2. Enable few Exynos drivers for supported ARMv8 SoCs. * tag 'samsung-soc64-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: arm64: defconfig: Enable video, DRM and LPASS drivers for Exynos5433 and Exynos7 arm64: exynos: Enable Exynos PMU and PM domains drivers Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19Merge tag 'alpine-dt-for-4.12' of ↵Olof Johansson
https://git.kernel.org/pub/scm/linux/kernel/git/atenart/linux into next/dt Alpine DT changes for 4.12 A bunch of clean up for Alpine device trees, nothing fancy. * tag 'alpine-dt-for-4.12' of https://git.kernel.org/pub/scm/linux/kernel/git/atenart/linux: ARM: dts: alpine: add valid clock-frequency values ARM: dts: alpine: add spaces before the uart node units. ARM: dts: alpine: remove 0x's from the uart1 node unit address ARM: dts: alpine: fix PCIe node name Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19Merge tag 'mvebu-dt-4.12-3' of git://git.infradead.org/linux-mvebu into next/dtOlof Johansson
mvebu dt for 4.12 (part 3) Use label for USB and SATA nodes on Armada 38x * tag 'mvebu-dt-4.12-3' of git://git.infradead.org/linux-mvebu: ARM: dts: armada-38x: label USB and SATA nodes Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19Merge tag 'aspeed-4.12-devicetree' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed into next/dt Aspeed devicetree updates for 4.12 Updates to the device tree to include upstreamed drivers: - SPI flash controller - Watchdog - ADC In addition we describe some of the clocks so that upstream kernels can boot on hardware. * tag 'aspeed-4.12-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed: arm: dts: aspeed: Describe ADCs for AST2400/AST2500 ARM: dts: aspeed: romulus: Add UART1 ARM: dts: aspeed: Update watchdog compatible strings ARM: dts: aspeed: Add a fastread property ARM: dts: aspeed: Add SPI controller bindings to Romulus ARM: dts: aspeed: Make G4 clocks fixed ARM: dts: aspeed: Make G5 clocks fixed ARM: dts: aspeed: add SPI controller bindings Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19Merge tag 'omap-for-v4.12/dt-pt2-signed' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Second set of devicetree changes for omaps for v4.12 merge window to configure various devices: - Enable DCAN on am57xx-idk - Enable CPSW ethernet0 and 1 on am335x-icev2 - Non-critical fix for droid 4 PMIC interrupt triggering - Stop disabling SRAM and GPMC on droid 4 - Configure CPCAP PMIC related devices on droid 4 for ADC, charger and USB PHY. The charger and USB PHY drivers are still being discussed, but the binding for them has been acked by Rob and Sebastian so they should be safe to merge together with the ADC driver in Linux next that they depend on * tag 'omap-for-v4.12/dt-pt2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: dts: omap4-droid4: Add CPCAP PMIC OTG PHY configuration ARM: dts: omap4-droid4: Add CPCAP PMIC battery charger configuration ARM: dts: omap4-droid4: Add CPCAP PMIC ADC configuration ARM: dts: omap4-droid4: Stop disabling SRAM and GPMC ARM: dts: omap4-droid4: Fix interrupt triggering for cpcap ARM: dts: am335x-icev2: Add CPSW ethernet0 and ethernet1 ARM: dts: am57xx-idk: Add DCAN support Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19Merge tag 'at91-ab-4.12-dt' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/dt DT for 4.12: - Add SFRBU on sama5d2 - DT improvements for sama5d2_xplained, sama5d3_xplained, at91sam9x5ek and Axentia TSE-850 * tag 'at91-ab-4.12-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: ARM: dts: at91: sama5d3_xplained: not all ADC channels are available ARM: dts: at91: sama5d3_xplained: fix ADC vref ARM: dts: at91: add envelope detector mux to the Axentia TSE-850 ARM: dts: at91: Disable SPI on at91sam9x5ek to allow MCI1 to work. ARM: dts: at91: Fix matrix compatible ARM: dts: at91: sama5d2_xplained: enable RTC wakeup ARM: dts: at91: sama5d2: add sfrbu Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19Merge tag 'imx-dt-4.12' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt i.MX device tree updates for 4.12: - New board support: I2SE's i.MX28 Duckbill-2 boards, Gateworks Ventana i.MX6 GW5903/GW5904, Zodiac Inflight Innovations RDU2 board, Engicam i.CoreM6 Quad/Dual OpenFrame modules, Boundary Device i.MX6 Quad Plus SOM. - Improve compatible string for i.MX50 eSDHC, i.MX7S SRC devices and i.MX6SX UART device. - Add interrupts for switch and PHY devices on VF610 ZII Devel C board. - Add LVDS, LCD backlight, touchscreen and SAI2 support for i.MX6 icore, geam, and isiot boards. - A series from Lucas Stach to improve i.MX6Q Plus device tree and add PRE/PRG devices. - A series from Stefan Agner to update imx7-colibri device tree regarding to display, PMIC/regulator support. - Fix PCI bus DTC warnings seen with the latest compiler. - Set default phy_type and dr_mode for i.MX25 USBOTG port. - A couple of small improvements on i.MX25 pin function DT header. - Add audio support for imx6q-cm-fx6 board using Wolfson wm8731 codec which is muxed to SSI2 device. - Other random updates, small fixes and trivial cleanups. * tag 'imx-dt-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (56 commits) ARM: dts: imx6q-utilite-pro: add hpd gpio ARM: dts: imx6qp-sabresd: Set reg_arm regulator supply ARM: dts: imx6qdl-sabresd: Set LDO regulator supply ARM: dts: imx: add Gateworks Ventana GW5903 support ARM: dts: i.MX25: add AIPS control registers ARM: dts: imx7-colibri: add Carrier Board 3.3V/5V regulators ARM: dts: imx7-colibri: remove 1.8V fixed regulator ARM: dts: imx7-colibri: allow to disable Ethernet rail ARM: dts: imx7-colibri: fix PMIC voltages ARM: dts: imx7-colibri: use OF graph to describe the display ARM: dts: imx6qp-nitrogen6_som2: add Quad Plus variant of the SOM ARM: dts: imx6q-icore: Add touchscreen node ARM: dts: vf610-zii-dev-rev-b: change switch2 label ARM: dts: imx6ul-[geam|isiot]: Add sai2 node ARM: dts: imx6ul-isiot-common: Add touchscreen node ARM: dts: imx6ul-isiot: Add i2c nodes ARM: dts: imx6ul-isiot: Add imx6ul-isiot-common.dtsi ARM: dts: imx6ul-isiot: Add backlight support for lcdif ARM: dts: imx6ul-geam: Add backlight support for lcdif ARM: dts: imx6: add ZII RDU2 boards ... Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19Merge tag 'v4.12-rockchip-dts32-2' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt Support for the usb-sata controller on the rock2 and another new rk3288 board, the phyCORE som and its PCM-947 carrier board from Phytec. * tag 'v4.12-rockchip-dts32-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: Add support for PCM-947 carrier board dt-bindings: Document Phytec phyCORE-RK3288 RDK ARM: dts: rockchip: Add support for phyCORE-RK3288 SoM ARM: dts: rockchip: Enable sata support on rock2 square Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19Merge tag 'samsung-dt-4.12' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/dt Samsung DeviceTree ARM update for v4.12: 1. Enhancements to PCIe nodes on Exynos5440. 2. Fix thermal values on some of Exynos5420 boards like Odroid XU3. 3. Add proper clock frequency properties to DSI nodes. 4. Fix watchdog reset on Exynos4412. 5. Fix watchdog infinite interrupt in soft mode on Exynos4210, Exynos5440, S3C64xx and S5Pv210. 6. Enable watchdog on Exynos4 and S3C SoCs. * tag 'samsung-dt-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: dts: exynos: add HDMI controller phandle to exynos4.dtsi ARM: dts: s5pv210: Fix infinite interrupt in soft mode ARM: dts: s3c64xx: Fix infinite interrupt in soft mode ARM: dts: exynos: Fix infinite interrupt in soft mode on Exynos4210 and Exynos5440 ARM: dts: exynos: Enable watchdog on all Exynos4 boards ARM: dts: s3c64xx: Enable watchdog on all S3C64xx boards ARM: dts: exynos: Fix watchdog reset on Exynos4412 ARM: dts: exynos: Add the burst and esc clock frequency properties to DSI node ARM: dts: exynos: Do not ignore real-world fuse values for thermal zone 0 on Exynos5420 ARM: dts: exynos: Add phy-pcie node for pcie to Exynos5440 Signed-off-by: Olof Johansson <olof@lixom.net>