Commit graph

781637 commits

Author SHA1 Message Date
Olof Johansson
46c9f4716d Qualcomm ARM64 Based defconfig Updates for v4.19
* Enable Qualcomm NAND driver
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJbU6YPAAoJEFKiBbHx2RXVgmAP/iH8V+fItDcbeMogiEnYCGrC
 u6n0vFG6b5MQeWn16sNacTH/Kohns5uquTzztgroef0ZvApbJ0KGqxNpIwWHLT4Q
 DFl08rJWSsHzRCSpHMX613qXdBGpHHPvEIiSWEcYUnBdd3zQ5STKyw8z/kGtyoFq
 AEqVK0Vg+ctvYTttDzWenk5t75jAcHjuE0hgTbA/zUe6q9wwaQ1qX02B6x9Tj2jX
 NZnClFBjlGSua9URxyyKRnwSXUvklCoJQnqScXSrMJimLj7Kct92BrOapRNCvIOR
 UHH9vbl5ruYnobOtZFri5QsHKe0/s3oL01BWTcLEGlHevGX+Ry/s6AmVwGAT1oGN
 rASiUnYB31YMN9T75BWLDRt1XjXyVYk1g+lhR49EbsOuFkzbnwvL76kAFQ0vawan
 6fZ3ZkW+uGI/dzzZQ2m3QokDQgJl4nNY6ALCXwVRyDsgBXSHAE1sD9YuxATFIgH8
 CSgKgCjntVjTe9M54Mqv32r3BhlVd8/zem+jO7qK12t9GyItREU314ECWM2XFLZS
 LGS8mnjNIfmXlgBb98tvpcoagI4FffVCsxfvck4khoyn7nj5U4pJ3YQS4o46UnSr
 K85Me4Z5sXlabdMIa6kJCOmTFputZgZRMjkGxCUNcVe0KF9Qm6iXUeMUSZgWRAWr
 soRvmm1u1aGcYIFoQbj2
 =JcnP
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-defconfig-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/defconfig

Qualcomm ARM64 Based defconfig Updates for v4.19

* Enable Qualcomm NAND driver

* tag 'qcom-arm64-defconfig-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  arm64: defconfig: Enable CONFIG_MTD_NAND_QCOM for IPQ8074

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:58:05 -07:00
Olof Johansson
ee57dd5af7 Samsung DTS ARM changes for v4.19, part 2
1. Add missing interrupts to PWM nodes on Exynos5.
 2. Add missing interrupt pin pull up/down configuration on Exynos4412
    Midas boards.  The interrupts were mostly working thanks to initial
    configuration by bootloader.
 -----BEGIN PGP SIGNATURE-----
 
 iQItBAABCAAXBQJbWKM3EBxrcnprQGtlcm5lbC5vcmcACgkQwTdm5oaLg9eYgQ/8
 CNCkdyy+bobLVPQRgLT4buOD+Di1HUOlhYE1f0hSoJlqXO5WOY+wFBDdIeIftMJc
 5IElUV4NBWpXVeiiWC2965D7V4nYGTuHu57u2c026HbWMHFAILGOLJ5zLQiWiDsh
 quci2U5XB3Nik275gpUDLsah9Ef/ELVHfS89XRR6P9fKPf0UBhUg3IQqPMyGVUsm
 ltRA1SekTbeFpDRzbhneEMNsbnhHZHd+WmDifHO88SRA3kbfc5E8QFiJYx9JEwNY
 og+qj31LyqIh32DaZzzNCbYm1+5ln7YrbMQ4Pwmel5J/UzW80JukPKJrt/mDysxe
 d9YgzrCiD//l/mjhpzsx1vamfAPGn9XCQ0fsOGm5JJfg8HcSowgeeg7B9EqndfLo
 3EW2niu0vHZ+3OKLDWToDuyTlubLWtidBHwWw3djICay3ncxshYWjRNYvYDzbDnG
 3lNQOh4Da1Sa64Qbf/cIx2fzCRmZBHP2+sXcZfETR+njlbbA4uyj7UM22qt+0pwP
 1TJ/bwwmDeyENQVnqFgT1Dy9j7XoPKhobZO2vxGog4vUWRJPZ+FpnwL0H6Wc+B9D
 9caRdhvHhlV/CTugxYjzVbO6MDp2/9ubjAMiZXy9gjjkj/wdPzu5/HzIu7KSYq28
 nmzrFh9deggzKtgc8IV5iLlooH75bmhyy5JDcSV5cwY=
 =ziUf
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt-4.19-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/dt

Samsung DTS ARM changes for v4.19, part 2

1. Add missing interrupts to PWM nodes on Exynos5.
2. Add missing interrupt pin pull up/down configuration on Exynos4412
   Midas boards.  The interrupts were mostly working thanks to initial
   configuration by bootloader.

