Commit Graph

966149 Commits

Author SHA1 Message Date
Olof Johansson
8fc6726d90 Merge tag 'sunxi-drivers-for-5.10-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/drivers
One small style fix for the Allwinner SRAM driver

* tag 'sunxi-drivers-for-5.10-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  soc: sunxi: sram: remove unneeded semicolon

Link: https://lore.kernel.org/r/175d36ad-bc98-4d5d-b035-ce467e932248.lettre@localhost
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:58:16 -07:00
Andre Przywara
e916bfacf5 ARM: dts: nspire: Fix SP804 users
Even though the SP804 binding allows to specify only one clock, the
primecell driver requires a named clock to activate the bus clock.

Specify the one clock three times and provide some clock-names, to
make the DT match the SP804 and primecell binding.

Link: https://lore.kernel.org/r/20200907121831.242281-3-andre.przywara@arm.com
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:56:56 -07:00
Andre Przywara
c9794866ac arm64: dts: lg: Fix SP804 users
Even though the SP804 binding allows to specify only one clock, the
primecell driver requires a named clock to activate the bus clock.

Specify the one clock three times and provide some clock-names, to
make the DT match the SP804 and primecell binding.
Also add the missing arm,primecell compatible string.

Link: https://lore.kernel.org/r/20200907121831.242281-4-andre.przywara@arm.com
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:56:46 -07:00
Andre Przywara
fc772314a3 arm64: dts: lg: Fix SP805 clocks
The SP805 DT binding requires two clocks to be specified, but the two
LG platform DTs currently only specify one clock.

In practice, Linux would pick a clock named "apb_pclk" for the bus
clock, and the Linux (and U-Boot) SP805 driver would use the first clock
to derive the actual watchdog counter frequency.

Since currently both are the very same clock, we can just double the
clock reference, and add the correct clock-names, to match the binding.

Link: https://lore.kernel.org/r/20200907121831.242281-6-andre.przywara@arm.com
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Chanho Min <chanho.min@lge.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:56:03 -07:00
Daniel Palmer
f6320e326f ARM: mstar: Fix up the fallout from moving the dts/dtsi files
Since the dtsi/dts files have been moved some includes are now
broken so this fixes up the includes so the dtbs build again.

Link: https://lore.kernel.org/r/20201002133418.2250277-6-daniel@0x0f.com
Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:48:25 -07:00
Daniel Palmer
f1ef5b78a7 ARM: mstar: Add mstar prefix to all of the dtsi/dts files
Based on Arnd's comment[0] all of the MStar dtsi/dts files should
have had a prefix.

This moves the files, fixes the Makefile that generates dtbs and
fixes up the MAINTAINERS entry.

Fixing up some includes in the files themselves is left for a later
commit as rolling it into this commit resulted in a confusing diff.

0 - https://lore.kernel.org/linux-arm-kernel/CAK8P3a0maQhfaerwG4KgFZOrUPwueKOp2+MOeG9C=+8ZNzc2Kg@mail.gmail.com/

Link: https://lore.kernel.org/r/20201002133418.2250277-5-daniel@0x0f.com
Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:48:20 -07:00
Daniel Palmer
0434460442 ARM: mstar: Add interrupt to pm_uart
Since we now have support for the interrupt controller pm_uart's
interrupt is routed through it make sense to wire up it's interrupt
in the device tree.

The interrupt is the same for all known chips so it goes in the
base dtsi.

Link: https://lore.kernel.org/r/20201002133418.2250277-4-daniel@0x0f.com
Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:48:14 -07:00
Daniel Palmer
925595f77f ARM: mstar: Add interrupt controller to base dtsi
Add the IRQ and FIQ intc instances to the base MStar/SigmaStar v7
dtsi. All of the known SoCs have both and at the same place with
their common IPs using the same interrupt lines.

Link: https://lore.kernel.org/r/20201002133418.2250277-3-daniel@0x0f.com
Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:48:08 -07:00
Daniel Palmer
511bd85485 ARM: mstar: Select MStar intc
MediaTek recently introduced support for the MStar interrupt
controller that is also present in some of their chips as well
as the MStar/Sigmastar chips.

Almost all of the peripheral interrupts go through an instance of
this controller in MStar/SigmaStar Arm v7 chips so we want to select
it if CONFIG_ARCH_MSTARV7 is selected.

Link: https://lore.kernel.org/r/20201002133418.2250277-2-daniel@0x0f.com
Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:47:56 -07:00
Olof Johansson
6869f774b1 Merge tag 'omap-for-v5.9/fixes-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/fixes
Two regression fixes for omaps

Fix AM33XX_IOPAD macro that broke after recent pinctrl changes
to use #pinctrl-cells = 2. And fix omap_enter_idle_coupled()
for cases where cpu_cluster_pm_enter() returns an error as
otherwise we may end up wrongly idling the MPU domain on the
next WFI.

