Pull "Second Round of Renesas ARM64 Based SoC DT Updates for v4.14" from Simon Horman:
* Add PFC device node to R-Car D3 (r8a77995)
This is a step towards enabling devices that use multiplexed pins
- including ethernet - on boards that use the r8a7796 SoC.
* Add USB nodes to R-Car M3-W (r8a7796)
This is a step towards enabling USB devices on boards that
use the r8a7796 SoC.
* Use newly added Gen-3 fallback compat string
This is consistent with ongoing efforts to use per-generation
fallback strings where appropriate across devices found
on R-Car SoCs. The aim of the effort being to strike a balance
between the limited information available about the compatibility
of devices found on different SoCs and the desire to ease enabling
devices on new SoCs.
This has no run-time effect due to the presence of a per-SoC
compat string.
* Cleanup whitespace and extra LVDS port label
Minor cleanups, no run-time effect.
* tag 'renesas-arm64-dt2-for-v4.14' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
arm64: dts: r8a77995: add pfc device node
arm64: dts: r8a7796: Add HSUSB device node
arm64: dts: r8a7796: Add USB-DMAC device nodes
arm64: dts: r8a7796: Add USB3.0 host device node
arm64: dts: r8a7796: add USB2.0 Host (EHCI/OHCI) device nodes
arm64: dts: r8a7796: add usb2_phy device nodes
arm64: dts: r8a7795: correct whitespace of companion property
arm64: dts: r8a7795: Use R-Car SATA Gen3 fallback compat string
arm64: dts: salvator-common: Remove extra LVDS port label
Pull "Second Round of Renesas ARM Based SoC DT Updates for v4.14" from Simon Horman:
* Use newly added Gen-3 fallback compat string
This is consistent with ongoing efforts to use per-generation
fallback strings where appropriate across devices found
on R-Car SoCs. The aim of the effort being to strike a balance
between the limited information available about the compatibility
of devices found on different SoCs and the desire to ease enabling
devices on new SoCs.
This has no run-time effect due to the presence of a per-SoC
compat string.
* Enable second CPU core on RZ/G1M (r8a7743)
The RZ/G1M has two CA15 cores running at up to 1.5GHz
* Enable frequency scaling on RZ/G1M (r8a7743)
* Add six I2C cores to RZ/G1M (r8a7743) SoC DT
This is a step towards enabling these cores on boards that use this SoC
* Add CEC clock for HDMI transmitter to R-Car M2-W (r8a7791) Koelsch
Hans Verkuil says "The adv7511 on the Koelsch board has a 12 MHz fixed
clock for the CEC block. Specify this in the dts to enable CEC support."
* Add PFC support to RZ/G1E (r8a7745) SoC and add Ethernet and SCIF2
pins to SK-RZG1E board.
This allows the kernel to control multiplexed pins for Ethernet
and SCIF2 rather than relying on setup inherited at boot.
* tag 'renesas-dt2-for-v4.14' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: dts: r8a7791: Use R-Car SATA Gen2 fallback compat string
ARM: dts: r8a7790: Use R-Car SATA Gen2 fallback compat string
ARM: dts: r8a7743: Add OPP table for frequency scaling
ARM: dts: r8a7743: Add APMU node and second CPU core
ARM: dts: koelsch: Add CEC clock for HDMI transmitter
ARM: dts: sk-rzg1e: add Ether pins
ARM: dts: sk-rzg1e: add SCIF2 pins
ARM: dts: r8a7745: add PFC support
ARM: dts: r8a7743: Add I2C DT support
Pull "Qualcomm ARM64 Updates for v4.14 Part 2" from Andy Gross:
* Add IPQ8074 SoC and HK01 board support
* tag 'qcom-arm64-for-4.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
arm64: dts: Add ipq8074 SoC and HK01 board support
Pull "ARM: tegra: Device tree changes for v4.14-rc1" from Thierry Reding:
One fix for Tegra124 to hook the host1x device up with the SMMU.
The remainder of this enables USB device mode on a couple of boards
where the port is currently unused.
* tag 'tegra-for-4.14-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
ARM: tegra: Enable UDC on AC100
ARM: tegra: Enable UDC on Jetson TK1
ARM: tegra: Enable UDC on Dalmore
ARM: tegra: Enable UDC on Beaver
ARM: tegra: Register host1x node with IOMMU binding on Tegra124
Pull "ZTE device tree updates for 4.14" from Shawn Guo:
- A clean up patch from Shawn Lin to remove the deprecated dwmmc
property 'num-slots'.
* tag 'zte-dt-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
ARM: dts: zte: remove num-slots from zx296702-ad1
Pull "i.MX device tree updates for 4.14" from Shawn Guo:
- A series from Andrew Lunn updating imx6-rdu2 board to enable
on-board Marvell switch support.
- A series from Jagan Teki updating imx6ul-isiot and imx6ul-geam to
enable audio card and FEC support.
- Add support for Toradex Ixora V1.1 and Apalis Evaluation Board
along with some cleanups.
- Enable DRM display support for imx6ul-evk and imx7d-sdb board.
- Add i.MX53 based Beckhoff CX9020 board support.
- Add GPMI NAND and APBH DMA devices for i.MX7 and enables NAND support
for imx7-colibri board.
- Enables the ADV7180 analog video decoder sensor connected to the
IMX6 IPU on various Gateworks Ventana boards.
- Minor updates on misc boards and some random cleanups.
* tag 'imx-dt-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (47 commits)
ARM: dts: imx6q-bx50v3: Enable i2c recovery mechanism
ARM: dts: imx6q-apalis-eval: add support for Apalis Evaluation Board
ARM: dts: imx6: add support for Toradex Ixora V1.1 carrier board
ARM: dts: imx6qdl-apalis: imx6q-apalis-ixora: use i2c from dwc hdmi
ARM: dts: imx6q-apalis-ixora: add camera i2c bus definition
ARM: dts: imx6q-apalis-ixora: get rid of obsolete fusion comment
ARM: dts: imx6qdl-apalis: reword cam i2c comment
ARM: dts: imx6qdl-apalis: imx6q-apalis-ixora: get rid of tegra legacy gen1_i2c comment
ARM: dts: imx6q-apalis-ixora: combine aliases
ARM: dts: imx6qdl-apalis: split usdhc1 pinctrl to support 4- and 8-bit
ARM: dts: imx6q-apalis-ixora: fix usdhc2 pinctrl property
ARM: dts: imx6ul-liteboard: Support poweroff
ARM: dts: imx: add CX9020 Embedded PC device tree
ARM: dts: imx53: add alternative UART2 configuration
ARM: dts: imx53: add srtc node
dt-bindings: arm: Add entry for Beckhoff CX9020
ARM: dts: i.MX25: add RNGB node to dtsi
ARM: dts: imx6ul-14x14-evk: Remove unrelated pin from ENET group
ARM: dts: imx7d-sdb: Add flexcan support
ARM: dts: imx7-colibri: add NAND support
...
Pull "Broadcom devicetree changes for 4.14" from Florian Fainelli:
This pull request contains Broadcom ARM-based SoCs Device Tree changes for
4.14, please pull the following:
- Eric moves the bcm2837 DT file from arm64 to arm because it created a maintenance
problem and would have required either duplication or cross merges
- Stefan changes how the pinmuxing is defined and pushes it at the board level
to support Raspberry Pi Zero Wireless. He then adds supports for the actual
Raspberry Pi Zero Wireless board along with binding documentation. Stefan
also defines a proper SMP enable-method property and binding for BCM2836
(Raspbery Pi 2)
- Rafal describes the BCM5301X USB ports correctly in Device Tree such that
it becomes possible to assign them to specific LED triggers (e.g: USB activity).
He does the same thing for BCM53573 and defines default LED triggers for USB.
- Jon provides a fix for Northstar Plus which consists in correctly defining
the "dma-coherent" property for peripherals which are DMA coherent. He also
does a bit of re-arrangement of the USB DT nodes and finally adds USB 3 PHY
and host controller support for NorthStar Plus
- Florian adds support for Broadcom's BCM947189ACDBMR reference board which is
based on BCM47182/53573 and which supports external MoCA (BCM6802)
- Ray fixes the wrong UART2 base address for Cygnus
- Scott moves the v3d node in the proper unit address order and defines the correct
UART alias for the BCM91130_entphn reference board to be UART3
- Jason adds the DT node for the Cygnus Cortex-A9 Performance Monitoring Unit
- Jonathan adds a bunch of additional peripherals to the Cygnus DTS include file:
SDHCI, Keypad, SPI, DMA and pinmux configurations
- Raveendra adds the Cygnus OHCI and EHCI Device Tree nodes
* tag 'arm-soc/for-4.14/devicetree' of http://github.com/Broadcom/stblinux:
ARM: BCM53573: Specify ports for USB LED for Tenda AC9
ARM: dts: cygnus: Add generic-ehci/ohci nodes
ARM: dts: cygnus: add serial0 alias for uart3 on bcm91130_entphn
ARM: dts: cygnus: Add additional peripherals to dtsi
ARM: dts: cygnus: Enable Performance Monitoring Unit
ARM: dts: cygnus: place v3d in proper address ordered location
ARM: dts: cygnus: Fix incorrect UART2 register base
ARM: dts: bcm283x: Add 32-bit enable method for SMP
dt-bindings: arm: add SMP enable-method for BCM2836
ARM: dts: BCM53573: Add Broadcom BCM947189ACDBMR board support
ARM: dts: BCM5301X: Specify USB ports for USB LEDs of few devices
ARM: dts: NSP: Add USB3 and USB3 PHY to NSP
ARM: dts: NSP: Rearrage USB entries
ARM: dts: NSP: Add dma-coherent to relevant DT entries
ARM: dts: bcm2835: Add Raspberry Pi Zero W
dt-bindings: bcm: Add Raspberry Pi Zero W
ARM: bcm283x: Define UART pinmuxing on board level
ARM: dts: BCM5301X: Specify USB ports for each controller
ARM: dts: bcm283x: Move the BCM2837 DT contents from arm64 to arm.
Pull "device tree changes for omaps for v4.14, part2" from Tony Lindgren:
Second set of device tree changes for omaps for v4.14 merge window.
These got delayed a bit because the iodelay changes had to be
reworked for a missing Signed-off-by. And the beagleboard-x15
wants to use iodelay too for mmc:
- A series of changes to add dra7 iodelay data used for mmc
- Add support for new beagleBoard-x15 revision c
- Fix logicpd-torpedo-37xx-devkit mmc card detect direction
* tag 'omap-for-v4.14/dt-v3-pt2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: dts: omap3: logicpd-torpedo-37xx-devkit: Fix MMC1 cd-gpio
ARM: dts: am57xx-beagle-x15: Add support for rev C
ARM: dts: dra71-evm: Add pinmux configuration for MMC
ARM: dts: dra72-evm-revc: Add pinmux configuration for MMC
ARM: dts: dra72-evm: Add pinmux configuration for MMC
ARM: dts: am572x-idk: Add pinmux configuration for MMC
ARM: dts: am571x-idk: Add pinmux configuration for MMC
ARM: dts: am57xx-idk: Move common MMC/SD properties to common file
ARM: dts: am57xx-beagle-x15: Add pinmux configuration for MMC
ARM: dts: dra7-evm: Add pinmux configuration for MMC
ARM: dts: dra74x: Create a common file with MMC/SD IOdelay data
ARM: dts: dra72x: Create a common file with MMC/SD IOdelay data
Pull "ZTE arm64 device tree updates for 4.14" from Shawn Guo:
- A clean up patch from Shawn Lin to remove the deprecated dwmmc
property 'num-slots' from ZX296718 device tree.
- Enable various devices for ZX296718 SoC support, VGA display, I2S
audio, pinctrl, GPIO, PWM and IRDEC.
- Update zx296718-evb support to use audio-graph-card for HDMI audio
and add I2S sound card.
- Add initial zx296718-pcbox board support with storage, audio,
display devices enabled.
* tag 'zte-dt64-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
arm64: dts: zte: add initial zx296718-pcbox board support
arm64: dts: zx296718-evb: add I2S sound card support
arm64: dts: zx296718-evb: use audio-graph-card for HDMI audio
arm64: dts: zx296718: add irdec device for remote control
arm64: dts: zx296718: add PWM device support
arm64: dts: zx296718: add voltage data into OPP table
arm64: dts: zx296718: set a better parent clock for I2S0
arm64: dts: zx296718: add pinctrl and gpio devices
arm64: dts: zx296718: add I2S and I2C audio codec
arm64: dts: zx296718: add VGA device support
arm64: dts: zte: remove num-slots from zx296718
Pull "Freescale arm64 device tree updates for 4.14" from Shawn Guo:
- Correct the typo in fsl-ls1088a-rdb board name.
- A series from Horia Geantă to consolidate aliases node and enable
crypto support for ls208xa and ls1088a.
- Enable USB host support for ls1012a.
- Enable cpuidle support for ls1088a and ls208xa.
* tag 'imx-dt64-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
arm64: dts: ls1088: Correction in Board name from "L1088A" to "LS1088A"
arm64: dts: ls208xa: add cpu idle support
arm64: dts: ls1088a: add cpu idle support
arm64: dts: freescale: ls1088a: add crypto node
arm64: dts: freescale: ls208xa: add crypto node
arm64: dts: freescale: ls208xa: share aliases node
arm64: dts: ls1012a: add USB host controller nodes
Pull "Broadcom devicetree-arm64 changes for 4.14" from Florian Fainelli:
This pull request contains Broadcom ARM64-based SoCs Device Tree changes for
4.14, please pull the following:
- Scott moves all the Northstar 2 DTS files into a sub-directory to be consistent
with what was done for stingray and to future proof the addition of new board
DTS files
- Velibor adds the ARM CCN-502 interconnect DT node to the Stingray SoC
DTS include file
- Srinath adds the MDIO multiplexer and SATA nodes to the Stingray DTS
include files
- Anup adds the SP804 timers, FlexRM (mailbox) and RAID engine DT nodes
to the Stingray DTS include files
- Abishek adds the BGMAC (Ethernet controller) node to the Stingray DTS
files
* tag 'arm-soc/for-4.14/devicetree-arm64' of http://github.com/Broadcom/stblinux:
arm64: dts: Add SBA-RAID DT nodes for Stingray SoC
arm64: dts: Add FlexRM DT nodes for Stingray
arm64: dts: Add SATA DT nodes for Stingray SoC
arm64: dts: Add DT node to enable BGMAC driver on Stingray
arm64: dts: Add sp804 DT nodes for Stingray SoC
arm64: dts: Add MDIO multiplexer DT node for Stingray
arm64: dts: Enable stats for CCN-502 interconnect on Stingray
arm64: dts: move ns2 into northstar2 directory
Pull "ARM: tegra: Default configuration updates for v4.14-rc1" from Thierry Reding:
Enables the ChipIdea UDC driver and selects some symbols that were
previously being selected by other drivers but will no longer be in
v4.14.
* tag 'tegra-for-4.14-arm-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
ARM: defconfig: tegra: Enable ChipIdea UDC driver
ARM: configs: Add Tegra I2S interfaces to multi_v7_defconfig
ARM: tegra: Add Tegra I2S interfaces to defconfig
ARM: tegra: Update default configuration for v4.13-rc1
Pull "i.MX defconfig updates for 4.14" from Shawn Guo:
- Enable SPI_GPIO and GPIO_74X164 support which are useful for some
boards like imx7d-sabresd.
- Enable build of CODA video codec and staging video4linux drivers.
* tag 'imx-defconfig-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
ARM: imx_v6_v7_defconfig: Enable staging video4linux drivers
ARM: imx_v6_v7_defconfig: Select the coda driver as module
ARM: imx_v6_v7_defconfig: Enable GPIO_74X164
ARM: imx_v6_v7_defconfig: Enable SPI_GPIO
Pull "Broadcom defconfig changes for 4.14" from Florian Fainelli:
This pull request contains defconfig file changes for Broadcom ARM-based SoCs
for 4.14, please pull the following:
- Markus enables the Broadcom STB AVS thermal monitoring driver as a module
which is currently queued in Rui Zhang's tree
- Stefan updates the bcm2835_defconfig to contain a few useful changes: the RPI
mini UART is enabled by default, the default CMA pool is bumped up to 32MB to
support VC4 usages and finally BRCMFMAC is enabled as module since this is the
wireless driver used on Raspberry Pi Zero Wireless.
* tag 'arm-soc/for-4.14/defconfig' of http://github.com/Broadcom/stblinux:
ARM: multi_v7_defconfig: add CONFIG_BRCMSTB_THERMAL
ARM: bcm2835_defconfig: Enable wifi driver for RPi Zero W
ARM: bcm2835_defconfig: Increase CMA for VC4
ARM: bcm2835_defconfig: Enable Mini UART console support
Pull "Second Round of Renesas ARM Based SoC Defconfig Updates for v4.14"
from Simon Horman:
* Enable BQ32000 rtc in shmobile_defconfig
Biju Das says "The iWave RZ/G1M Q7 SOM supports RTC (TI BQ32000). To
increase hardware support enable the driver in the shmobile_defconfig
multiplatform configuration."
* tag 'renesas-defconfig2-for-v4.14' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: Enable BQ32000 rtc in shmobile_defconfig
Pull powerpc fixes from Michael Ellerman:
"A bug in the VSX register saving that could cause userspace FP/VMX
register corruption.
Never seen to happen (that we know of), was found by code inspection,
but still tagged for stable given the consequences"
* tag 'powerpc-4.13-7' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
powerpc: Fix VSX enabling/flushing to also test MSR_FP and MSR_VEC
Pull ARM SoC fixes from Arnd Bergmann:
"A small number of bugfixes, nothing serious this time. Here is a full
list.
4.13 regression fix:
- imx7d-sdb pinctrl support regressed in 4.13 due to an incomplete
patch
DT fixes for recently added devices:
- badly copied DT entries on imx6qdl-nitrogen6_som broke PCI reset
- sama5d2 memory controller had the wrong ID and registers
- imx7 power domains did not work correctly with deferred probing
(driver added in 4.12)
- Allwinner H5 pinctrl (added in 4.12) did not work right with GPIO
interrupts
Fixes for older bugs that just got noticed:
- i.MX25 ADC support (added in 4.6) apparently never worked right due
to a missing 'ranges' property in DT.
- Renesas Salvador Audio support (added in v4.5) was broken for
device repeated bind/unbind due to a naming conflict.
- Various allwinner boards are missing an 'ethernet' alias in DT,
leading to unstable device naming.
Preventive bugfix:
- TI Keystone needs a fix to prevent a NULL pointer dereference with
an upcoming PM change"
* tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
soc: ti: ti_sci_pm_domains: Populate name for genpd
ARM: dts: imx6qdl-nitrogen6_som2: fix PCIe reset
arm64: allwinner: h5: fix pinctrl IRQs
arm64: allwinner: a64: sopine: add missing ethernet0 alias
arm64: allwinner: a64: pine64: add missing ethernet0 alias
arm64: allwinner: a64: bananapi-m64: add missing ethernet0 alias
arm64: renesas: salvator-common: avoid audio_clkout naming conflict
ARM: dts: i.MX25: add ranges to tscadc
soc: imx: gpcv2: fix regulator deferred probe
ARM: dts: at91: sama5d2: fix EBI/NAND controllers declaration
ARM: dts: at91: sama5d2: use sama5d2 compatible string for SMC
ARM: dts: imx7d-sdb: Put pinctrl_spi4 in the correct location
* 'for-next/perf' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux:
arm64: perf: add support for Cortex-A35
arm64: perf: add support for Cortex-A73
arm64: perf: Remove redundant entries from CPU-specific event maps
arm64: perf: Connect additional events to pmu counters
arm64: perf: Allow standard PMUv3 events to be extended by the CPU type
perf: xgene: Remove unnecessary managed resources cleanup
arm64: perf: Allow more than one cycle counter to be used
The percpu variables efi_fpsimd_state and efi_fpsimd_state_used,
used by the FPSIMD save/restore routines for EFI calls, are
unintentionally global.
There's no reason for anything outside fpsimd.c to touch these, so
this patch makes them static (as they should have been in the first
place).
Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
The h8homlet board has the A83T's standard USB 1.1/2.0 host pair routed
to a USB host port on the board. The other USB host port is routed to
USB OTG controller.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
The Cubietruck-plus has a GL830 USB-to-SATA bridge connected to EHCI0,
and a USB3503 HSIC USB 2.0 hub connected to EHCI1. The USB3503's I2C
control interface is not connected.
This patch enables both EHCI controllers, adds a device node for the
USB hub, and includes sunxi-common-regulators.dtsi for the VBUS
regulators. The existing reg_vcc3v3 is dropped as it is also available
in the set of common regulators. Other unused regulators are disabled.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
The USB OTG controller found on the A83T is compatible with the one
found on the A33.
Add a device node for it.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
The A83T has 3 USB PHYs, 1 for USB OTG, 1 for standard USB 2.0, 1 for
USB HSIC. EHCI0/OHCI0 are the standard USB host pair, while EHCI1 is
the host controller for HSIC. OTG is not added yet.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Tested-by: Maxime Ripard <maxime.ripard@free-electrons.com>
We already always set that type but don't check if it is supported. Also
for nVMX, we only support WB for now. Let's just require it.
Signed-off-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
Don't use shifts, tag them correctly as EPTP and use better matching
names (PWL vs. GAW).
Signed-off-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
There is currently some confusion between nested and L1 GPAs. The
assignment to "direct" in kvm_mmu_page_fault tries to fix that, but
it is not enough. What this patch does is fence off the MMIO cache
completely when using shadow nested page tables, since we have neither
a GVA nor an L1 GPA to put in the cache. This also allows some
simplifications in kvm_mmu_page_fault and FNAME(page_fault).
The EPT misconfig likewise does not have an L1 GPA to pass to
kvm_io_bus_write, so that must be skipped for guest mode.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
[Changed comment to say "GPAs" instead of "L1's physical addresses", as
per David's review. - Radim]
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
When a guest causes a page fault which requires emulation, the
vcpu->arch.gpa_available flag is set to indicate that cr2 contains a
valid GPA.
Currently, emulator_read_write_onepage() makes use of gpa_available flag
to avoid a guest page walk for a known MMIO regions. Lets not limit
the gpa_available optimization to just MMIO region. The patch extends
the check to avoid page walk whenever gpa_available flag is set.
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
[Fix EPT=0 according to Wanpeng Li's fix, plus ensure VMX also uses the
new code. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
[Moved "ret < 0" to the else brach, as per David's review. - Radim]
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
Calling handle_mmio_page_fault() has been unnecessary since commit
e9ee956e31 ("KVM: x86: MMU: Move handle_mmio_page_fault() call to
kvm_mmu_page_fault()", 2016-02-22).
handle_mmio_page_fault() can now be made static.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
The hardlockup detector on x86 uses a performance counter based on unhalted
CPU cycles and a periodic hrtimer. The hrtimer period is about 2/5 of the
performance counter period, so the hrtimer should fire 2-3 times before the
performance counter NMI fires. The NMI code checks whether the hrtimer
fired since the last invocation. If not, it assumess a hard lockup.
The calculation of those periods is based on the nominal CPU
frequency. Turbo modes increase the CPU clock frequency and therefore
shorten the period of the perf/NMI watchdog. With extreme Turbo-modes (3x
nominal frequency) the perf/NMI period is shorter than the hrtimer period
which leads to false positives.
A simple fix would be to shorten the hrtimer period, but that comes with
the side effect of more frequent hrtimer and softlockup thread wakeups,
which is not desired.
Implement a low pass filter, which checks the perf/NMI period against
kernel time. If the perf/NMI fires before 4/5 of the watchdog period has
elapsed then the event is ignored and postponed to the next perf/NMI.
That solves the problem and avoids the overhead of shorter hrtimer periods
and more frequent softlockup thread wakeups.
Fixes: 58687acba5 ("lockup_detector: Combine nmi_watchdog and softlockup detector")
Reported-and-tested-by: Kan Liang <Kan.liang@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: dzickus@redhat.com
Cc: prarit@redhat.com
Cc: ak@linux.intel.com
Cc: babu.moger@oracle.com
Cc: peterz@infradead.org
Cc: eranian@google.com
Cc: acme@redhat.com
Cc: stable@vger.kernel.org
Cc: atomlin@redhat.com
Cc: akpm@linux-foundation.org
Cc: torvalds@linux-foundation.org
Link: http://lkml.kernel.org/r/alpine.DEB.2.20.1708150931310.1886@nanos
Pull "i.MX fixes for 4.13, round 3" from Shawn Guo:
- Fix PCIe reset GPIO of imx6qdl-nitrogen6_som2 board, which was
a bad copy from nitrogen6_max device tree.
* tag 'imx-fixes-4.13-3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
ARM: dts: imx6qdl-nitrogen6_som2: fix PCIe reset
Pull "Allwinner fixes for 4.13, round 2" from Chen-Yu Tsai:
Three fixes adding a missing alias for the Ethernet controller on A64
boards. One adding a missing interrupt for the pin controller.
* tag 'sunxi-fixes-for-4.13-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
arm64: allwinner: h5: fix pinctrl IRQs
arm64: allwinner: a64: sopine: add missing ethernet0 alias
arm64: allwinner: a64: pine64: add missing ethernet0 alias
arm64: allwinner: a64: bananapi-m64: add missing ethernet0 alias
RK3399 USB DWC3 controller has a issue that FS/LS devices not
recognized if inserted through USB 3.0 HUB. It's because that
the inter-packet delay between the SSPLIT token to SETUP token
is about 566ns, more then the USB spec requirement.
This patch adds a quirk "snps,dis-tx-ipgap-linecheck-quirk" to
disable the u2mac linestate check to decrease the SSPLIT token
to SETUP token inter-packet delay from 566ns to 466ns.
Signed-off-by: William Wu <william.wu@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
There is no guarantee that the various isync's involved with
the context switch will order the update of the CPU mask with
the first TLB entry for the new context being loaded by the HW.
Be safe here and add a memory barrier to order any subsequent
load/store which may bring entries into the TLB.
The corresponding barrier on the other side already exists as
pte updates use pte_xchg() which uses __cmpxchg_u64 which has
a sync after the atomic operation.
Cc: stable@vger.kernel.org
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
[mpe: Add comments in the code]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Pull power management fixes from Rafael Wysocki:
"These fix two issues related to exposing the current CPU frequency to
user space on x86.
Specifics:
- Disable interrupts around reading IA32_APERF and IA32_MPERF in
aperfmperf_snapshot_khz() (introduced recently) to avoid excessive
delays between the reads that may result from interrupt handling
(Doug Smythies).
- Fix the computation of the CPU frequency to be reported through the
pstate_sample tracepoint in intel_pstate (Doug Smythies)"
* tag 'pm-4.13-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
cpufreq: x86: Disable interrupts during MSRs reading
cpufreq: intel_pstate: report correct CPU frequencies during trace
This uses trigger-sources documented in commit 80dc6e1cd8 ("dt-bindings:
leds: document new trigger-sources property") to specify USB ports. Such an
information can be used by operating system to setup LEDs behavior.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Use serial0 alias to select stdout-path on Cygnus bcm911360_entphon
board.
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>