* tag 'samsung-dt-4.19-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: exynos: Configure Midas SD card CD pin
  ARM: dts: exynos: Configure max77686 IRQ pin on Midas
  ARM: dts: exynos: Add pinctrl for Midas fuelgauge IRQ pin
  ARM: dts: exynos: Add pinctrl config for Midas keys
  ARM: dts: exynos: Add max77693 pinctrl config for Midas
  ARM: dts: exynos: Add missing interrupts for pwm node on Exynos5

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:57:24 -07:00
Olof Johansson
74e828c891 Allwinner arm64 DT changes for 4.19
Some interesting changes, especially:
 
   - MMC support for the H6
   - PMIC support for the PineH64
   - HDMI simplefb support for the A64
   - PWM support for the A64
   - New board: Pinebook, Amarula A64-Relic
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE0VqZU19dR2zEVaqr0rTAlCFNr3QFAltXJZEACgkQ0rTAlCFN
 r3RIsw/8DUoWIlnSocPpRkBSonV55iC0qY4JKjamm/TrhQY5k4MjpX+7/PIyGQAU
 uNHn6vOmRILOyQS5Zg+1uWLOPypdxI2aDcQUKYNPdNJ6RytdgH1zghUM0iupOuNb
 CnolLpaA5RGjDvH/MarBwBoyxrAvnhLB/d5naUjzO/zoaw5j4K9idJdneJNX/aBi
 nezBGxWzjF0Mu1MmFhRUZD9klZcbeUtJK4sJ4yJeKUThoi1kKynpbXvONDB5wL9L
 JDVdWeNYrG3ylNHyAezOMM8gezGxSGjfya8zAaOZj/Wo5uvSDG4+oFaoJU2b+uPu
 pdHO1pNGgw57HS6ePm/ON8J4U7v8Z99sRK3BZ+3NjxL3nRsvL5jzfZtSnza6v7gb
 ONLlk89entDHDmtugpYYRWyw3GECv+1+oqBTngyRK9rctcFxrCsymx9cyHX7OWPC
 M521xUHKL84zoFMmvXPKlMHapH+I70k+a6n5kRljQ9/lbKgnjsvenZerEUB41xvV
 B2GXdo4MrZS/UYiPpD585InpoXmqC44cp7SOyXtUETAQ/pOQAbqE3cXHpVLnlUX9
 yZfjCK6P6tp+lP9B0pFekIlzjhuUnhCqpNsTIp57ionGYRyK7oSVMOr2bf361vXZ
 RBLNbQ+43G8IXPKItRLOFuYNHXQlyi7GR5LnLx/UbDcU3IKhj4w=
 =MH+c
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt64-for-4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt

Allwinner arm64 DT changes for 4.19

Some interesting changes, especially:

  - MMC support for the H6
  - PMIC support for the PineH64
  - HDMI simplefb support for the A64
  - PWM support for the A64
  - New board: Pinebook, Amarula A64-Relic

* tag 'sunxi-dt64-for-4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (22 commits)
  arm64: allwinner: h6: enable MMC0/2 on Pine H64
  arm64: allwinner: h6: add device tree nodes for MMC controllers
  dt-binding: mmc: sunxi: add H6 compatible (with A64 fallback)
  arm64: dts: allwinner: a64: Remove unused address-cells/size-cells of dwmac-sun8i
  arm64: dts: allwinner: h6: enable AXP805 PMIC on Pine H64
  arm64: dts: allwinner: h6: Use macros for R_CCU clock and reset indices
  arm64: dts: allwinner: a64: add HDMI regulator to all DTs' simplefb_hdmi
  arm64: dts: allwinner: a64: add device tree node for HDMI simplefb
  arm64: dts: allwinner: a64: add necessary device tree nodes for DE2 CCU
  arm64: dts: allwinner: h6: Add LED device nodes for Pine H64
  arm64: allwinner: a64: allow laptops to wake up from lid
  arm64: allwinner: a64: change TERES-I DLDO3's name to start with "vdd"
  arm64: allwinner: a64-sopine: Add cd-gpios to mmc0 node
  arm64: dts: allwinner: a64: add SRAM controller device tree node
  arm64: dts: allwinner: add support for Pinebook
  arm64: dts: allwinner: a64: Add PWM controllers
  arm64: dts: allwinner: a64: add R_I2C controller
  arm64: allwinner: a64-amarula-relic: Enable AP6330 WiFi support
  arm64: allwinner: a64: Add RTC clock to phandle 32kHz external oscillator
  arm64: allwinner: a64: Add Amarula A64-Relic initial support
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:56:06 -07:00
Olof Johansson
ba8e2b94d9 Allwinner DT changes for 4.19
There's a number of additions for the ARMv7 SoCs for this merge window, and
 especially:
 
   - Addition of the system controller for a number of SoCs, as part of the
     VPU effort
   - Addition of the R40 HDMI support
   - Addition of the Mali GPU node for the A10
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE0VqZU19dR2zEVaqr0rTAlCFNr3QFAltXI44ACgkQ0rTAlCFN
 r3TA1A//YKpmLTWhqTayqh7evsBtUvNET6sF21KG8NwMWShQoCpAFya9itS3ACc/
 kFwguBtTdiefHRSwOYNJhl94YTb6xBYFv4dk47NaxuHLMpLHFXr+YmYypeIZ/wNc
 P19R3s84n4HEvrhfyrsmA4FaLPLgRTzV23qLwPZrZHbKNv1mABuD3pruyGblbnKS
 hCHSw9Gaw8AmEFxFbTwqeYZR4k8+TAFwYoYZPrdyPDtOhEaa5+hqVmfOSiorEtHG
 OekbAj54rOYYPUPnEjEyj+sFtv4vK54h3qoWYH8B+XTr0svL5V8EQWooPzsnPTlE
 OrgIXN9hPmz81WrdVBFf+nJnmuvACS1jpQX1U54WctGtyM/U4lFh2EoQFBfSDl9Q
 cLzd6yyy/aG/YldFxtFImO7VSoVQWnIF7EDV6kKSvtWRyxc30fQz+SVW2Yh193Jj
 bPi0SikBeekv9/XwBWTjY+ZDvoypJ10LQ8FqMuupB3v6TwsSTVIciZmcZpyxyp61
 uEx4VGhGqoRc9GeQgJqLMAcUfAU1irUAaDePsD3eBRwn6Xla723M4QUhFPthnWZW
 mANMz7WVLQXgsPl77m7SEU+ES8xma3ilgTC6Nm55NpG7bq4/icQp8vXHNClxPNvk
 LoeXSpVWrnenP7DxLJFSldyPTrJAkDaije7eg5J0SJ5dJxpa+TY=
 =3J2I
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt

Allwinner DT changes for 4.19

There's a number of additions for the ARMv7 SoCs for this merge window, and
especially:

  - Addition of the system controller for a number of SoCs, as part of the
    VPU effort
  - Addition of the R40 HDMI support
  - Addition of the Mali GPU node for the A10