* tag 'omap-for-v5.9/fixes-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Restore MPU power domain if cpu_cluster_pm_enter() fails
  ARM: dts: am33xx: modify AM33XX_IOPAD for #pinctrl-cells = 2

Link: https://lore.kernel.org/r/pull-1601544624-617679@atomide.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:45:12 -07:00
Olof Johansson
5c505432de Merge tag 'hisi-arm32-dt-for-5.10-tag2' of git://github.com/hisilicon/linux-hisi into arm/dt
ARM: DT: Hisilicon ARM32 SoCs DT updates for 5.10 (take two)

- Fix the system controller compatible for the hi3620 and hip04 SoCs
- Add the basic device tree for the hisilicon SD5203 SoC

* tag 'hisi-arm32-dt-for-5.10-tag2' of git://github.com/hisilicon/linux-hisi:
  ARM: dts: hisilicon: add SD5203 dts
  ARM: dts: hisilicon: fix the system controller compatible nodes

Link: https://lore.kernel.org/r/5F742717.5080405@hisilicon.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:44:44 -07:00
Olof Johansson
1ddaaa42ac Merge tag 'omap-for-v5.10/dt-part2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/dt
More dts changes for omaps for v5.10 merge window

Some more dts changes that did not make it to the first set of
dts changes:

- Drop unnessary nokia,nvm-size property

- A series of changes to use "okay" instead of "ok"

- A series of changes to move boards to use new cpsw switch
  driver and drop the drop legacy cpsw dt node

- A series of changes to fix issues with the GPIO binding
  usage

* tag 'omap-for-v5.10/dt-part2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: dts: am3874: iceboard: fix GPIO expander reset GPIOs
  ARM: dts: am335x: t335: align GPIO hog names with dtschema
  ARM: dts: am335x: lxm: fix PCA9539 GPIO expander properties
  ARM: dts: am437x-l4: drop legacy cpsw dt node
  ARM: dts: am437x: switch to new cpsw switch drv
  ARM: dts: am437x-l4: add dt node for new cpsw switchdev driver
  ARM: dts: dra7: drop legacy cpsw dt node
  ARM: dts: am57xx-cl-som-am57x: switch to new cpsw switch drv
  ARM: dts: dra7x-evm: switch to new cpsw switch drv
  ARM: dts: beagle-x15: switch to new cpsw switch drv
  ARM: dts: am57xx-idk: switch to new cpsw switch drv
  ARM: dts: am5729: beagleboneai: switch to new cpsw switch drv
  ARM: dts: am43xx: replace status value "ok" by "okay"
  ARM: dts: dra7xx: replace status value "ok" by "okay"
  ARM: dts: omap: replace status value "ok" by "okay"
  ARM: dts: n9, n950: Remove nokia,nvm-size property

Link: https://lore.kernel.org/r/pull-1601445968-476435@atomide.com-2
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:44:08 -07:00
Olof Johansson
02d0bf1ae8 Merge tag 'zynqmp-dt-for-v5.10' of https://github.com/Xilinx/linux-xlnx into arm/dt
arm64: soc: ZynqMP DT changes for v5.10

- Fix IRQ flag for PMIC
- Align gpio hogs and leds with naming convention
- Rename busses to match DT schema
- Tune i2c cadence compatible string
- Remove undocumented u-boot properties

* tag 'zynqmp-dt-for-v5.10' of https://github.com/Xilinx/linux-xlnx:
  arm64: dts: zynqmp: Fix leds subnode name for zcu100/ultra96 v1
  arm64: dts: zynqmp: Remove undocumented u-boot properties
  arm64: dts: zynqmp: Remove additional compatible string for i2c IPs
  arm64: dts: zynqmp: Rename buses to be align with simple-bus yaml
  arm64: dts: xilinx: align GPIO hog names with dtschema
  arm64: dts: zynqmp-zcu100-revC: correct interrupt flags
  arm64: dts: xilinx: Align IOMMU nodename with dtschema
  arm64: dts: zynqmp: Add GTR transceivers

Link: https://lore.kernel.org/r/37a0333b-541e-649c-68c5-aa4b52e6b91d@monstr.eu
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:43:27 -07:00
Olof Johansson
e27312539a Merge tag 'sunxi-dt-for-5.10-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/dt
A few more DT patches for 5.10, to support simple-framebuffer on the v3s
and the pinecube board

* tag 'sunxi-dt-for-5.10-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  ARM: dts: sun8i: v3s: Add simple-framebuffer
  ARM: dts: sun8i: s3l: add support for Pine64 PineCube IP camera
  dt-bindings: arm: sunxi: add Pine64 PineCube binding
  ARM: dts: sun8i: V3/V3s/S3/S3L: add pinctrl for I2C1 at PE bank
  ARM: dts: sun8i: V3/V3s/S3/S3L: add pinctrl for 8-bit parallel CSI
  ARM: dts: sun8i: V3/V3s/S3/S3L: add CSI1 device node
  ARM: dts: sun8i: V3/V3s/S3/S3L: add pinctrl for UART2 RX/TX
  ARM: dts: sun8i: V3/V3s/S3/S3L: add Ethernet support

