summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2017-08-01KVM: nVMX: do not fill vm_exit_intr_error_code in prepare_vmcs12Paolo Bonzini
Do this in the caller of nested_vmx_vmexit instead. nested_vmx_check_exception was doing a vmwrite to the vmcs02's VM_EXIT_INTR_ERROR_CODE field, so that prepare_vmcs12 would move the field to vmcs12->vm_exit_intr_error_code. However that isn't possible on pre-Haswell machines. Moving the vmcs12 write to the callers fixes it. Reported-by: Jim Mattson <jmattson@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> [Changed nested_vmx_reflect_vmexit() return type to (int)1 from (bool)1, thanks to fengguang.wu@intel.com] Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
2017-08-01ARM64: dts: meson-gxbb-nanopi-k2: Add GPIO lines namesNeil Armstrong
This patch describes the GPIO lines usage on the Nanopi K2 board. This is useful in the debugfs gpio file and using the cdev gpio API. Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-08-01ARM64: dts: meson-gxl-khadas-vim: Add GPIO lines namesNeil Armstrong
This patch describes the GPIO lines usage on the Khadas VIM board. This is useful in the debugfs gpio file and using the cdev gpio API. Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> [khilman: minor whitespace fix] Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-08-01ARM64: dts: meson-gxbb: p20x: add card regulator settle timesJerome Brunet
Changing the card voltage on the p200 is not instantaneous, especially when switching from 3.3v to 1.8v. I take at least 70ms for the regulator to go from 3.3v to 1.8v. Add margin to that to make sure we don't upset the sdcard during the voltage switch Fixes: ef8d2ffedf18 ("ARM64: dts: meson-gxbb: add MMC support") Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-08-01ARM: dts: meson: mark the clock controller also as reset controllerMartin Blumenstingl
The clock controller provides a few reset lines as well. Add the corresponding CPU cores. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-08-01xtensa: mm/cache: add missing EXPORT_SYMBOLsMax Filippov
Functions clear_user_highpage, copy_user_highpage, flush_dcache_page, local_flush_cache_range and local_flush_cache_page may be used from modules. Export them. Cc: stable@vger.kernel.org Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2017-08-01xtensa: don't limit csum_partial export by CONFIG_NETMax Filippov
csum_partial and csum_partial_copy_generic are defined unconditionally and are available even when CONFIG_NET is disabled. They are used not only by the network drivers, but also by scsi and media. Don't limit these functions export by CONFIG_NET. Cc: stable@vger.kernel.org Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2017-08-01arm: dts: mt2701: Add usb3 device nodesChunfeng Yun
Add xhci nodes and usb3 phy nodes for MT2701 Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com> Signed-off-by: Erin Lo <erin.lo@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-08-01arm: dts: mt2701: Add ethernet device nodeSean Wang
Add ethernet device node for MT2701 Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Erin Lo <erin.lo@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-08-01fs: convert a pile of fsync routines to errseq_t based reportingJeff Layton
This patch converts most of the in-kernel filesystems that do writeback out of the pagecache to report errors using the errseq_t-based infrastructure that was recently added. This allows them to report errors once for each open file description. Most filesystems have a fairly straightforward fsync operation. They call filemap_write_and_wait_range to write back all of the data and wait on it, and then (sometimes) sync out the metadata. For those filesystems this is a straightforward conversion from calling filemap_write_and_wait_range in their fsync operation to calling file_write_and_wait_range. Acked-by: Jan Kara <jack@suse.cz> Acked-by: Dave Kleikamp <dave.kleikamp@oracle.com> Signed-off-by: Jeff Layton <jlayton@redhat.com>
2017-08-01powerpc/kernel: Avoid preemption check in iommu_range_alloc()Victor Aoqui
Replace the __this_cpu_read() with raw_cpu_read() in iommu_range_alloc(). Otherwise we get a warning about using __this_cpu_read() in preemptible code: BUG: using __this_cpu_read() in preemptible caller is iommu_range_alloc+0xa8/0x3d0 Preemption doesn't need to be disabled since according to the comment any CPU can safely use any IOMMU pool. Signed-off-by: Victor Aoqui <victora@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-08-01arm64: Use arch_timer_get_rate when trapping CNTFRQ_EL0Marc Zyngier
In an ideal world, CNTFRQ_EL0 always contains the timer frequency for the kernel to use. Sadly, we get quite a few broken systems where the firmware authors cannot be bothered to program that register on all CPUs, and rely on DT to provide that frequency. So when trapping CNTFRQ_EL0, make sure to return the actual rate (as known by the kernel), and not CNTFRQ_EL0. Acked-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-08-01x86/hpet: Cure interface abuse in the resume pathThomas Gleixner
The HPET resume path abuses irq_domain_[de]activate_irq() to restore the MSI message in the HPET chip for the boot CPU on resume and it relies on an implementation detail of the interrupt core code, which magically makes the HPET unmask call invoked via a irq_disable/enable pair. This worked as long as the irq code did unconditionally invoke the unmask() callback. With the recent changes which keep track of the masked state to avoid expensive hardware access, this does not longer work. As a consequence the HPET timer interrupts are not unmasked which breaks resume as the boot CPU waits forever that a timer interrupt arrives. Make the restore of the MSI message explicit and invoke the unmask() function directly. While at it get rid of the pointless affinity setting as nothing can change the affinity of the interrupt and the vector across suspend/resume. The restore of the MSI message reestablishes the previous affinity setting which is the correct one. Fixes: bf22ff45bed6 ("genirq: Avoid unnecessary low level irq function calls") Reported-and-tested-by: Tomi Sarvela <tomi.p.sarvela@intel.com> Reported-by: Martin Peres <martin.peres@linux.intel.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com> Cc: jeffy.chen@rock-chips.com Cc: Peter Zijlstra <peterz@infradead.org> Cc: Marc Zyngier <marc.zyngier@arm.com> Link: http://lkml.kernel.org/r/alpine.DEB.2.20.1707312158590.2287@nanos
2017-08-01powerpc/powernv: Clear PECE1 in LPCR via stop-api only on HotplugGautham R. Shenoy
Currently we use the stop-api provided by the firmware to program the SLW engine to restore the values of hypervisor resources that get lost on deeper idle states (such as winkle). Since the deep states were only used for CPU-Hotplug on POWER8 systems, we would program the LPCR to have the PECE1 bit since Hotplugged CPUs shouldn't be spuriously woken up by decrementer. On POWER9, some of the deep platform idle states such as stop4 can be used in cpuidle as well. In this case, we want the CPU in stop4 to be woken up by the decrementer when some timer on the CPU expires. In this patch, we program the stop-api for LPCR with PECE1 bit cleared only when we are offlining the CPU and set it back once the CPU is online. Signed-off-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com> Reviewed-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-08-01powerpc/powernv: Save/Restore additional SPRs for stop4 cpuidleGautham R. Shenoy
The stop4 idle state on POWER9 is a deep idle state which loses hypervisor resources, but whose latency is low enough that it can be exposed via cpuidle. Until now, the deep idle states which lose hypervisor resources (eg: winkle) were only exposed via CPU-Hotplug. Hence currently on wakeup from such states, barring a few SPRs which need to be restored to their older value, rest of the SPRS are reinitialized to their values corresponding to that at boot time. When stop4 is used in the context of cpuidle, we want these additional SPRs to be restored to their older value, to ensure that the context on the CPU coming back from idle is same as it was before going idle. In this patch, we define a SPR save area in PACA (since we have used up the volatile register space in the stack) and on POWER9, we restore SPRN_PID, SPRN_LDBAR, SPRN_FSCR, SPRN_HFSCR, SPRN_MMCRA, SPRN_MMCR1, SPRN_MMCR2 to the values they had before entering stop. Signed-off-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com> Reviewed-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-08-01arm64: dts: rockchip: update dynamic-power-coefficient for rk3399Caesar Wang
This patch updates the dynamic-power-coefficient for big cluster on rk3399 SoCs. The dynamic power consumption of the CPU is proportional to the square of the Voltage (V) and the clock frequency (f). The coefficient is used to calculate the dynamic power as below - Pdyn = dynamic-power-coefficient * V^2 * f Where Voltage is in uV, frequency is in MHz. As the following is the tested data on rk3399's big cluster. frequency(MHz) Voltage(V) Current(mA) Dynamic-power-coefficient 24 0.8 15 48 0.8 23 ~417 96 0.8 40 ~443 216 0.8 82 ~438 312 0.8 115 ~430 408 0.8 150 ~455 So the dynamic-power-coefficient average value is about 436. Signed-off-by: Caesar Wang <wxt@rock-chips.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2017-08-01ARM: rockchip: enable ZONE_DMA for non 64-bit capable peripheralsTao Huang
Most IP cores on ARM Rockchip platforms can only address 32 bits of physical memory for DMA. Thus ZONE_DMA should be enabled when LPAE is activated. Signed-off-by: Tao Huang <huangtao@rock-chips.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2017-07-31MIPS: PCI: Fix pcibios_scan_bus() NULL check code pathLorenzo Pieralisi
If pci_scan_root_bus() fails (ie returns NULL) pcibios_scan_bus() must return immediately since the struct pci_bus pointer it returns is not valid and cannot be used. Move code checking the pci_scan_root_bus() return value to reinstate proper pcibios_scanbus() error path behaviour. Fixes: 88555b481958 ("MIPS: PCI: Support for CONFIG_PCI_DOMAINS_GENERIC") Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Paul Burton <paul.burton@imgtec.com>
2017-07-31ARM: tegra: Select appropriate DMA options for LPAEPaul Kocialkowski
This automatically selects options for zone DMA and 64 bit DMA addresses when LPAE is enabled on ARM Tegra platforms. These options are required for proper operation with LPAE enabled. The ZONE_DMA option is required to ensure that drivers that allocate DMA memory get buffers from the first 4 GiB. This is necessary because a lot of the controllers only support addressing 32 bits. As for ARCH_DMA_ADDR_T_64BIT, there are situations where devices that do support addresses of more than 32 bits (such as the display controller or the GPU) can run without translating addresses through an IOMMU on a device with more than 4 GiB of system memory. Note that both of these options are stop-gap solutions required only until the IOMMU can be properly integrated with the DMA mapping API and drivers use that properly and consistently. Signed-off-by: Paul Kocialkowski <contact@paulk.fr> [treding@nvidia.com: specify rationale for options] Signed-off-by: Thierry Reding <treding@nvidia.com>
2017-07-31parisc: Define CONFIG_CPU_BIG_ENDIANBabu Moger
While working on enabling queued rwlock on SPARC, found this following code in include/asm-generic/qrwlock.h which uses CONFIG_CPU_BIG_ENDIAN to clear a byte. static inline u8 *__qrwlock_write_byte(struct qrwlock *lock) { return (u8 *)lock + 3 * IS_BUILTIN(CONFIG_CPU_BIG_ENDIAN); } Problem is many of the fixed big endian architectures don't define CPU_BIG_ENDIAN and clears the wrong byte. Define CPU_BIG_ENDIAN for parisc architecture to fix it. Signed-off-by: Babu Moger <babu.moger@oracle.com> Signed-off-by: Helge Deller <deller@gmx.de>
2017-07-31ARM: dts: iwg20m: Correct indentation of mmcif0 propertiesGeert Uytterhoeven
Fixes: 4658c4b789d8e2ae ("ARM: dts: iwg20m: Add MMCIF0 support") Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Chris Paterson <chris.paterson2@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: dts: rskrza1: Add LED0 pin supportChris Brandt
Add pin configuration for LED0 which is connected to a GPIO. Signed-off-by: Chris Brandt <chris.brandt@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: dts: rskrza1: Add SDHI1 pin groupChris Brandt
Add pin configuration for SDHI ch1. Signed-off-by: Chris Brandt <chris.brandt@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: dts: rskrza1: Add Ethernet pin groupChris Brandt
Add pin configuration for Ethernet. Signed-off-by: Chris Brandt <chris.brandt@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: dts: rskrza1: Add SCIF2 pin groupChris Brandt
Add pin configuration for SCIF2 serial console interface. Signed-off-by: Chris Brandt <chris.brandt@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: dts: genmai: Add ethernet pin groupJacopo Mondi
Add pin configuration subnode for ETHER ethernet controller. Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: dts: genmai: Add user led device nodesJacopo Mondi
Add device nodes for user leds on Genmai board. Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: dts: genmai: Add RIIC2 pin groupJacopo Mondi
Add pin configuration subnode for RIIC2 interface. Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: dts: genmai: Add SCIF2 pin groupJacopo Mondi
Add pin configuration subnode for SCIF2 serial debug interface. Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: dts: r7s72100: Add pin controller nodeJacopo Mondi
Add pin controller node with 12 gpio controller sub-nodes to r7s72100 dtsi. Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: tegra: Register host1x node with IOMMU binding on Tegra124Paul Kocialkowski
This registers the host1x node with the SMMU (as HC swgroup) to allow the host1x code to attach to it. It avoid failing the probe sequence, which resulted in the Tegra DRM driver not probing and thus nothing being displayed on-screen. Signed-off-by: Paul Kocialkowski <contact@paulk.fr> Signed-off-by: Thierry Reding <treding@nvidia.com>
2017-07-31ARM: mediatek: add MT7623a smp bringup codeSean Wang
Add support for booting secondary CPUs on MT7623a. Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-07-31arm: dts: mt7623: add clock-frequency to CPU nodesSean Wang
Add clock-frequency property to CPU nodes. Avoids warnings like [ 0.001568] /cpus/cpu@0 missing clock-frequency property [ 0.001588] /cpus/cpu@1 missing clock-frequency property [ 0.001601] /cpus/cpu@2 missing clock-frequency property [ 0.001614] /cpus/cpu@3 missing clock-frequency property at boot time Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-07-31arm: dts: mt7623: add support for Bananapi R2 (BPI-R2) boardSean Wang
Add support for the Bananapi R2 (BPI-R2) development board from BIPAI KEJI. Detailed hardware information for BPI-R2 which could be found on http://www.banana-pi.org/r2.html The patch added nodes into the SoC-level file mt7623.dtsi such as CPU OPP table and thermal zone treating CPU as one of cooling devices and also added nodes into board-level file mt7623n-bananapi-bpi-r2.dts such as MediaTek GMAC, MT7530 Switch, the crypto engine, USB, IR, I2S, I2C, UART, SPI, PWM, GPIO keys, GPIO LEDs and PMIC LEDs. As to the other missing hardware and peripherals, they would be added and integrated continuously. Signed-off-by: Sean Wang <sean.wang@mediatek.com> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-07-31arm: dts: mt7623: enable the nand device on the mt7623n nand rfbJohn Crispin
Enable the nand device and setup pinmux on the mt7632m rfb with nand support. Signed-off-by: John Crispin <john@phrozen.org> Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-07-31arm: dts: mt7623: enable the usb device on the mt7623n rfbJohn Crispin
All versions of the mt7623n RFB have an USB port so enable the device. There is a gpio that gets used to power up the port supply. Add support for this gpio using the fixed-regulator driver. Signed-off-by: John Crispin <john@phrozen.org> Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-07-31arm: dts: mt7623: cleanup the mt7623n rfb uart nodesJohn Crispin
This patch does a cleanup of the uart nodes in the dts file of the RFB. It adds aliases, enables 2 more uarts and explicitly sets the uart mode of the console. Signed-off-by: John Crispin <john@phrozen.org> Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-07-31arm: dts: mt7623: rename mt7623-evb.dts to arch/arm/boot/dts/mt7623n-rfb.dtsiSean Wang
There are 2 versions of the MT7623 SoC, the one is MT7623N and the other is MT7623A. MT7623N is almost identical to MT7623A but has some additional multimedia features. The reference boards are available as NAND or MMC and might have a different ethernet setup. In order to reduce the duplication of devicetree code we add an intermediate dtsi file for these reference boards. Additionally MediaTek pointed out, that the EVB is yet another board and the board in question is infact the RFB. Take this into account while renaming the files. Signed-off-by: John Crispin <john@phrozen.org> Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-07-31arm: dts: mt7623: add mt6323.dtsi fileJohn Crispin
MediaTek produces various PMICs. Which one is used depends on the actual circuit design. Instead of adding the correct PMIC node to every dts file we instead add a new intermediate dtsi file which adds the PMIC node. For those boards with the same PMIC, the intermediate mt6323.dtsi could be reused to save more redundant nodes created on each board device-tree files. Signed-off-by: John Crispin <john@phrozen.org> Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-07-31powerpc/64s: Fix stack setup in watchdog soft_nmi_common()Nicholas Piggin
The watchdog soft-NMI exception stack setup loads a stack pointer twice, which is an obvious error. It ends up using the system reset interrupt (true-NMI) stack, which is also a bug because the watchdog could be preempted by a system reset interrupt that overwrites the NMI stack. Change the soft-NMI to use the "emergency stack". The current kernel stack is not used, because of the longer-term goal to prevent asynchronous stack access using soft-disable. Fixes: 2104180a5369 ("powerpc/64s: implement arch-specific hardlockup watchdog") Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-07-31Merge tag 'v4.13-rc1' into fixesMichael Ellerman
The fixes branch is based off a random pre-rc1 commit, because we had some fixes that needed to go in before rc1 was released. However we now need to fix some code that went in after that point, but before rc1, so merge rc1 to get that code into fixes so we can fix it!
2017-07-31powerpc/mm: Fix check of multiple 16G pages from device treeRui Teng
The offset of hugepage block will not be 16G, if the expected page is more than one. Calculate the totol size instead of the hardcode value. Fixes: 4792adbac9eb ("powerpc: Don't use a 16G page if beyond mem= limits") Signed-off-by: Rui Teng <rui.teng@linux.vnet.ibm.com> Tested-by: Anshuman Khandual <khandual@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-07-31powerpc/configs: Add a powernv_be_defconfigMichael Ellerman
Although pretty much everyone using powernv is running little endian, we should still test we can build for big endian. So add a powernv_be_defconfig, which is autogenerated by flipping the endian symbol in powernv_defconfig. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Reviewed-by: Cyril Bur <cyrilbur@gmail.com>
2017-07-31parisc: Increase thread and stack size to 32kbHelge Deller
Since kernel 4.11 the thread and irq stacks on parisc randomly overflow the default size of 16k. The reason why stack usage suddenly grew is yet unknown. Signed-off-by: Helge Deller <deller@gmx.de> Cc: stable@vger.kernel.org # 4.11+ Signed-off-by: Helge Deller <deller@gmx.de>
2017-07-31parisc: Handle vma's whose context is not current in flush_cache_rangeJohn David Anglin
In testing James' patch to drivers/parisc/pdc_stable.c, I hit the BUG statement in flush_cache_range() during a system shutdown: kernel BUG at arch/parisc/kernel/cache.c:595! CPU: 2 PID: 6532 Comm: kworker/2:0 Not tainted 4.13.0-rc2+ #1 Workqueue: events free_ioctx IAOQ[0]: flush_cache_range+0x144/0x148 IAOQ[1]: flush_cache_page+0x0/0x1a8 RP(r2): flush_cache_range+0xec/0x148 Backtrace: [<00000000402910ac>] unmap_page_range+0x84/0x880 [<00000000402918f4>] unmap_single_vma+0x4c/0x60 [<0000000040291a18>] zap_page_range_single+0x110/0x160 [<0000000040291c34>] unmap_mapping_range+0x174/0x1a8 [<000000004026ccd8>] truncate_pagecache+0x50/0xa8 [<000000004026cd84>] truncate_setsize+0x54/0x70 [<000000004033d534>] put_aio_ring_file+0x44/0xb0 [<000000004033d5d8>] aio_free_ring+0x38/0x140 [<000000004033d714>] free_ioctx+0x34/0xa8 [<00000000401b0028>] process_one_work+0x1b8/0x4d0 [<00000000401b04f4>] worker_thread+0x1b4/0x648 [<00000000401b9128>] kthread+0x1b0/0x208 [<0000000040150020>] end_fault_vector+0x20/0x28 [<0000000040639518>] nf_ip_reroute+0x50/0xa8 [<0000000040638ed0>] nf_ip_route+0x10/0x78 [<0000000040638c90>] xfrm4_mode_tunnel_input+0x180/0x1f8 CPU: 2 PID: 6532 Comm: kworker/2:0 Not tainted 4.13.0-rc2+ #1 Workqueue: events free_ioctx Backtrace: [<0000000040163bf0>] show_stack+0x20/0x38 [<0000000040688480>] dump_stack+0xa8/0x120 [<0000000040163dc4>] die_if_kernel+0x19c/0x2b0 [<0000000040164d0c>] handle_interruption+0xa24/0xa48 This patch modifies flush_cache_range() to handle non current contexts. In as much as this occurs infrequently, the simplest approach is to flush the entire cache when this happens. Signed-off-by: John David Anglin <dave.anglin@bell.net> Cc: stable@vger.kernel.org # 4.9+ Signed-off-by: Helge Deller <deller@gmx.de>
2017-07-30ARM: dts: keystone-k2e-evm: Add and enable DSP CMA memory poolSam Nelson
A CMA memory pool reserved memory node is added, and is attached to the DSP node through the 'memory-region' property on the K2E EVM board. This area will be used for allocating virtio rings and buffers. This node allows the DSP Memory Protection and Address Extension (MPAX) module to be configured properly for the DSP processor, and matches the values used on the other Keystone 2 boards for software compatibility. The reserved memory node and the user DSP node are also marked okay to enable the DSP on the 66AK2E EVM board. Signed-off-by: Sam Nelson <sam.nelson@ti.com> Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-07-30ARM: dts: keystone-k2l-evm: Add and enable common DSP CMA memory poolSam Nelson
A common CMA memory pool reserved memory node is added, and is attached to all the DSP nodes through the 'memory-region' property on the 66AK2L EVM board. This area will be used for allocating virtio rings and buffers. The common node allows the DSP Memory Protection and Address Extension (MPAX) module to be configured uniformly across all the DSP processors. The reserved memory node and all the user DSP nodes are also marked okay to enable the DSPs on the 66AK2L EVM board. Signed-off-by: Sam Nelson <sam.nelson@ti.com> Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-07-30ARM: dts: keystone-k2hk-evm: Add and enable common DSP CMA memory poolSam Nelson
A common CMA memory pool reserved memory node is added, and is attached to all the DSP nodes through the 'memory-region' property on the 66AK2H EVM board. This area will be used for allocating virtio rings and buffers. The common node allows the DSP Memory Protection and Address Extension (MPAX) module to be configured uniformly across all the DSP processors. The reserved memory node and all the user DSP nodes are also marked okay to enable the DSPs on the 66AK2K EVM board. Signed-off-by: Sam Nelson <sam.nelson@ti.com> Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-07-30ARM: dts: keystone-k2e: Add DSP nodeSuman Anna
The Keystone 2 66AK2E SoC has one TMS320C66x DSP Core Subsystem (C66x CorePac), with a 1.4 GHz C66x Fixed or Floating-Point DSP Core, and 32 KB of L1P & L1D SRAMs and a 1 MB L2 SRAM. Add the DT node for this DSP processor sub-system. The processor does not have a MMU, and uses various IPC Generation registers and shared memory for inter-processor communication. The alias with a stem 'rproc' has also been added for the DSP, it provides a fixed remoteproc id for the DSP processor. Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Sam Nelson <sam.nelson@ti.com> Signed-off-by: Andrew F. Davis <afd@ti.com> Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-07-30ARM: dts: keystone-k2l: Add DSP nodesSuman Anna
The Keystone 2 66AK2L SoCs have 4 TMS320C66x DSP Core Subsystems (C66x CorePacs), each with a 1.0 GHz or 1.2 GHz C66x Fixed / Floating-Point DSP Core, and 32 KB of L1P & L1D SRAMs and a 1 MB L2 SRAM. Add the DT nodes for these DSP processor sub-systems. The processors do not have an MMU, and use various IPC Generation registers and shared memory for inter-processor communication. The aliases with a stem 'rproc' have also been added for all the DSPs, they provide a fixed remoteproc id to each DSP processor. Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Sam Nelson <sam.nelson@ti.com> Signed-off-by: Andrew F. Davis <afd@ti.com> Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>