* tag 'sunxi-dt-for-4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (21 commits)
  ARM: dts: sun4i: Add GPU node
  ARM: dts: sun5i: Fix the SRAM A3-A4 declaration
  ARM: dts: sun8i: r40: Remove unused address-cells/size-cells of dwmac-sun8i
  ARM: dts: sun8i: a83t: Remove unused address-cells/size-cells of dwmac-sun8i
  dt-bindings: net: dwmac-sun8i: Remove unused address-cells/size-cells
  ARM: dts: sun8i: h3: Add SRAM controller node and C1 SRAM region
  ARM: dts: sun8i: a23-a33: Add SRAM controller node and C1 SRAM region
  ARM: dts: sun7i: Add support for the C1 SRAM region with the SRAM controller
  ARM: dts: sun5i: Add support for the C1 SRAM region with the SRAM controller
  ARM: dts: sun7i: Use most-qualified system control compatibles
  ARM: dts: sun5i: Use most-qualified system control compatibles
  ARM: dts: sun4i: Switch to new system control compatible string
  ARM: dts: sun8i: r40: Disable TCONs by default.
  ARM: dts: sun8i: r40: Add missing TCON-TOP - TCON connections
  ARM: dts: sun8i: r40: Remove fallback compatible for TCON TV
  ARM: dts: sun8i: r40: Add mixer ids to TCON TOP
  ARM: dts: sun8i: r40: Remove fallback display engine compatible
  ARM: dts: sun8i: a83t: Add CPU regulator supplies for A83T boards
  ARM: dts: sun8i: r40: Enable HDMI output on BananaPi M2 Ultra
  ARM: dts: sun8i: r40: Add HDMI pipeline
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:55:23 -07:00
Olof Johansson
9604ff923c Start using ti-sysc with device tree data for omap4 l4 devices
With ti-sysc driver working for most use cases, we can start converting
 the omap variant SoCs to use device tree data for the interconnect target
 modules instead of the legacy hwmod platform data.
 
 We start with omap4 l4 devices excluding the ones that still depend on
 a reset controller driver like DSP MMU. And we don't yet convert the l4
 ABE instance as that needs a bit more work.
 
 We also add a proper interconnect hierarchy for the devices while at it
 to make further work on genpd easier and to avoid most deferred probe
 issues.
 
 At this point we are not dropping any platform data, and we initially
 still use it to validate the dts data. Then in later merge cycles we
 can start dropping the related platform data.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAltS0McRHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXPzMRAAzU9qSt0HLJfP8P+8iHX3Lm6TJgslDNqP
 tOkifKoL1ELfieiJhcNfMTHhXwgwzYLhjHV+YuVyBKwMdiaJmkP9P7V3SGTEwX3c
 shAdK/+OsFJLpqXSZZqi2VApfGCjHJULICiDtalbNRYUyrZ6q9fm0C5nFxa6gH9z
 ZIrURQClfHYlPFUIQW+LBvv3oUkV5JxTn8DksOlF1MvqMqxgVYSbcZ032mEowuNG
 4j1mUk6ZMcKHmWhKpR2iGj3DGhDjvJGJ1J45WZViN7/Vbct41YLeJ9lSNLY+60R7
 6KdxoBM1G/G01t73wcoQrSReIuk7NV4lx2H1z1KxuWYMnATCBOgPg1Ug82PdkGdP
 EBMilB30rPhi/RQFKmhVYymHSn7falnUrE3CfErOGshyhdywdzdHCohSQZjizdjc
 npW46R0XhQjBkY8+JQjAliPNa6JvMlilDd9dKFaucL5pFd35QDn/6NQ7rQu8EIWM
 QpANfOEU2yLQ2m6GFUVz5JOwLojyD3LEKv5HkZRLXd5CzLrn2uW/TyrICIBp8/Pv
 bNQhtYaMm6T8407zMjUWGyCqiY0rDuAr6mLtY8JpHgbBMTL8hssmpfSFQW69o0KI
 ciWOu/KYVetl8nUodVobWY3rkpirHv2WqOU+9AjeiXqO+147HqzUteHV9ZpYRHS0
 tSU6+383Jkc=
 =ATsi
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.19/dt-pt3-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt

Start using ti-sysc with device tree data for omap4 l4 devices

With ti-sysc driver working for most use cases, we can start converting
the omap variant SoCs to use device tree data for the interconnect target
modules instead of the legacy hwmod platform data.

We start with omap4 l4 devices excluding the ones that still depend on
a reset controller driver like DSP MMU. And we don't yet convert the l4
ABE instance as that needs a bit more work.

We also add a proper interconnect hierarchy for the devices while at it
to make further work on genpd easier and to avoid most deferred probe
issues.

At this point we are not dropping any platform data, and we initially
still use it to validate the dts data. Then in later merge cycles we
can start dropping the related platform data.