Link: https://lore.kernel.org/r/e7c12b59-8603-438d-908b-5f0bde2c8697.lettre@localhost
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:42:05 -07:00
Christophe Kerello
b402b4e67c ARM: multi_v7_defconfig: add FMC2 EBI controller support
This patch adds FMC2 EBI controller support used by STM32MP SOCs.

Link: https://lore.kernel.org/r/20200924101342.4707-1-alexandre.torgue@st.com
Signed-off-by: Christophe Kerello <christophe.kerello@st.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:39:13 -07:00
Alexander A. Klimov
acddaa5536 ARM: stm32: Replace HTTP links with HTTPS ones
Rationale:
Reduces attack surface on kernel devs opening the links for MITM
as HTTPS traffic is much harder to manipulate.

Deterministic algorithm:
For each file:
  If not .svg:
    For each line:
      If doesn't contain `\bxmlns\b`:
        For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`:
	  If neither `\bgnu\.org/license`, nor `\bmozilla\.org/MPL\b`:
            If both the HTTP and HTTPS versions
            return 200 OK and serve the same content:
              Replace HTTP with HTTPS.

Link: https://lore.kernel.org/r/20200924101113.4528-1-alexandre.torgue@st.com
Signed-off-by: Alexander A. Klimov <grandmaster@al2klimov.de>
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:38:54 -07:00
Olof Johansson
02c96f8353 Merge tag 'v5.10-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/dt
cpu-supply fixes (supply for each cpu core not only cpu0)
and a spelling for the status property.

* tag 'v5.10-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: dts: rockchip: replace status value "ok" by "okay"
  ARM: dts: rockchip: update cpu supplies on rk3066a
  ARM: dts: rockchip: rk3066a: add label to cpu@1
  ARM: dts: rockchip: update cpu supplies on rk3288

Link: https://lore.kernel.org/r/1834049.gShM3QRH0n@diego
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:37:46 -07:00
Olof Johansson
a3ca4b5e92 Merge tag 'actions-arm64-dt-for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/linux-actions into arm/dt
Actions Semi ARM64 DT for v5.10:

- Fix the memory region used by pinctrl and sps drivers on the S700 SoC.
  The issue is fixed by limiting the address space used by pinctrl driver.
  In hardware these two are separate subsystems but the hw engineers somehow
  merged the registers space into one. So we now limit the address space with
  appropriate offsets for the two drivers.

- Add DMA controller support for S700 SoC. The relevant driver changes are
  picked up by DMA Engine mainatainer. The DMA on this SoC can be used for
  mem-to-mem and mem-to-peripheral transfers.

* tag 'actions-arm64-dt-for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/linux-actions:
  arm64: dts: actions: Add DMA Controller for S700
  arm64: dts: actions: limit address range for pinctrl node

Link: https://lore.kernel.org/r/20200922114030.GC11251@Mani-XPS-13-9360
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:36:28 -07:00
Olof Johansson
d4509b6545 Merge tag 'actions-arm-dt-for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/linux-actions into arm/dt
Actions Semi ARM DT for v5.10:

- Add devicetree support for Caninos Loucos Labrador SBC manufactured
  by Laboratory of Integrated Technological Systems (LSI-TEC), Brazil.
  This board is based on Actions Semi S500 SoC. More information about
  this board can be found in their website: https://caninosloucos.org/en/

- Fix PPI interrupt specifiers for peripherals attached to Cortex-A9 CPU

- Add devicetree support for RoseapplePi SBC manufactured by Roseapple Pi
  team in Taiwan. This board is based on Actions Semi S500 SoC.
  More information about this board can be found in their website:
  http://roseapplepi.org/

* tag 'actions-arm-dt-for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/linux-actions:
  ARM: dts: owl-s500: Add RoseapplePi
  ARM: dts: owl-s500: Fix incorrect PPI interrupt specifiers
  ARM: dts: Add Caninos Loucos Labrador v2

Link: https://lore.kernel.org/r/20200922113712.GB11251@Mani-XPS-13-9360
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:35:56 -07:00
Olof Johansson
a6d862f21a Merge tag 'actions-bindings-for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/linux-actions into arm/dt
Actions Semi bindings for v5.10

- Add vendor prefix for Roseapple Pi: http://roseapplepi.org/

- Document RoseapplePi SBC manufactured by Roseapple Pi team in Taiwan.
  This board is based on Actions Semi S500 SoC. More information about
  this board can be found in their website:
  http://roseapplepi.org/index.php/spec/

- Add vendor prefix for Caninos Loucos Program:
  https://caninosloucos.org/en/program-en/

- Document Caninos Loucos Labrador SBC manufactured by Laboratory of
  Integrated Technological Systems (LSI-TEC), Brazil. This board is based
  on Actions Semi S500 SoC. More information about this board can be found
  in their website: https://caninosloucos.org/en/labrador-32-en/

* tag 'actions-bindings-for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/linux-actions:
  dt-bindings: arm: actions: Document RoseapplePi
  dt-bindings: Add vendor prefix for RoseapplePi.org
  dt-bindings: arm: actions: Document Caninos Loucos Labrador
  dt-bindings: Add vendor prefix for Caninos Loucos

Link: https://lore.kernel.org/r/20200922113408.GA11251@Mani-XPS-13-9360
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:35:16 -07:00
Olof Johansson
2494ad156d Merge tag 'sunxi-dt-for-5.10-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/dt
Our usual bunch of patches to support the Allwinner SoCs, this time
adding:
  - Allwinner A100 initial support
  - Mali, DMA, cedrus and IR Support for the R40
  - Crypto support for the v3s
  - New board: Allwinner A100 Perf1

* tag 'sunxi-dt-for-5.10-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (24 commits)
  ARM: dts: sun8i: v3s: Enable crypto engine
  dt-bindings: crypto: Add compatible for V3s
  dt-bindings: crypto: Specify that allwinner, sun8i-a33-crypto needs reset
  arm64: dts: allwinner: a64: Update the audio codec compatible
  arm64: dts: allwinner: a64: Update codec widget names
  ARM: dts: sun8i: a33: Update codec widget names
  ARM: dts: sun8i: r40: Add video engine node
  ARM: dts: sun8i: r40: Add node for system controller
  dt-bindings: sram: allwinner, sun4i-a10-system-control: Add R40 compatibles
  ARM: dts: sun8i: r40: bananapi-m2-ultra: Enable IR
  ARM: dts: sun8i: r40: Add IR nodes
  dt-bindings: media: allwinner, sun4i-a10-ir: Add R40 compatible
  ARM: dts: sun8i: r40: Add DMA node
  dt-bindings: dma: allwinner,sun50i-a64-dma: Add R40 compatible
  arm64: allwinner: A100: add support for Allwinner Perf1 board
  dt-bindings: arm: sunxi: Add Allwinner A100 Perf1 Board bindings
  arm64: allwinner: A100: add the basical Allwinner A100 DTSI file
  dt-bindings: irq: sun7i-nmi: Add binding for A100's NMI controller
  dt-bindings: irq: sun7i-nmi: fix dt-binding for a80 nmi
  ARM: dts: sun4i: Enable HDMI support on the Mele A1000
  ...

Link: https://lore.kernel.org/r/ac39ee89-ea3a-4971-8cd7-8c4b2ecef39d.lettre@localhost
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:34:02 -07:00
Olof Johansson
d9dd2c609b Merge tag 'amlogic-dt-2' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into arm/dt
ARM: dts: amlogic updates for v5.10 (round 2)
- GPU: remove invalid interrupt lines

* tag 'amlogic-dt-2' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  ARM: dts: meson8: remove two invalid interrupt lines from the GPU node

Link: https://lore.kernel.org/r/20200917165040.22908-2-krzk@kernel.org
Link: https://lore.kernel.org/r/20200917165040.22908-1-krzk@kernel.org
Link: https://lore.kernel.org/r/7hsgawl9h2.fsf@baylibre.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:32:08 -07:00
Linus Torvalds
22fbc037cd Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Pull kvm fixes from Paolo Bonzini:
 "Two bugfixes"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
  KVM: VMX: update PFEC_MASK/PFEC_MATCH together with PF intercept
  KVM: arm64: Restore missing ISB on nVHE __tlb_switch_to_guest
2020-10-03 12:19:23 -07:00
Olof Johansson
ef3c139ba0 Merge tag 'ti-k3-dt-for-v5.10-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux into arm/dt
Second and final device tree updates towards 5.10-rc1 for TI K3 platform.

* tag 'ti-k3-dt-for-v5.10-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux: (23 commits)
  arm64: dts: ti: k3-j7200-common-proc-board: Add USB support
  arm64: dts: ti: k3-j7200-common-proc-board: Configure the SERDES lane function
  arm64: dts: ti: k3-j7200-main: Add USB controller
  arm64: dts: ti: k3-j7200-main.dtsi: Add USB to SERDES lane MUX
  arm64: dts: ti: k3-j7200-main: Add SERDES lane control mux
  dt-bindings: ti-serdes-mux: Add defines for J7200 SoC
  arm64: dts: ti: k3-j721e-common-proc-board: align GPIO hog names with dtschema
  arm64: dts: ti: k3-j7200-common-proc-board: Add support for eMMC and SD card
  arm64: dts: ti: k3-j7200-main: Add support for MMC/SD controller nodes
  arm64: dts: ti: k3-j7200-som-p0: Add HyperFlash node
  arm64: dts: ti: k3-j7200-mcu-wakeup: Add HyperBus node
  arm64: dts: ti: k3-j7200-common-proc-board: Add I2C IO expanders
  arm64: dts: ti: k3-j7200: Add I2C nodes
  arm64: dts: ti: k3-j7200-common-proc-board: add mcu cpsw nuss pinmux and phy defs
  arm64: dts: ti: k3-j7200-mcu: add mcu cpsw nuss node
  arm64: dts: ti: k3-j7200-main: add main navss cpts node
  arm64: dts: ti: k3-j7200: add DMA support
  arm64: dts: ti: Add support for J7200 Common Processor Board
  arm64: dts: ti: Add support for J7200 SoC
  dt-bindings: arm: ti: Add bindings for J7200 SoC
  ...

Link: https://lore.kernel.org/r/20201002134559.orvmgbns57qlyn3i@akan
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:16:18 -07:00
Olof Johansson
fbbb7c53bb Merge tag 'renesas-fixes-for-v5.9-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/fixes
Renesas fixes for v5.9

  - Fix touch controller probe failure on the iWave RainboW G20D Qseven
    board.

* tag 'renesas-fixes-for-v5.9-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  ARM: dts: iwg20d-q7-common: Fix touch controller probe failure

Link: https://lore.kernel.org/r/20200928115645.10985-1-geert+renesas@glider.be
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:15:09 -07:00
Olof Johansson
6b9c8c8bb7 Merge tag 'zynqmp-soc-for-v5.9-v2' of https://github.com/Xilinx/linux-xlnx into arm/fixes
arm64: soc: ZynqMP SoC changes for v5.9-v2

- Fix error code in zynqmp_power driver

* tag 'zynqmp-soc-for-v5.9-v2' of https://github.com/Xilinx/linux-xlnx:
  soc: xilinx: Fix error code in zynqmp_pm_probe()

Link: https://lore.kernel.org/r/9b23dd60-45f4-cd7d-e81a-e8ab8e20af7c@xilinx.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-10-03 12:13:59 -07:00
Linus Torvalds
5ee56135b2 Merge tag 'for-linus-5.9b-rc8-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
Pull xen fix from Juergen Gross:
 "Fix a regression introduced in 5.9-rc3 which caused a system running
  as fully virtualized guest under Xen to crash when using legacy
  devices like a floppy"

* tag 'for-linus-5.9b-rc8-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
  xen/events: don't use chip_data for legacy IRQs
2020-10-03 11:57:39 -07:00
Linus Torvalds
5f05663851 Merge tag 'usb-5.9-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB/PHY fixes from Greg KH:
 "Here are some small USB and PHY driver fixes for 5.9-rc8

  The PHY driver fix resolves an issue found by Dan Carpenter for a
  memory leak.

  The USB fixes fall into two groups:

   - usb gadget fix from Bryan that is a fix for a previous security fix
     that showed up in in-the-wild testing

   - usb core driver matching bugfixes. This fixes a bug that has
     plagued the both the usbip driver and syzbot testing tools this -rc
     release cycle. All is now working properly so usbip connections
     will work, and syzbot can get back to fuzzing USB drivers properly.

  All have been in linux-next for a while with no reported issues"

* tag 'usb-5.9-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
  usbcore/driver: Accommodate usbip
  usbcore/driver: Fix incorrect downcast
  usbcore/driver: Fix specific driver selection
  Revert "usbip: Implement a match function to fix usbip"
  USB: gadget: f_ncm: Fix NDP16 datagram validation
  phy: ti: am654: Fix a leak in serdes_am654_probe()
2020-10-03 11:47:35 -07:00
Linus Torvalds
f35c08e0bb Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c fixes from Wolfram Sang:
 "Some more driver fixes for i2c"

* 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  i2c: npcm7xx: Clear LAST bit after a failed transaction.
  i2c: cpm: Fix i2c_ram structure
  i2c: i801: Exclude device from suspend direct complete optimization
2020-10-03 11:40:22 -07:00
Linus Torvalds
72af7b411d Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input fixes from Dmitry Torokhov:
 "A couple more driver quirks, now enabling newer trackpoints from
  Synaptics for real"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: i8042 - add nopnp quirk for Acer Aspire 5 A515
  Input: trackpoint - enable Synaptics trackpoints
2020-10-03 11:37:23 -07:00
Eric Biggers
d43ca1386b scripts/spelling.txt: fix malformed entry
One of the entries has three fields "mistake||correction||correction"
rather than the expected two fields "mistake||correction".  Fix it.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Link: https://lkml.kernel.org/r/20200930234359.255295-1-ebiggers@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-10-03 11:28:12 -07:00
Joonsoo Kim
1d91df85f3 mm/page_alloc: handle a missing case for memalloc_nocma_{save/restore} APIs
memalloc_nocma_{save/restore} APIs can be used to skip page allocation
on CMA area, but, there is a missing case and the page on CMA area could
be allocated even if APIs are used.  This patch handles this case to fix
the potential issue.

For now, these APIs are used to prevent long-term pinning on the CMA
page.  When the long-term pinning is requested on the CMA page, it is
migrated to the non-CMA page before pinning.  This non-CMA page is
allocated by using memalloc_nocma_{save/restore} APIs.  If APIs doesn't
work as intended, the CMA page is allocated and it is pinned for a long
time.  This long-term pin for the CMA page causes cma_alloc() failure
and it could result in wrong behaviour on the device driver who uses the
cma_alloc().

Missing case is an allocation from the pcplist.  MIGRATE_MOVABLE pcplist
could have the pages on CMA area so we need to skip it if ALLOC_CMA
isn't specified.

Fixes: 8510e69c8e (mm/page_alloc: fix memalloc_nocma_{save/restore} APIs)
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: "Aneesh Kumar K . V" <aneesh.kumar@linux.ibm.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Link: https://lkml.kernel.org/r/1601429472-12599-1-git-send-email-iamjoonsoo.kim@lge.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-10-03 11:28:12 -07:00
Eric Farman
484cfaca95 mm, slub: restore initial kmem_cache flags
The routine that applies debug flags to the kmem_cache slabs
inadvertantly prevents non-debug flags from being applied to those
same objects.  That is, if slub_debug=<flag>,<slab> is specified,
non-debugged slabs will end up having flags of zero, and the slabs
may be unusable.

Fix this by including the input flags for non-matching slabs with the
contents of slub_debug, so that the caches are created as expected
alongside any debugging options that may be requested.  With this, we
can remove the check for a NULL slub_debug_string, since it's covered
by the loop itself.

Fixes: e17f1dfba3 ("mm, slub: extend slub_debug syntax for multiple blocks")
Signed-off-by: Eric Farman <farman@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Kees Cook <keescook@chromium.org>
Cc: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Link: https://lkml.kernel.org/r/20200930161931.28575-1-farman@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-10-03 11:28:12 -07:00
Iskren Chernev
ee2d433cb4 power: supply: max17040: Support soc alert
max17048 and max17049 support SOC alerts (interrupts when battery
capacity changes by +/- 1%). At the moment the driver polls for changes
every second. Using the alerts removes the need for polling.

Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
Tested-by: Jonathan Bakker <xc-racer2@live.ca>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2020-10-03 19:21:24 +02:00
Iskren Chernev
1779c6e349 power: supply: max17040: Support setting rcomp
The Maxim ModelGauge family supports fine-tuning by setting
a compensation value (named rcomp in the docs). The value is affected by
battery chemistry and ambient temperature.

Add support for reading maxim,rcomp from DT and configuring the device
with the supplied value. Temperature adjustment is not implemented at
the moment, because there is no provision for receiving the ambient
temperature at the moment.

Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
Tested-by: Jonathan Bakker <xc-racer2@live.ca>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2020-10-03 19:18:28 +02:00
Iskren Chernev
b973c9d518 dt-bindings: power: supply: max17040: Add maxim,rcomp
To compensate for the battery chemistry and operating conditions the
chips support a compensation value. Specify one or two byte compensation
via the maxim,rcomp byte array.

Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2020-10-03 19:18:28 +02:00
Iskren Chernev
4f7f8e87c4 power: supply: max17040: Support compatible devices
The max17040 fuel gauge is part of a family of 8 chips that have very
similar mode of operations and registers.

This change adds:
- compatible strings for all supported devices and handling for the
  minor differences between them;
- handling for devices reporting double capacity via maxim,double-soc;

The datasheets of the supported devices are linked [0] [1] [2] [3].

[0] https://datasheets.maximintegrated.com/en/ds/MAX17040-MAX17041.pdf
[1] https://datasheets.maximintegrated.com/en/ds/MAX17043-MAX17044.pdf
[2] https://datasheets.maximintegrated.com/en/ds/MAX17048-MAX17049.pdf
[3] https://datasheets.maximintegrated.com/en/ds/MAX17058-MAX17059.pdf

Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
Tested-by: Jonathan Bakker <xc-racer2@live.ca>
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2020-10-03 19:12:00 +02:00
Iskren Chernev
11a2bdc10f dt-bindings: power: supply: Extend max17040 compatibility
Maxim max17040 is a fuel gauge from a larger family utilising the Model
Gauge technology. Document all different compatible strings that the
max17040 driver recognizes.

Some devices in the wild report double the capacity. The
maxim,double-soc (from State-Of-Charge) property fixes that.
Examples: https://lore.kernel.org/patchwork/patch/1263411/#1468420

Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2020-10-03 19:12:00 +02:00
Colin Ian King
59d5396a46 x86/events/amd/iommu: Fix sizeof mismatch
An incorrect sizeof is being used, struct attribute ** is not correct,
it should be struct attribute *. Note that since ** is the same size as
* this is not causing any issues.  Improve this fix by using sizeof(*attrs)
as this allows us to not even reference the type of the pointer.

Addresses-Coverity: ("Sizeof not portable (SIZEOF_MISMATCH)")
Fixes: 5168654630 ("x86/events/amd/iommu: Fix sysfs perf attribute groups")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20201001113900.58889-1-colin.king@canonical.com
2020-10-03 16:30:56 +02:00
Kan Liang
80a5ce116f perf/x86/intel: Check perf metrics feature for each CPU
It might be possible that different CPUs have different CPU metrics on a
platform. In this case, writing the GLOBAL_CTRL_EN_PERF_METRICS bit to
the GLOBAL_CTRL register of a CPU, which doesn't support the TopDown
perf metrics feature, causes MSR access error.

Current TopDown perf metrics feature is enumerated using the boot CPU's
PERF_CAPABILITIES MSR. The MSR only indicates the boot CPU supports this
feature.

Check the PERF_CAPABILITIES MSR for each CPU. If any CPU doesn't support
the perf metrics feature, disable the feature globally.

Fixes: 59a854e2f3 ("perf/x86/intel: Support TopDown metrics on Ice Lake")
Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20201001211711.25708-1-kan.liang@linux.intel.com
2020-10-03 16:30:56 +02:00
Daniel Bristot de Oliveira
feff2e65ef sched/deadline: Unthrottle PI boosted threads while enqueuing
stress-ng has a test (stress-ng --cyclic) that creates a set of threads
under SCHED_DEADLINE with the following parameters:

    dl_runtime   =  10000 (10 us)
    dl_deadline  = 100000 (100 us)
    dl_period    = 100000 (100 us)

These parameters are very aggressive. When using a system without HRTICK
set, these threads can easily execute longer than the dl_runtime because
the throttling happens with 1/HZ resolution.

During the main part of the test, the system works just fine because
the workload does not try to run over the 10 us. The problem happens at
the end of the test, on the exit() path. During exit(), the threads need
to do some cleanups that require real-time mutex locks, mainly those
related to memory management, resulting in this scenario:

Note: locks are rt_mutexes...
 ------------------------------------------------------------------------
    TASK A:		TASK B:				TASK C:
    activation
							activation
			activation

    lock(a): OK!	lock(b): OK!
    			<overrun runtime>
    			lock(a)
    			-> block (task A owns it)
			  -> self notice/set throttled
 +--<			  -> arm replenished timer
 |    			switch-out
 |    							lock(b)
 |    							-> <C prio > B prio>
 |    							-> boost TASK B
 |  unlock(a)						switch-out
 |  -> handle lock a to B
 |    -> wakeup(B)
 |      -> B is throttled:
 |        -> do not enqueue
 |     switch-out
 |
 |
 +---------------------> replenishment timer
			-> TASK B is boosted:
			  -> do not enqueue
 ------------------------------------------------------------------------

BOOM: TASK B is runnable but !enqueued, holding TASK C: the system
crashes with hung task C.

This problem is avoided by removing the throttle state from the boosted
thread while boosting it (by TASK A in the example above), allowing it to
be queued and run boosted.

The next replenishment will take care of the runtime overrun, pushing
the deadline further away. See the "while (dl_se->runtime <= 0)" on
replenish_dl_entity() for more information.

Reported-by: Mark Simmons <msimmons@redhat.com>
Signed-off-by: Daniel Bristot de Oliveira <bristot@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Juri Lelli <juri.lelli@redhat.com>
Tested-by: Mark Simmons <msimmons@redhat.com>
Link: https://lkml.kernel.org/r/5076e003450835ec74e6fa5917d02c4fa41687e6.1600170294.git.bristot@redhat.com
2020-10-03 16:30:53 +02:00
Vincent Donnefort
51cf18c90c sched/debug: Add new tracepoint to track cpu_capacity
rq->cpu_capacity is a key element in several scheduler parts, such as EAS
task placement and load balancing. Tracking this value enables testing
and/or debugging by a toolkit.

Signed-off-by: Vincent Donnefort <vincent.donnefort@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/1598605249-72651-1-git-send-email-vincent.donnefort@arm.com
2020-10-03 16:30:52 +02:00
Peter Oskolkov
9abb897345 sched/fair: Tweak pick_next_entity()
Currently, pick_next_entity(...) has the following structure
(simplified):

  [...]
  if (last_buddy_ok())
    result = last_buddy;
  if (next_buddy_ok())
    result = next_buddy;
  [...]

The intended behavior is to prefer next buddy over last buddy;
the current code somewhat obfuscates this, and also wastes
cycles checking the last buddy when eventually the next buddy is
picked up.

So this patch refactors two 'ifs' above into

  [...]
  if (next_buddy_ok())
      result = next_buddy;
  else if (last_buddy_ok())
      result = last_buddy;
  [...]

Signed-off-by: Peter Oskolkov <posk@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Vincent Guittot <vincent.guitttot@linaro.org>
Link: https://lkml.kernel.org/r/20200930173532.1069092-1-posk@google.com
2020-10-03 16:30:52 +02:00
Greg Kroah-Hartman
21c949b218 Merge tag 'usb-for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next
Felipe writes:

USB: changes for v5.10 merge window

Most of changes are on dwc3 (38.8%) with cdns3 falling close
behind (24.1%).

The biggest changes here are a series of non-critical fixes to corner
cases on dwc3, produced by Thinh N, and a series of major improvements
to cdns3 produced by Peter C.

We also have the traditional set of new device support (Intel Keem
Bay, Hikey 970) on dwc3. A series of sparse/coccinelle and checkpatch
fixes on dwc3 by yours truly and a set of minor changes all over the
stack.

* tag 'usb-for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb: (117 commits)
  usb: dwc2: Fix INTR OUT transfers in DDMA mode.
  usb: dwc2: don't use ID/Vbus detection if usb-role-switch on STM32MP15 SoCs
  usb: dwc2: override PHY input signals with usb role switch support
  dt-bindings: usb: dwc2: add optional usb-role-switch property
  usb: dwc3: of-simple: Add compatible string for Intel Keem Bay platform
  dt-bindings: usb: Add Intel Keem Bay USB controller bindings
  usb: dwc3: gadget: Support up to max stream id
  usb: dwc3: gadget: Return early if no TRB update
  usb: dwc3: gadget: Keep TRBs in request order
  usb: dwc3: gadget: Revise setting IOC when no TRB left
  usb: dwc3: gadget: Look ahead when setting IOC
  usb: dwc3: gadget: Allow restarting a transfer
  usb: bdc: remove duplicated error message
  usb: dwc3: Stop active transfers before halting the controller
  usb: cdns3: gadget: enlarge the TRB ring length
  usb: cdns3: gadget: sg_support is only for DEV_VER_V2 or above
  usb: cdns3: gadget: need to handle sg case for workaround 2 case
  usb: cdns3: gadget: handle sg list use case at completion correctly
  usb: cdns3: gadget: add CHAIN and ISP bit for sg list use case
  usb: cdns3: gadget: improve the dump TRB operation at cdns3_ep_run_transfer
  ...
2020-10-03 15:59:57 +02:00
Iskren Chernev
6455a8a84b power: supply: max17040: Use regmap i2c
Rewrite i2c operations from i2c client read/write to regmap i2c. As
a result, most private functions now accept the private driver data
instead of an i2c client pointer.

Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
Tested-by: Jonathan Bakker <xc-racer2@live.ca>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2020-10-03 13:04:28 +02:00
Iskren Chernev
e55a50613d power: supply: max17040: Use devm_ to automate remove
Two actions were performed during remove - power supply dereg and
delayed work cleanup. Power supply dereg can be handled by using the
devm_ version of the registration function. Work cleanup can be added as
a devm_action.

If probe fails after psy registration it will now be cleaned up
properly.

Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
Tested-by: Jonathan Bakker <xc-racer2@live.ca>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2020-10-03 12:57:12 +02:00
Sebastian Reichel
05f94eb989 power: supply: document current direction
Currently the sign for CURRENT_NOW and CURRENT_AVG is a bit
of a mess. There are basically 3 different ways battery fuel
gauges report the current:

1. uses negative values for discharging and positive values
   for charging
2. uses positive values for discharging and negative values
   for discharging (opposit of 1)
3. only uses positive values

As a result userspace currently cannot use the sign at all in
a generic way. Let's solve the issue by documenting a canonical
way for reporting the data and ensure new drivers follow this
way. Then existing drivers can be fixed on a case-by-case basis.

The 'negative value = battery discharging' has been choosen,
since there are only very few drivers doing it the other way
around.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2020-10-03 12:46:22 +02:00
Paolo Bonzini
e2e1a1c86b Merge tag 'kvmarm-fixes-5.9-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master
KVM/arm64 fixes for 5.9, take #3

- Fix synchronization of VTTBR update on TLB invalidation for nVHE systems
2020-10-03 05:07:59 -04:00
Paolo Bonzini
b502e6ecdc KVM: VMX: update PFEC_MASK/PFEC_MATCH together with PF intercept
The PFEC_MASK and PFEC_MATCH fields in the VMCS reverse the meaning of
the #PF intercept bit in the exception bitmap when they do not match.
This means that, if PFEC_MASK and/or PFEC_MATCH are set, the
hypervisor can get a vmexit for #PF exceptions even when the
corresponding bit is clear in the exception bitmap.

This is unexpected and is promptly detected by a WARN_ON_ONCE.
To fix it, reset PFEC_MASK and PFEC_MATCH when the #PF intercept
is disabled (as is common with enable_ept && !allow_smaller_maxphyaddr).

Reported-by: Qian Cai <cai@redhat.com>>
Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Tested-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-10-03 05:07:40 -04:00
Mauro Carvalho Chehab
7c9df3ec49 media: add Zoran cardlist
Now that Zoran was re-added, we need to add its cardlist
to the admin guide.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2020-10-03 10:34:54 +02:00