* tag 'omap-for-v4.19/dt-pt3-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: dts: omap4: Add l4 ranges for 4460
  ARM: dts: omap4: Move l4 child devices to probe them with ti-sysc
  ARM: dts: omap4: Probe watchdog 3 with ti-sysc
  ARM: dts: omap4: Add l4 interconnect hierarchy and ti-sysc data
  dt-bindings: Update omap l4 binding for optional registers

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:54:31 -07:00
Olof Johansson
ea537363c7 Amlogic 64-bit DT changes for v4.19, round 2
- new SoC: S905W
 - new boards: based on S905W: Amlogic P281, Oranth Tanix TX3 Mini
 - AXG: add DT for new audio clock controller
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAltWB4EACgkQWTcYmtP7
 xmW5Mg/8C8UrOoUcfanK/E3qpogIbyfzJzA4duuBm0HzXjQXBQWVjn2fTJa7kkYF
 DkMsM16P2c5XjutepySrystcGC7sbvj5BDvGuH6u6y5IvKeWGSM9jQ9Xy6zj53Yw
 NBifmkBn0JCoO2h0Fauu1iH6xeKdVoCPufM7kXq9evhZ94qd8L+FvWMB6ZSVNl7F
 WkO27xnL+PWH54flBS+cAkG/Htia635SiIxWdVzG6VdSFoDrJTqFQAAXAhi4XBdH
 vkanXohQ/weXmJHYWsYpCCjuJFGtceWtaGZKnK+bCbGYXWQB3BgR/qcdGYZ+Ee2K
 QJr94aaUBlySjDQvYzIGvy0qvyIeLJ/mz7EMQhJS3vG0/OKQgCyNrGpAw1JWjxcK
 0LIyNKTW+b/CA8WGDIlEOMnbf11GzBRQzPjf1PneZAFc0xZDIziSCp7bMONA+Nb2
 w8STNc82zDwPuPI05ZIKJuiRLWcU/kdnw/1uLdVy4UWq+gvNNxioG1ML7wrXukZV
 yUErXfmOKCmg49oUeE4wlyJotNqj+YxbWfYmGks0EK/IFomA7i5CeSOrEV9BtkdQ
 62ezN8wBnf/XoGon53noyvNHk2W+N0I603G7BxJ1ypV1mH8AWRSwiCxE2mOXgW16
 wkwte9qduYYi25V7pkPjnuQ2aFpvPjnRT5FrGj086fDM3PkJVV4=
 =bHuf
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-dt64-2-1' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt

Amlogic 64-bit DT changes for v4.19, round 2
- new SoC: S905W
- new boards: based on S905W: Amlogic P281, Oranth Tanix TX3 Mini
- AXG: add DT for new audio clock controller

* tag 'amlogic-dt64-2-1' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  ARM64: dts: meson-gxl: add support for the Oranth Tanix TX3 Mini
  ARM64: dts: meson-gxl: add support for the S905W SoC and the P281 board
  dt-bindings: arm: amlogic: Add support for the Oranth Tanix TX3 Mini
  dt-bindings: arm: amlogic: Add support for GXL S905W and the P281 board
  dt-bindings: add vendor prefix for Shenzhen Oranth Technology Co., Ltd.
  ARM64: dts: meson-axg: add the audio clock controller
  clk: meson: expose GEN_CLK clkid
  clk: meson-axg: add pcie and mipi clock bindings
  dt-bindings: clock: add meson axg audio clock controller bindings

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:53:39 -07:00
Olof Johansson
295d44ae78 Renesas ARM Based SoC DT Updates for v4.19
* RZ/G1C (r8a77470) SoC: Use r8a77470-cpg-mssr binding definitions
 * Add GR-Peach audio camera shield support with MT9V111 image sensor
 * Add initial support for RZ/N1D (r9a06g032) SoC and its RZN1D-DB board
 * Use SPDX identifiers in DT for all SoCs and boards
 * Add missing OPP properties for all CPUs on various SoCs
 * Add missing PMIC nodes to R-Car Gen2 M2-W (r8a7791) based porter board
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4nzZofWswv9L/nKF189kaWo3T74FAltVvhcACgkQ189kaWo3
 T76ABRAAsWkpVoxzMSj9c+qPtQ4r6aUsAF/gQfcU5eCdc4/v4YAhSzH2npY7CJ6N
 kUCdqLXtOI/1CvNUL9jg/BSl88oiObryFlfhAWsiraN82yTp6426YfCFAht9Hynx
 8hjEnp6M0D9dl6hKuA9Qn9V1PgM17nVLkuCkaCI1mgd3J0MNyUV0BGQJxZ+2/QmE
 LfXmBywDgTtyrLiwpTWwRZT290X0xYMTHJnew4c7m7JSqlHi38EZJ3r/VqD/Cwkk
 0fk/IDS4w9UFlwV326bjxyoozTnajgrcW6Gb40VPQYnJ+rD9FqnhPJilXhavJ/t/
 AGNc9r8wMkYVwwfcYNvW9m1plfmpxiYulvOX6TKBp22yM0QiqLpu1C5gjSAce5i/
 VH61eBDUYYMdXLtQfLoEv91pmJZmrWGs0IRSGHdaNSOUYyW3FtBBTIvfmpbB09JU
 FNPCG1YFrCCndDKWPieYx056fydChYNK6S2a9nrAK97h5WiPxOpBnDET9dHkUMod
 n50r+9Qr4ty68oOyJPqtHnSk3d5AU42I4iwSoiNLgbBWbvBLlmFe3Ov3B53rdVLD
 DJ7ixGKYz1XaAuWDd72NVpDqeU60vVuvJJx+GOSIq0KXXn74ajcB/g4fekn/ZXMK
 43gUB5MSzemgpRNmZi6Z78HF5ZmvQsCcl3yXuepdW0/k8CypVtk=
 =jxlx
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm-dt-for-v4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt

Renesas ARM Based SoC DT Updates for v4.19

* RZ/G1C (r8a77470) SoC: Use r8a77470-cpg-mssr binding definitions
* Add GR-Peach audio camera shield support with MT9V111 image sensor
* Add initial support for RZ/N1D (r9a06g032) SoC and its RZN1D-DB board
* Use SPDX identifiers in DT for all SoCs and boards
* Add missing OPP properties for all CPUs on various SoCs
* Add missing PMIC nodes to R-Car Gen2 M2-W (r8a7791) based porter board

* tag 'renesas-arm-dt-for-v4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: dts: r8a77470: Use r8a77470-cpg-mssr binding definitions
  ARM: dts: gr-peach: Add GR-Peach audiocamerashield support
  ARM: dts: Renesas R9A06G032 SMP enable method
  ARM: dts: Renesas RZN1D-DB Board base file
  ARM: dts: Renesas R9A06G032 base device tree file
  ARM: dts: convert to SPDX identifier for Renesas boards
  ARM: dts: r8a77(43|9[013]): Add missing OPP properties for CPUs
  ARM: dts: porter: Add missing PMIC nodes

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:53:02 -07:00
Olof Johansson
bcdd220849 Merge branch 'sprd/dt' into next/dt
* sprd/dt:
  arm64: dts: sprd: Add one suspend timer
  arm64: dts: sprd: Add SC27XX ADC device
  arm64: dts: sprd: Add SC27XX eFuse device
  arm64: dts: sprd: Add SC27XX vibrator device
  arm64: dts: sprd: Add SC27XX breathing light controller device

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:52:20 -07:00
Baolin Wang
b2d94b3ff0 arm64: dts: sprd: Add one suspend timer
On Spreadtrum platform, the current clocksource for timekeeping will be
stopped in suspend state, thus add one always-on timer to calculate the
suspend time.

Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:51:32 -07:00
Baolin Wang
fc8e565f20 arm64: dts: sprd: Add SC27XX ADC device
Add the Spreadtrum SC27XX PMICs ADC device node which contains 32 channels.

Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:51:29 -07:00
Baolin Wang
17a376c0b5 arm64: dts: sprd: Add SC27XX eFuse device
This patch adds the eFuse device node for Spreadtrum SC27XX PMICs.
The SC27XX eFuse contains 32 blocks and each block's data width is
16 bits.

Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:51:26 -07:00
Baolin Wang
f94cd003c2 arm64: dts: sprd: Add SC27XX vibrator device
This patch adds the vibrator device node for Spreadtrum SC27XX PMICs.

Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:51:19 -07:00
Baolin Wang
02c2455e92 arm64: dts: sprd: Add SC27XX breathing light controller device
The SC27xx breathing light controller can support 3 outputs:
red LED, green LED and blue LED.

Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:51:16 -07:00
Olof Johansson
3f0f096bf0 Qualcomm Device Tree Changes for v4.19
* Add missing OPPs on IPQ4019
 * Fix sdhci l20 load on Hammerhead
 * Use proper IRQ macros for IPQ8064 interrupts
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJbU6QjAAoJEFKiBbHx2RXVUX8P/ic2ts3DUZo29WTWWlxgZ8FE
 byMaT+3/fG+2myznE2lgJfDumSqEN91GwOwwPzE3UikbJTkRzfuy/b1e1dSktjdF
 6PZbQucsNczXPHi0sOxYaBv+BxGp99FM5c98g3vPfqgs9chBT+lhTR6gHafSEtQs
 udCD+XG3HJl/CvI5Sx94dfSEBJXb8aBd9CWsWhWzvaG5uOBQddIs2aS5S2fE6x4j
 FNnAVzHUoy5TxNwhadMMocdP0e77uOVV5cAzRIWugoKwYsa0TOmFOxEZryiMOyJb
 RvzV764QvLkefv1EuPrJclGMtDs4qsOGrL9iBaCy95lEqzm6NDZKVPQ3wBk7EIBu
 0c1dwPLecKPwwcD/toTLVf/OOqmrkROCY6yi8YAcPCK8SUEwJgBOueirKST68c6b
 aW2MHTluZcUZ/iDPQ/JzAYeD0p4xovS0vEr1ZY3K4o+AzI2BqagEXJcOUW72YqAd
 s4TQwXmCzEqN0PdfrLQRrWa7pqVoLLJ1x/Q1bAp9+uE6piAefLoNZ0jlx1aLmQYa
 ck1N1PkJNcfQbQ04+XEyZ5R2c1hQ5Grq4YHnyIMYkOXufcdn6HGk8vwQnBVTWi+K
 EwtW95x2jPponhuQkSWn6MCkYtox2Hs1UKjlkKjjs2hobMccdQa8L8AZsRSTysqj
 z42KLUCc1/nAiqS35qgq
 =ijKp
 -----END PGP SIGNATURE-----

Merge tag 'qcom-dts-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt

Qualcomm Device Tree Changes for v4.19

* Add missing OPPs on IPQ4019
* Fix sdhci l20 load on Hammerhead
* Use proper IRQ macros for IPQ8064 interrupts

* tag 'qcom-dts-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  ARM: dts: qcom: Add missing OPP properties for CPUs
  ARM: dts: qcom: msm8974-hammerhead: increase load on l20 for sdhci
  ARM: dts: qcom: Fix 'interrupts = <>' property to use proper macros

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:40:51 -07:00
Olof Johansson
9be6a940ec Qualcomm ARM64 Updates for v4.19
* Add support for PM8005/PM8998 and related nodes
 * Add/fix nodes on SDM845 for I2c, SPI, UART, and RPMH
 * Fix BT LED trigger on DB410c
 * Drop legacy clock names on MSM8916
 * Add gpio line names on DB820c
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJbU6V8AAoJEFKiBbHx2RXVEWQP/iqEdooNqTqHwxTFzVrTjMrH
 k4tWuXjKNIkyoxuMwOVjeDtSoHchITIe5/b3pEQqsP20kjS/ouY0moazjZkOatx/
 fSNsempJkO5j3vVDMJ6veIYZqjBrzvW7FX2PzF8OI3LzSRIssZLJvhtxRZ4KgWWk
 zzPpbRJPww18P+eMjtiei0W1mJnbvs0T7bgJImPkfn9G4GOxGTKx8Wd8zshbH7Bn
 P1x9Ylr7ZV9G6B+t8j+tmJc1QzHAkgH0DMg8K0BeSo/kZ3o6kPGu+Yx1NtHRZo1W
 3qY21AiDu0cQhtxvm31SfDrau0Mk3sysCAF3DL6L1o/REyxphZp/PtNuE0JRxaCE
 RjTjmNBD02sQZHcVeI84JDlv2x+mLIOENQeRTDz0CKDinweWkY7A9bsE8Zf+dxM1
 5BLVvZbKW5jF84lUHsZsxeAwp7q2rqjT5wv+kwmyOfrMGIOz8JKYpjf7W7+wncT3
 +CbRDY40XyeRMF+WkxC9Ir2fJlY4uZu4dXo/5q0PASayRl3fmF7RBPijl2qwTfw/
 /sqhqtEhPCl6LUS4u1tEae2/04SwnTal/1/mfawguz+nXSuM4WuZuic8Ee1nqWTX
 zg3Tw8YOlBOEYggCy9WVzwI+5X3V9QHKQmsL8HjLpP7D1TY/wm5hf1/ph02TlHFG
 69g8nL/ZVh49yi3Nfj70
 =DQjU
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt

Qualcomm ARM64 Updates for v4.19

* Add support for PM8005/PM8998 and related nodes
* Add/fix nodes on SDM845 for I2c, SPI, UART, and RPMH
* Fix BT LED trigger on DB410c
* Drop legacy clock names on MSM8916
* Add gpio line names on DB820c

* tag 'qcom-arm64-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  arm64: dts: qcom: db410c: Fix Bluetooth LED trigger
  arm64: dts: sdm845: Default qupv3_id_0 as "disabled" like _id_1
  arm64: dts: msm8916: drop legacy suffix for clocks used by MSM DRM driver
  arm64: dts: qcom: db820c: Add gpio-line-names property
  arm64: dts: sdm845: Add rpmh-clk node
  arm64: dts: sdm845: Add rpmh-rsc node
  arm64: dts: qcom: sdm845: Enable debug UART and I2C10 on sdm845-mtp
  arm64: dts: qcom: sdm845: Add I2C, SPI, and UART9 nodes
  arm64: dts: qcom: Add pm8005 and pm8998 support
  arm64: dts: qcom: Add pmu node to sdm845

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:39:59 -07:00
Takashi Iwai
63623646a0 ALSA: emu10k1: Fix missing __force annotation for user/kernel pointer cast
The cast between user-space and kernel-space needs an explicit __force
prefix, but it's missing in many places in emu10k1 driver code.

Spotted by sparse as a warning like:
  sound/pci/emu10k1/emufx.c:529:33: warning: cast removes address space of expression

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-07-26 08:33:16 +02:00
Takashi Iwai
0701492c86 ALSA: korg1212: Add __force annotation to cast in user-copy callbacks
The user-copy callbacks in korg1212 driver contain the explicit cast
from a user pointer to a kernel pointer, but they missed __force
prefix.  It's mandatory for converting between them.

Spotted by sparse, a warning like:
  sound/pci/korg1212/korg1212.c:1329:33: warning: cast removes address space of expression

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-07-26 08:33:08 +02:00
Takashi Iwai
191bb51e72 ALSA: pcm: Use standard lower_32_bits() and upper_32_bits()
Instead of open codes, use the standard macros for obtaining the lower
and upper 32bit values.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-07-26 08:32:31 +02:00
Takashi Iwai
95a48b7d44 ALSA: pcm: Add __force to cast in snd_pcm_lib_read/write()
The snd_pcm_lib_read() and snd_pcm_lib_write() inline functions have
the explicit cast from a user pointer to a kernel pointer, but they
lacks of __force prefix.

This fixes sparse warnings like:
  ./include/sound/pcm.h:1093:47: warning: cast removes address space of expression

Fixes: 6854121372 ("ALSA: pcm: Direct in-kernel read/write support")
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-07-26 08:32:13 +02:00
Takashi Iwai
00966dcdf0 ALSA: usb-audio: Declare the common variable in header file
Declare snd_usb_feature_unit_ctl properly in mixer.h.  Otherwise it's
error-prone.

This fixes the sparse warning:
  sound/usb/mixer.c:1464:25: warning: symbol 'snd_usb_feature_unit_ctl' was not declared. Should it be static?

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-07-26 08:32:00 +02:00
Takashi Iwai
7e9c20f403 ALSA: opl3: Declare common variables properly
Move the declarations of common variables into opl3_voice.h instead of
declaring at each file multiple times, which was error-prone.

This fixes sparse warnings like:
  sound/drivers/opl3/opl3_synth.c:51:6: warning: symbol 'snd_opl3_regmap' was not declared. Should it be static?

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-07-26 08:31:48 +02:00
Takashi Iwai
ebd836edfc ALSA: hda - Fix a sparse warning about snd_ctl_elem_iface_t
The knew->iface field is in snd_ctl_elem_iface_t, which is with
__bitwise, hence it can't be converted implicitly from integer.
Give an explicit cast for the invalid type.

Spotted by sparse:
  sound/pci/hda/hda_codec.c:3280:25: warning: restricted snd_ctl_elem_iface_t degrades to integer

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-07-26 08:31:41 +02:00
Takashi Iwai
dcda6f7853 ALSA: msnd: Use NULL instead of 0
Fix a sparse warning:
  sound/isa/msnd/msnd_pinnacle.c:813:1: warning: Using plain integer as NULL pointer

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-07-26 08:31:33 +02:00
Takashi Iwai
bb86124c80 ALSA: hda/ca0132 - Use NULL instead of 0
Use NULL for initializing the snd_kcontrol_new.tlv field, instead of
0, as warned by sparse:
  sound/pci/hda/patch_ca0132.c:5519:22: warning: Using plain integer as NULL pointer

Also, the driver does the same initialization twice, once for
knew.tlv.c and another for knew.tlv.p while both point to the same
address (these are union).  Drop the latter superfluous one.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-07-26 08:31:25 +02:00
Takashi Iwai
7c500f9ea1 ALSA: msnd: Fix the default sample sizes
The default sample sizes set by msnd driver are bogus; it sets ALSA
PCM format, not the actual bit width.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-07-26 08:31:15 +02:00
Takashi Iwai
ab647a2d62 ALSA: msnd: Add missing __iomem annotations
The io-mapped buffers used in msnd drivers need __iomem annotations.

This fixes sparse warnings like:
  sound/isa/msnd/msnd_pinnacle.c:172:45: warning: incorrect type in initializer (different address spaces)

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-07-26 08:31:06 +02:00
Takashi Iwai
bd1cd0eb2c ALSA: usb-audio: Fix multiple definitions in AU0828_DEVICE() macro
AU0828_DEVICE() macro in quirks-table.h uses USB_DEVICE_VENDOR_SPEC()
for expanding idVendor and idProduct fields.  However, the latter
macro adds also match_flags and bInterfaceClass, which are different
from the values AU0828_DEVICE() macro sets after that.

For fixing them, just expand idVendor and idProduct fields manually in
AU0828_DEVICE().

This fixes sparse warnings like:
  sound/usb/quirks-table.h:2892:1: warning: Initializer entry defined twice

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-07-26 08:30:57 +02:00
Jeff Crukley
b080dc5bd0 ALSA: usb-audio: Add support for Encore mDSD USB DAC
This patch adds native DSD playback support for the Encore mDSD USB DAC by
specifying the vendor and product ID's

Signed-off-by: Jeff Crukley <jcrukley@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-07-26 08:29:32 +02:00
Takashi Iwai
69756930f2 ALSA: cs5535audio: Fix invalid endian conversion
One place in cs5535audio_build_dma_packets() does an extra conversion
via cpu_to_le32(); namely jmpprd_addr is passed to setup_prd() ops,
which writes the value via cs_writel().  That is, the callback does
the conversion by itself, and we don't need to convert beforehand.

This patch fixes that bogus conversion.

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-07-26 08:23:45 +02:00
Takashi Iwai
3acd3e3bab ALSA: vxpocket: Fix invalid endian conversions
The endian conversions used in vxp_dma_read() and vxp_dma_write() are
superfluous and even wrong on big-endian machines, as inw() and outw()
already do conversions.  Kill them.

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-07-26 08:23:33 +02:00
Takashi Iwai
fff71a4c05 ALSA: vx222: Fix invalid endian conversions
The endian conversions used in vx2_dma_read() and vx2_dma_write() are
superfluous and even wrong on big-endian machines, as inl() and outl()
already do conversions.  Kill them.

Spotted by sparse, a warning like:
  sound/pci/vx222/vx222_ops.c:278:30: warning: incorrect type in argument 1 (different base types)

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-07-26 08:23:28 +02:00
Takashi Iwai
a49a71f6e2 ALSA: seq: Fix poll() error return
The sanity checks in ALSA sequencer and OSS sequencer emulation codes
return falsely -ENXIO from poll callback.  They should be EPOLLERR
instead.

This was caught thanks to the recent change to the return value.

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-07-26 08:23:26 +02:00
Arjun Vynipadath
942a656f1f cxgb4: Added missing break in ndo_udp_tunnel_{add/del}
Break statements were missing for Geneve case in
ndo_udp_tunnel_{add/del}, thereby raw mac matchall
entries were not getting added.

Fixes: c746fc0e8b2d("cxgb4: add geneve offload support for T6")
Signed-off-by: Arjun Vynipadath <arjun@chelsio.com>
Signed-off-by: Ganesh Goudar <ganeshgr@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-07-25 22:38:49 -07:00
Paul Mackerras
b5c6f7607b KVM: PPC: Book3S HV: Read kvm->arch.emul_smt_mode under kvm->lock
Commit 1e175d2 ("KVM: PPC: Book3S HV: Pack VCORE IDs to access full
VCPU ID space", 2018-07-25) added code that uses kvm->arch.emul_smt_mode
before any VCPUs are created.  However, userspace can change
kvm->arch.emul_smt_mode at any time up until the first VCPU is created.
Hence it is (theoretically) possible for the check in
kvmppc_core_vcpu_create_hv() to race with another userspace thread
changing kvm->arch.emul_smt_mode.

This fixes it by moving the test that uses kvm->arch.emul_smt_mode into
the block where kvm->lock is held.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2018-07-26 15:38:41 +10:00
Gustavo A. R. Silva
dc66fe43b7 rds: send: Fix dead code in rds_sendmsg
Currently, code at label *out* is unreachable. Fix this by updating
variable *ret* with -EINVAL, so the jump to *out* can be properly
executed instead of directly returning from function.

Addresses-Coverity-ID: 1472059 ("Structurally dead code")
Fixes: 1e2b44e78e ("rds: Enable RDS IPv6 support")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Acked-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-07-25 22:37:31 -07:00
Jakub Kicinski
c259b4fb33 netdevsim: don't leak devlink resources
Devlink resources registered with devlink_resource_register() have
to be unregistered.

Fixes: 37923ed6b8 ("netdevsim: Add simple FIB resource controller via devlink")
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Quentin Monnet <quentin.monnet@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-07-25 22:33:39 -07:00
Anders Roxell
ba7d7e2677 net/rds/Kconfig: RDS should depend on IPV6
Build error, implicit declaration of function __inet6_ehashfn shows up
When RDS is enabled but not IPV6.
net/rds/connection.c: In function ‘rds_conn_bucket’:
net/rds/connection.c:67:9: error: implicit declaration of function ‘__inet6_ehashfn’; did you mean ‘__inet_ehashfn’? [-Werror=implicit-function-declaration]
  hash = __inet6_ehashfn(lhash, 0, fhash, 0, rds_hash_secret);
         ^~~~~~~~~~~~~~~
         __inet_ehashfn

Current code adds IPV6 as a depends on in config RDS.

Fixes: eee2fa6ab3 ("rds: Changing IP address internal representation to struct in6_addr")
Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-07-25 22:33:05 -07:00
David S. Miller
b9a9ad782f Merge branch 'smc-next'
Ursula Braun says:

====================
net/smc: patches 2018-07-25

here are 4 more patches for SMC: The first one is just a small
code cleanup in preparation for patch 2. Patch 2 switches to the
use of the vlan-gid for VLAN traffic. Patch 3 improves diagnosis
when creating SMC connections. Patch 4 improves synchronization
between local and remote link groups.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2018-07-25 22:25:54 -07:00
Karsten Graul
0d18a0cb4b net/smc: improve delete link processing
Send an orderly DELETE LINK request before termination of a link group,
add support for client triggered DELETE LINK processing. And send a
disorderly DELETE LINK before module is unloaded.

Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-07-25 22:25:53 -07:00
Karsten Graul
603cc14984 net/smc: provide fallback reason code
Remember the fallback reason code and the peer diagnosis code for
smc sockets, and provide them in smc_diag.c to the netlink interface.
And add more detailed reason codes.

Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-07-25 22:25:53 -07:00
Ursula Braun
7005ada68d net/smc: use correct vlan gid of RoCE device
SMC code uses the base gid for VLAN traffic. The gids exchanged in
the CLC handshake and the gid index used for the QP have to switch
from the base gid to the appropriate vlan gid.

When searching for a matching IB device port for a certain vlan
device, it does not make sense to return an IB device port, which
is not enabled for the used vlan_id. Add another check whether a
vlan gid exists for a certain IB device port.

Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-07-25 22:25:53 -07:00
Ursula Braun
947541f36c net/smc: fewer parameters for smc_llc_send_confirm_link()
Link confirmation will always be sent across the new link being
confirmed. This allows to shrink the parameter list.
No functional change.

Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-07-25 22:25:53 -07:00
David S. Miller
f537530584 Merge branch 'nfp-protect-from-theoretical-size-overflows-and-SR-IOV-errors'
Jakub Kicinski says:

====================
nfp: protect from theoretical size overflows and SR-IOV errors

This small set changes the handling of pci_sriov_set_totalvfs() errors.
nfp is the only driver which fails probe on pci_sriov_set_totalvfs()
errors.  It turns out some BIOS configurations may break SR-IOV and
users who don't use that feature should not suffer.

Remaining patches makes sure we use overflow-safe function for ring
allocation, even though ring sizes are limited.  It won't hurt and
we can also enable fallback to vmalloc() if memory is tight while
at it.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2018-07-25 22:17:45 -07:00
Jakub Kicinski
5ea14712d7 nfp: protect from theoretical size overflows on HW descriptor ring
Use array_size() and store the size as full size_t to protect from
theoretical size overflow when handling HW descriptor rings.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-07-25 22:17:44 -07:00
Jakub Kicinski
e76c1d3d2a nfp: restore correct ordering of fields in rx ring structure
Commit 7f1c684a89 ("nfp: setup xdp_rxq_info") mixed the cache
cold and cache hot data in the nfp_net_rx_ring structure (ignoring
the feedback), to try to fit the structure into 2 cache lines
after struct xdp_rxq_info was added.  Now that we are about to add
a new field the structure will grow back to 3 cache lines, so
order the members correctly.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-07-25 22:17:44 -07:00
Jakub Kicinski
4662717038 nfp: use kvcalloc() to allocate SW buffer descriptor arrays
Use kvcalloc() instead of tmp variable + kzalloc() when allocating
SW buffer information to allow falling back to vmalloc and to protect
from theoretical integer overflow.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-07-25 22:17:44 -07:00
Jakub Kicinski
5b0ced17ed nfp: don't fail probe on pci_sriov_set_totalvfs() errors
On machines with buggy ACPI tables or when SR-IOV is already enabled
we may not be able to set the SR-IOV VF limit in sysfs, it's not fatal
because the limit is imposed by the driver anyway.  Only the sysfs
'sriov_totalvfs' attribute will be too high.  Print an error to inform
user about the failure but allow probe to continue.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-07-25 22:17:44 -07:00
Benedict Wong
44e2b838c2 xfrm: Return detailed errors from xfrmi_newlink
Currently all failure modes of xfrm interface creation return EEXIST.
This change improves the granularity of errnos provided by also
returning ENODEV or EINVAL if failures happen in looking up the
underlying interface, or a required parameter is not provided.

This change has been tested against the Android Kernel Networking Tests,
with additional xfrmi_newlink tests here:

https://android-review.googlesource.com/c/kernel/tests/+/715755

Signed-off-by: Benedict Wong <benedictwong@google.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
2018-07-26 07:17:26 +02:00
YueHaibing
934ffce134 xfrm: fix 'passing zero to ERR_PTR()' warning
Fix a static code checker warning:

  net/xfrm/xfrm_policy.c:1836 xfrm_resolve_and_create_bundle() warn: passing zero to 'ERR_PTR'

xfrm_tmpl_resolve return 0 just means no xdst found, return NULL
instead of passing zero to ERR_PTR.

Fixes: d809ec8955 ("xfrm: do not assume that template resolving always returns xfrms")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
2018-07-26 07:13:44 +02:00
Paul Mackerras
1ebe6b81eb KVM: PPC: Book3S HV: Allow creating max number of VCPUs on POWER9
Commit 1e175d2 ("KVM: PPC: Book3S HV: Pack VCORE IDs to access full
VCPU ID space", 2018-07-25) allowed use of VCPU IDs up to
KVM_MAX_VCPU_ID on POWER9 in all guest SMT modes and guest emulated
hardware SMT modes.  However, with the current definition of
KVM_MAX_VCPU_ID, a guest SMT mode of 1 and an emulated SMT mode of 8,
it is only possible to create KVM_MAX_VCPUS / 2 VCPUS, because
threads_per_subcore is 4 on POWER9 CPUs.  (Using an emulated SMT mode
of 8 is useful when migrating VMs to or from POWER8 hosts.)

This increases KVM_MAX_VCPU_ID to 8 * KVM_MAX_VCPUS when HV KVM is
configured in, so that a full complement of KVM_MAX_VCPUS VCPUs can
be created on POWER9 in all guest SMT modes and emulated hardware
SMT modes.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2018-07-26 14:53:54 +10:00