Commit graph

691,473 commits

Author SHA1 Message Date
Arnd Bergmann
c975bd7ef5 Renesas ARM64 Based SoC Defconfig Updates for v4.9
* Enable HSUSB and SDHI
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXz8NJAAoJENfPZGlqN0++m3AQAI4IOiRcVRi4R+kypMqcnkyI
 dbQVd9CJl1H9ob4tpUL0hMvTSZdNzMDn4knHb5iUaqbeY865qLFZGqJ1z8+XYZ2a
 70kXHV0y2MLTZ/VPEsGRQLEjbyhq3hl5qbF5GXK1K7P63AMnXwnE6h99+ayWopQl
 lcVJbNkYFsn/F238zDUMFpJl3PIhDr4G3z/lqiFz1WydlK6APwHAfyHIsNTrX/+7
 ytzRLNtCLvpDSiwyOJ8ty5NMRBsBMUsq/REy0hsRabfP7ws9tC/Rpj9O5UGKueEQ
 wMkbTLYAwq8UrDGttrAY0lNNkzNVeBm/AO7VDDvfEl8BZKcxpGjF5t65miq4QWM8
 P2BBTIUHhyrbA98SwWjKCeZzqmisvQeCfKyRNJzgJViW3L0YW74ixmt0Q55wToqz
 CIcbnzLzfKfzVZpXHy0CvIIf+9reKyvQ/yLca6AAx14ZsMCKYP+EtwlG1pj1SMFE
 NB4tQKMWtK50TplqlTsmuXbSUu2QpbXyFE8vc/nCYLNHh4QfD/VaG0AmhThNg7Ix
 DFkdUM0rTz3Y7JKeGHWv6yzxuYQp39a+5Il2MaoxCq/W+Nx6u5bUkkwvei0RzvgC
 8EkPLu44hGcB+aFcX1tz0wE0X5ujRXvUCR2KcZlGrbNnvsvZcz5we7+NPBPVSFCj
 OiiHxPMYrOGuboR8dCcD
 =5O7N
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm64-defconfig-for-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/arm64

Pull "Renesas ARM64 Based SoC Defconfig Updates for v4.9" from Simon Horman:

* Enable HSUSB and SDHI

* tag 'renesas-arm64-defconfig-for-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  arm64: defconfig: Enable SDHI and GPIO_REGULATOR
  arm64: defconfig: Add Renesas R-Car HSUSB driver support as module
2016-09-15 00:08:55 +02:00
Leo Yan
57e109cb97 arm64: defconfig: enable common modules for power management
Enable common modules for power management; one is to enable
CPUFREQ_DT driver; the driver is used by many platforms by passing OPP
table from device tree.

Also enables thermal related drivers. Firstly we need enable
configuration CPU_THERMAL for CPU cooling device driver, this will bind
thermal zone with CPU cooling device; and enable 'power allocator'
thermal governor.

Signed-off-by: Leo Yan <leo.yan@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-09-15 00:07:46 +02:00
Arnd Bergmann
dafa5d3952 mvebu defconfig64 for 4.9 (part 1)
- add PCIe driver for Aardvark for Armada 3700
 - enable xhci-platform for A7K/A8K
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAlfMQewACgkQCwYYjhRyO9WrKgCeJWuHOFUlMYoZqEYKkdA5aJ9G
 iPsAoIFQivT7yCn9p7rJKzKt2NI4skoy
 =jIwM
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-defconfig64-4.9-1' of git://git.infradead.org/linux-mvebu into next/arm64

Pull "mvebu defconfig64 for 4.9 (part 1)" from Gregory CLEMENT:

- add PCIe driver for Aardvark for Armada 3700
- enable xhci-platform for A7K/A8K

* tag 'mvebu-defconfig64-4.9-1' of git://git.infradead.org/linux-mvebu:
  arm64: configs: enable PCIe driver for Aardvark
  arm64: defconfig: enable xhci-platform
2016-09-15 00:05:59 +02:00
Arnd Bergmann
23d4635ec9 Qualcomm ARM64 Based defconfig Updates for v4.9
* Enable defconfig options for QDF2432
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXycsjAAoJEFKiBbHx2RXVDBIQAKzDDaOiHHSMoGfQ2kFy64Q/
 1zDa0Ewnr5GW64N2roD6D1Z6eSnMY+8N+wtf6AUgBOmw8u1whwrYZ15BgIkuIhhU
 qOZHhes1FqE4hcAv8lOrJ9L+l1O48x6PJa/pdiZzIA3aGoVkROoJb2DVsLt/bneU
 Mmfx3ormi3srScUt1FhUlNFfDyQcSM/Q8B1b0oFcxE2SgZXIZZbr1GpZxYjf0Q3F
 XId7sjqwnSGYWhkGVjXIyewMbZS3+Jim87PO0lHgv651hyz6XHz2AE8Ceqb21ZHz
 jYZoGqb1l2rTSGoP6kK6ZLxBceSkwFS5ve6ldV6Pm4OpmRCyiS0vEUQD3iE6tHVG
 VW8xI+EnHbKunCa+rSSilefOjm359nj76K1LVANTipksCSwptDgh61fRqCnU8XGg
 OiFY/aoYq+FyZqnh7bNBmcXFwHvdMga/Knx8zEi1qIocMMU5r5BqVp2pXKJzxujj
 2rU1xk19YHvx1x7RC/cGUBmZb58uAU9UXinZ2k/BzDCYIK5X0NS/Qjm6P3hK0tDQ
 VaADHoUz83LRC/U/OrpDmOP9ErJBIu1y1fHQ48qYYW5e8uA7rMsJx9KEjZ4qjXM/
 wz8gzjETv9+UYD1szbY2hV4ZsUMSdvxjo+T7Z2pGIuGLKZ1ZpKHykaMDAuOHz7cY
 frtOPjV5O7MEzGCYa5bv
 =Y4cO
 -----END PGP SIGNATURE-----

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

Pull "Qualcomm ARM64 Based defconfig Updates for v4.9" from Andy Gross:

* Enable defconfig options for QDF2432

* tag 'qcom-arm64-defconfig-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  arm64: defconfig: Enable QDF2432 config options
2016-09-15 00:04:53 +02:00
Kevin Hilman
699189c848 arm64: defconfig: enable meson I2C
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-09-15 00:03:46 +02:00
Kevin Hilman
5a9a9cf0a1 arm64: defconfig: enable meson SPI as module
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-09-15 00:03:41 +02:00
Kevin Hilman
19b9869192 arm64: defconfig: enable meson WDT as modules
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-09-15 00:03:31 +02:00
Kevin Hilman
5012a09b9b arm64: defconfig: enable HW random as module
drivers/char/hw_random/Kconfig has 'default m', so
simply removing this entry from the defconfig will
enable building HW random drivers as modules.

Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-09-15 00:03:21 +02:00
Arnd Bergmann
a458ae7321 ARM64: hisilicon: defconfig updates for 4.9
- Enable hisilicon SAS and XGE for hip05 and hip06
 - Enable drm, powerkey, bluetooth and adv7511/adv7533 for hikey
 - Add PINCTRL to HISI platform
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXyVBpAAoJEAvIV27ZiWZcqWcQALMdZkeDs5iIwihsrRMnVmj9
 a/XA/xVFsZj8lys6LIhGWZ7L4BDZxLvF0065EeyVIDphhk51D5rgyYy2rP5SlDnj
 kZJxB/RoycDrp95rOZGHaC1prN23mmk6gGT3BK6CW6OJKEZI+UNu+a0P2EfntGR2
 vpGl4MeoI0GT2ZvpN0c2uzURHGof687mAgHbrNKDmKYKkHgV9hA2D2oFjWdYxcYB
 fXh7a7d5vRpTrYIKo5R2T2XUDIUQuohgIWDdyDTUsFTPqEXt9Dict5R6k6dXTiCR
 5SPKnZ8AgHU+wWTtB+A+XL5h+jbyftuymuaQY/iEESa/0e7xCWIRyk3wRYUKmNch
 Q5w4tqVzqeZjALKE1Lshaw78+SMf/vKSp09LSIx60hRNpuEXm9H7iALxETsgl8Av
 ofRD85K0HW18dhVTQoDB3hplqi485lSkkuigTX9R3TkE6iY2XitDJeseSxH/wHml
 0alpDMXqv4WNvrLfunZdVqOoLEbuFoYhwhq5EHv94LZoyIacVsd5dx7bg6P3o7sj
 3xRXyU3O7fSLc1Qr56+88i99PmbIX68B77V3xrwAJYW8kBGVdNci0ccLuVmlaSdc
 B3FmLk+MCd2gofNzyYG8lQeXCRM+ElnhAZ+QC0vQhvUETdGXSpA+ZJcph/adaq/j
 8im37ibx4oByG3TCk7w3
 =y80h
 -----END PGP SIGNATURE-----

Merge tag 'hisi-defconfig-for-4.9' of git://github.com/hisilicon/linux-hisi into next/arm64

Pull "ARM64: hisilicon: defconfig updates for 4.9" from Wei Xu:

- Enable hisilicon SAS and XGE for hip05 and hip06
- Enable drm, powerkey, bluetooth and adv7511/adv7533 for hikey
- Add PINCTRL to HISI platform

* tag 'hisi-defconfig-for-4.9' of git://github.com/hisilicon/linux-hisi:
  Kconfig: ARCH_HISI: Add PINCTRL to HISI platform
  arm64: defconfig: enable bluetooth supports as modules
  arm64: defconfig: enable CONFIG_INPUT_HISI_POWERKEY for HiKey
  arm64: defconfig: Enable HiSilicon kirin drm, adv7533 for HiKey
  arm64: defconfig: Enable Hisi SAS and HNS
2016-09-15 00:02:16 +02:00
Arnd Bergmann
b284ce5374 i.MX defconfig updates for 4.9:
- Enable i.MX6 SATA and cpufreq driver support in multi_v7_defconfig.
  - Enable MPL3115, Etnaviv GPU, WM8960 Codec driver and more USB
    functions support in imx_v6_v7_defconfig.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJX1lztAAoJEFBXWFqHsHzOIdcIALyc4nkJXR1XYYTfL7h+KkgC
 YozZ7dX2JyU4n+lYtRz1wLc9SANUu3Of6Ecipk+Y7Djnen0G5Qet6rP5NXzFwmVM
 gy5OwctXUaWv7muynLf3SIFyFZ5b+mKwO2n2b/88E5mbSEUXskD/b8lYm/i4XHeJ
 Ev3NfAaKo5eDCA39VNsNuD8XkC9wz5CaHbQNCR3hBmHUo9Fjh2eMcloy7/zcbXE9
 tVIrZrIzge7l9s5UE1gMYvChQKPE/3tQRhS7NlqFAM4zQfbhQYN1UjibZfoizlMi
 jWQxpjZo5VsVOZ1uHPPjdMbjOVHfnUWkSV/l6AAmo4Mnftt83Y3fFxQ+jPHIWgY=
 =/Z7R
 -----END PGP SIGNATURE-----

Merge tag 'imx-defconfig-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/defconfig

Merge "i.MX defconfig updates for 4.9" from Shawn Guo:
 - Enable i.MX6 SATA and cpufreq driver support in multi_v7_defconfig.
 - Enable MPL3115, Etnaviv GPU, WM8960 Codec driver and more USB
   functions support in imx_v6_v7_defconfig.

* tag 'imx-defconfig-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: imx_v6_v7_defconfig: Select the wm8960 codec driver
  ARM: imx_v6_v7_defconfig: Add CONFIG_MPL3115
  ARM: imx_v6_v7_defconfig: Enable GPU support
  ARM: imx_v6_v7_defconfig: enable more USB configurations
  ARM: multi_v7_defconfig: Enable ARM_IMX6Q_CPUFREQ
  ARM: multi_v7_defconfig: Enable AHCI_IMX
2016-09-14 23:59:33 +02:00
Arnd Bergmann
3197f7dc23 mvebu defconfig for 4.9 (part 1)
- update dsa config with new symbol
 - add flash related config for mvebu v7
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAlfMQVUACgkQCwYYjhRyO9XsjwCfXdMXmR+QEF+zFB/K/Z5E2BWO
 RFYAnRWBOjELgMuH1Q14Sw8ANEj1H5/A
 =ZV+v
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-defconfig-4.9-1' of git://git.infradead.org/linux-mvebu into next/defconfig

Pull "mvebu defconfig for 4.9 (part 1)" from Gregory CLEMENT:

- update dsa config with new symbol
- add flash related config for mvebu v7

* tag 'mvebu-defconfig-4.9-1' of git://git.infradead.org/linux-mvebu:
  ARM: mvebu_v5_defconfig: use MV88E6XXX
  ARM: mvebu: enable UBI and UBIFS in mvebu_v7_defconfig
  ARM: mvebu: enable MTD command line partition table in mvebu_v7_defconfig
2016-09-14 23:57:23 +02:00
Arnd Bergmann
35e53e33de ARM: config: Add CONFIG_NOP_USB_XCEIV
Keystone usb phy needs CONFIG_NOP_USB_XCEIV to be enabled.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXx15hAAoJEHJsHOdBp5c/4i4P/iOGMsKUNltw1qiqN5nihF0V
 GWaaVk/vz1oXjm98CyfPOPK9+u5SioRrm04nzhQdSTUmqZNtGJg1PKWjtJcyKuQZ
 ajZpD+1QdviFJw+/Gffdxsw38W5nQ6X5//IzSYR68CWXet11zrujBJA4GK7Mxs3Y
 fFkehrBIgcgeIdwIRx8HuZWu1+xtVDWwXIc5f/LxoIATffaSMTMapW8QTiPvvWxk
 HB+p8LshwPAS71vnzC4GUHPinEVLawesPLUDxq56e+DCKspq20UsOWezc/JEvUNL
 X2IXvODFx+9WyIdgErdt0+00ljiVw4KWEGexAaYqVUmmbSARA45/vULUkoOZ6qIY
 u8vy3L58A2E7KvLi2U5ma5mHzRs7bSOuoFO9hhjSLG1nbjyz3HcPmYgTXyP9hCPR
 L16nwlrcAsc4M+u7HD7RR7vuUteQcqhYo8cLsDJjwJcwyicmIGRewBQI3to1s5sJ
 h8iu1atoJC4yPvTEpI8iflpuqkCMfvntkvOlmiyVJ0EyEPxBNli8QKOo2tq1MfSZ
 J4rHWQq8DB8EWoqkrEC8hnRof2Sa//0B44AXffujwzdng+LiYVBYbbSmQ8Q/L86T
 l7WN2a+mqfYfJPrxB7lF9WzH14fy7SVCOuuxmJqdAYImw4/QBm6ecBkkH6JhGXdL
 +OAXb4QFg7YC7+c7BtBn
 =jzCV
 -----END PGP SIGNATURE-----

Merge tag 'keystone_config_for_4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/defconfig

Pull "ARM: config: Add CONFIG_NOP_USB_XCEIV" from Santosh Shilimkar:

Keystone usb phy needs CONFIG_NOP_USB_XCEIV to be enabled.

* tag 'keystone_config_for_4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
  ARM: keystone: defconfig: Fix USB configuration
2016-09-14 23:56:11 +02:00
Niklas Cassel
b58ddf1747 PCI: artpec6: Drop __init from artpec6_add_pcie_port()
artpec6_add_pcie_port() is called from artpec6_pcie_probe(), which is not
marked __init.  It is wrong to call an __init function from a non-__init
one, so remove __init from artpec6_add_pcie_port().

[bhelgaas: changelog]
Signed-off-by: Niklas Cassel <niklas.cassel@axis.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2016-09-14 16:20:47 -05:00
Sergei Shtylyov
f7bc63802d PCI: rcar: Fix some checkpatch warnings
The R-Car PCIe driver causes 13 warnings from scripts/checkpatch.pl --
let's fix at least 10 easier ones:

  - line over 80 characters;
  - blank line missing after declarations;
  - statements not starting on a tabstop.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
2016-09-14 16:16:34 -05:00
Grigory Kletsko
e3123c20c8 PCI: rcar: Add multi-MSI support
Implement the MSI .setup_irqs() method which enables allocation of several
MSIs at once.

[Sergei Shtylyov: removed unrelated/unneeded changes, fixed too long lines,
reordered the variable declarations, reworded the summary/description.]
Signed-off-by: Grigory Kletsko <grigory.kletsko@cogentembedded.com>
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
2016-09-14 16:13:58 -05:00
Stephen Rothwell
290128ac13 partial revert of "PM / devfreq: Add COMPILE_TEST for build coverage"
This reverts the Tegra part of commit 797da5598f (PM / devfreq: Add
COMPILE_TEST for build coverage) that introduced a build failute in
in linux-next.

[ rjw: Changelog ]
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-09-14 23:06:38 +02:00
Linus Torvalds
4cea877657 PCI updates for v4.8:
Enumeration
     Mark Haswell Power Control Unit as having non-compliant BARs (Bjorn Helgaas)
 
   Power management
     Fix bridge_d3 update on device removal (Lukas Wunner)
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJX2az0AAoJEFmIoMA60/r8/EoP/28mGRiKi8mlqNAR3MYN3F0n
 VSIm7WyxWNawH1gRJXKQBzNqgMJnj4qRGXSIvP3AIYyBDcJs/X7j91/eKOARNfQr
 55A+gfSz4jUKlw+0WgPY8/U2/xQ4yoom1zhbsAYcIVeljZo/3JUg+wHpPjhIMkH0
 2slTerHRDExrS43jxQi225toiEaO6lcY8EVmHCDo+jYlQz3sCEwIXg9hn1rwTbvG
 sJI0zyUwHF+oWowgJqlwYxsbPPnelPAN5YAx7KrHuVmBdL0Bgo3oIRtbb3JZZ9Up
 L9bQ6NpRjSARvijaZ2TAhueqIIDv2HGgvwNB01l4Yggw7Sm1dFCuUS6vj/e5tpZA
 xntE3F6s2Z+I4I1D7pAX3jMYCdYx/QltiTCeGRp8pJv+f4ewW3jcel3FAksY3BEg
 0NCjDrGFqGYai4hGRROpt/aXlW/Pn53eQLlu4Xg2qgkj0NMh0ODMrTjMnABB39ae
 eGqIXab7WeVBxt10eU19J1u1RTqpUO2LJW+cMnvYdCfKAYby/gj8SD8vIsn3oDjZ
 hQS/4fSHurc7LZwDmwOfaiHlGnvcQWV9EKwgScS0v8AxPQnC8pNUgYpzZcXY8Q6I
 YXtyK7suFriSZPS0Qs4FrdfJrmTBaBQ55aZu9aftb5v4YqacN5qZo+HaXiONBy3v
 RzsFK6xIbnIgb35g8vKy
 =PQml
 -----END PGP SIGNATURE-----

Merge tag 'pci-v4.8-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci

Pull PCI fixes from Bjorn Helgaas:
 "Here are two changes for v4.8.  The first fixes a "[Firmware Bug]: reg
  0x10: invalid BAR (can't size)" warning on Haswell, and the second
  fixes a problem in some new runtime suspend functionality we merged
  for v4.8.  Summary:

  Enumeration:
    Mark Haswell Power Control Unit as having non-compliant BARs (Bjorn Helgaas)

  Power management:
    Fix bridge_d3 update on device removal (Lukas Wunner)"

* tag 'pci-v4.8-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
  PCI: Fix bridge_d3 update on device removal
  PCI: Mark Haswell Power Control Unit as having non-compliant BARs
2016-09-14 14:06:30 -07:00
Hoan Tran
1a85b50bef clk: xgene: Add PMD clock
Add X-Gene PMD clock support.

PMD clock is implemented for a single register field.
  Output rate = parent_rate * (denominator - scale) / denominator
with
  - denominator = bitmask of register field + 1
  - scale = values of register field

For example, for bitmask is 0x7, denominator will be 8 and scale
will be computed and programmed accordingly.

Signed-off-by: Hoan Tran <hotran@apm.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2016-09-14 13:54:35 -07:00
Hoan Tran
405f27be61 Documentation: dt: xgene: Add PMD clock binding
Add APM X-Gene clock binding documentation for PMD clock.

Signed-off-by: Hoan Tran <hotran@apm.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2016-09-14 13:53:53 -07:00
Stephen Boyd
a30d960b30 Merge branch 'clk-zte' into clk-next
* clk-zte:
  clk: zx: register ZX296718 clocks
  clk: zx: reform pll config info to ease code extension
2016-09-14 13:52:55 -07:00
Jun Nie
f31a3433ab clk: zx: register ZX296718 clocks
The ZX296718 clocks are statically listed and registered. More
clock will be added later.

Signed-off-by: Jun Nie <jun.nie@linaro.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2016-09-14 13:51:07 -07:00
Jun Nie
e9f262314e clk: zx: reform pll config info to ease code extension
Add power down bit and pll lock bit in pll config structure
to ease new SoC support.

Signed-off-by: Jun Nie <jun.nie@linaro.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2016-09-14 13:51:05 -07:00
Jun Nie
ca0233285a clk: zx: register ZX296718 clocks
The ZX296718 clocks are statically listed and registered. More
clock will be added later.

Signed-off-by: Jun Nie <jun.nie@linaro.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2016-09-14 13:50:33 -07:00
Jun Nie
8d9a0860b7 clk: zx: reform pll config info to ease code extension
Add power down bit and pll lock bit in pll config structure
to ease new SoC support.

Signed-off-by: Jun Nie <jun.nie@linaro.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2016-09-14 13:48:32 -07:00
Arnd Bergmann
37179033fc Merge branch 'dt/irq-fix' into next/dt64
* dt/irq-fix:
  arm64: dts: Fix broken architected timer interrupt trigger

This resolves a non-obvious conflict between a bugfix from
v4.8 and a cleanup for the exynos7 platform.
2016-09-14 22:48:29 +02:00
Arnd Bergmann
d20ced23c7 Merge branch 'dt/irq-fix' into fixes
* dt/irq-fix:
  arm64: dts: Fix broken architected timer interrupt trigger
2016-09-14 22:47:36 +02:00
Markus Elfring
6e2e7c9fda clk-kona-setup: Use kmalloc_array() in parent_process()
A multiplication for the size determination of a memory allocation
indicated that an array data structure should be processed.
Thus use the corresponding function "kmalloc_array".

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Reviewed-by: Alex Elder <elder@linaro.org>
[sboyd@codeaurora.org: Save a line]
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2016-09-14 13:47:33 -07:00
Marc Zyngier
f2a89d3b2b arm64: dts: Fix broken architected timer interrupt trigger
The ARM architected timer specification mandates that the interrupt
associated with each timer is level triggered (which corresponds to
the "counter >= comparator" condition).

A number of DTs are being remarkably creative, declaring the interrupt
to be edge triggered. A quick look at the TRM for the corresponding ARM
CPUs clearly shows that this is wrong, and I've corrected those.
For non-ARM designs (and in the absence of a publicly available TRM),
I've made them active low as well, which can't be completely wrong
as the GIC cannot disinguish between level low and level high.

The respective maintainers are of course welcome to prove me wrong.

While I was at it, I took the liberty to fix a couple of related issue,
such as some spurious affinity bits on ThunderX, and their complete
absence on ls1043a (both of which seem to be related to copy-pasting
from other DTs).

Acked-by: Duc Dang <dhdang@apm.com>
Acked-by: Carlo Caione <carlo@endlessm.com>
Acked-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-09-14 22:47:22 +02:00
Fabian Frederick
7ccb8e633c ARM: multi_v7_defconfig: update XILINX_VDMA
Commit fde57a7c44
("dmaengine: xilinx: Rename driver and config")

renamed config XILINX_VDMA to config XILINX_DMA
Update defconfig accordingly.

Signed-off-by: Fabian Frederick <fabf@skynet.be>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-09-14 22:40:59 +02:00
Bjorn Helgaas
7ece141753 PCI/AER: Remove aerdriver.forceload kernel parameter
Per the PCI Firmware spec, r3.0, sec 4.5.1, on ACPI systems, the OS must
not use AER unless _OSC is present and _OSC grants AER control to the OS.
The aerdriver.forceload kernel parameter was a way to enable Linux AER
support on ACPI systems that lack _OSC or fail to grant control the the OS.

Enabling Linux AER support when the firmware doesn't want us to is a recipe
for problems, e.g., the firmware might be handling AER itself.

Remove the aerdriver.forceload kernel parameter and related supporting
code.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2016-09-14 15:27:49 -05:00
Bjorn Helgaas
9ff25e6b3e PCI/AER: Remove aerdriver.nosourceid kernel parameter
The aerdriver.nosourceid kernel parameter was intended for working around
broken chipsets don't supply the source ID for AER events.  We recently
added PCI_BUS_FLAGS_NO_AERSID, which can be set by quirks for the same
purpose.

Remove the aerdriver.nosourceid kernel parameter.  For anything other than
debugging, asking users to find and use kernel parameters is a poor user
experience.  Instead, we should add PCI_BUS_FLAGS_NO_AERSID quirks for any
hardware that needs it.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2016-09-14 15:27:38 -05:00
Thomas Gleixner
ee8d41e53e pci/msi: Retrieve affinity for a vector
Add a helper to get the affinity mask for a given PCI irq vector.  For MSI or
MSI-X vectors these are stored by the IRQ core, while for legacy interrupts
we will always return cpu_possible_map.

[hch: updated to follow the style of pci_irq_vector()]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Cc: axboe@fb.com
Cc: keith.busch@intel.com
Cc: agordeev@redhat.com
Cc: linux-block@vger.kernel.org
Link: http://lkml.kernel.org/r/1473862739-15032-6-git-send-email-hch@lst.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-09-14 22:11:10 +02:00
Thomas Gleixner
44082fd670 genirq/affinity: Remove old irq spread infrastructure
No more users.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Christoph Hellwig <hch@lst.de>
Cc: axboe@fb.com
Cc: keith.busch@intel.com
Cc: agordeev@redhat.com
Cc: linux-block@vger.kernel.org
Link: http://lkml.kernel.org/r/1473862739-15032-5-git-send-email-hch@lst.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-09-14 22:11:09 +02:00
Thomas Gleixner
e75eafb9b0 genirq/msi: Switch to new irq spreading infrastructure
Switch MSI over to the new spreading code. If a pci device contains a valid
pointer to a cpumask, then this mask is used for spreading otherwise the
online cpu mask is used. This allows a driver to restrict the spread to a
subset of CPUs, e.g. cpus on a particular node.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Christoph Hellwig <hch@lst.de>
Cc: axboe@fb.com
Cc: keith.busch@intel.com
Cc: agordeev@redhat.com
Cc: linux-block@vger.kernel.org
Link: http://lkml.kernel.org/r/1473862739-15032-4-git-send-email-hch@lst.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-09-14 22:11:09 +02:00
Thomas Gleixner
34c3d9819f genirq/affinity: Provide smarter irq spreading infrastructure
The current irq spreading infrastructure is just looking at a cpumask and
tries to spread the interrupts over the mask. Thats suboptimal as it does
not take numa nodes into account.

Change the logic so the interrupts are spread across numa nodes and inside
the nodes. If there are more cpus than vectors per node, then we set the
affinity to several cpus. If HT siblings are available we take that into
account and try to set all siblings to a single vector.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Christoph Hellwig <hch@lst.de>
Cc: axboe@fb.com
Cc: keith.busch@intel.com
Cc: agordeev@redhat.com
Cc: linux-block@vger.kernel.org
Link: http://lkml.kernel.org/r/1473862739-15032-3-git-send-email-hch@lst.de
2016-09-14 22:11:08 +02:00
Thomas Gleixner
28f4b04143 genirq/msi: Add cpumask allocation to alloc_msi_entry
For irq spreading want to store affinity masks in the msi_entry. Add the
infrastructure for it.

We allocate an array of cpumasks with an array size of the number of used
vectors in the entry, so we can hand in the information per linux interrupt
later.

As we hand in the number of used vectors, we assign them right
away. Convert all the call sites.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: axboe@fb.com
Cc: keith.busch@intel.com
Cc: agordeev@redhat.com
Cc: linux-block@vger.kernel.org
Cc: Christoph Hellwig <hch@lst.de>
Link: http://lkml.kernel.org/r/1473862739-15032-2-git-send-email-hch@lst.de
2016-09-14 22:11:08 +02:00
Paul E. McKenney
d74b62bc32 Merge branches 'doc.2016.08.22c', 'exp.2016.08.22c', 'fixes.2016.09.14a', 'hotplug.2016.08.22c' and 'torture.2016.08.22c' into HEAD
doc.2016.08.22c: Documentation updates
exp.2016.08.22c: Expedited grace-period updates
fixes.2016.09.14a: Miscellaneous fixes
hotplug.2016.08.22c: CPU-hotplug changes
torture.2016.08.22c: Torture-test changes
2016-09-14 12:58:49 -07:00
Chris Wilson
12adfd882c list: Expand list_first_entry_or_null()
Due to the use of READ_ONCE() in list_empty() the compiler cannot
optimise !list_empty() ? list_first_entry() : NULL very well. By
manually expanding list_first_entry_or_null() we can take advantage of
the READ_ONCE() to avoid the list element changing under the test while
the compiler can generate smaller code.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Josef Bacik <jbacik@fb.com>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
2016-09-14 12:57:43 -07:00
Dmitry Safonov
6846351052 x86/signal: Add SA_{X32,IA32}_ABI sa_flags
Introduce new flags that defines which ABI to use on creating sigframe.
Those flags kernel will set according to sigaction syscall ABI,
which set handler for the signal being delivered.

So that will drop the dependency on TIF_IA32/TIF_X32 flags on signal deliver.
Those flags will be used only under CONFIG_COMPAT.

Similar way ARM uses sa_flags to differ in which mode deliver signal
for 26-bit applications (look at SA_THIRYTWO).

Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Reviewed-by: Andy Lutomirski <luto@kernel.org>
Cc: 0x7f454c46@gmail.com
Cc: oleg@redhat.com
Cc: linux-mm@kvack.org
Cc: gorcunov@openvz.org
Cc: xemul@virtuozzo.com
Link: http://lkml.kernel.org/r/20160905133308.28234-7-dsafonov@virtuozzo.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-09-14 21:28:11 +02:00
Dmitry Safonov
cc87324b3d x86/ptrace: Down with test_thread_flag(TIF_IA32)
As the task isn't executing at the moment of {GET,SET}REGS,
return regset that corresponds to code selector, rather than
value of TIF_IA32 flag.
I.e. if we ptrace i386 elf binary that has just changed it's
code selector to __USER_CS, than GET_REGS will return
full x86_64 register set.

Note, that this will work only if application has changed it's CS.
If the application does 32-bit syscall with __USER_CS, ptrace
will still return 64-bit register set. Which might be still confusing
for tools that expect TS_COMPACT to be exposed [1, 2].

So this this change should make PTRACE_GETREGSET more reliable and
this will be another step to drop TIF_{IA32,X32} flags.

[1]: https://sourceforge.net/p/strace/mailman/message/30471411/
[2]: https://lkml.org/lkml/2012/1/18/320

Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Cc: 0x7f454c46@gmail.com
Cc: oleg@redhat.com
Cc: linux-mm@kvack.org
Cc: luto@kernel.org
Cc: Pedro Alves <palves@redhat.com>
Cc: gorcunov@openvz.org
Cc: xemul@virtuozzo.com
Link: http://lkml.kernel.org/r/20160905133308.28234-6-dsafonov@virtuozzo.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-09-14 21:28:11 +02:00
Dmitry Safonov
90954e7b94 x86/coredump: Use pr_reg size, rather that TIF_IA32 flag
Killed PR_REG_SIZE and PR_REG_PTR macro as we can get regset size
from regset view.
I wish I could also kill PRSTATUS_SIZE nicely.

Suggested-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Cc: 0x7f454c46@gmail.com
Cc: linux-mm@kvack.org
Cc: luto@kernel.org
Cc: gorcunov@openvz.org
Cc: xemul@virtuozzo.com
Link: http://lkml.kernel.org/r/20160905133308.28234-5-dsafonov@virtuozzo.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-09-14 21:28:10 +02:00
Dmitry Safonov
2eefd87896 x86/arch_prctl/vdso: Add ARCH_MAP_VDSO_*
Add API to change vdso blob type with arch_prctl.
As this is usefull only by needs of CRIU, expose
this interface under CONFIG_CHECKPOINT_RESTORE.

Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Acked-by: Andy Lutomirski <luto@kernel.org>
Cc: 0x7f454c46@gmail.com
Cc: oleg@redhat.com
Cc: linux-mm@kvack.org
Cc: gorcunov@openvz.org
Cc: xemul@virtuozzo.com
Link: http://lkml.kernel.org/r/20160905133308.28234-4-dsafonov@virtuozzo.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-09-14 21:28:09 +02:00
Dmitry Safonov
576ebfefd3 x86/vdso: Replace calculate_addr in map_vdso() with addr
That will allow to specify address where to map vDSO blob.
For the randomized vDSO mappings introduce map_vdso_randomized()
which will simplify calls to map_vdso.

Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Acked-by: Andy Lutomirski <luto@kernel.org>
Cc: 0x7f454c46@gmail.com
Cc: oleg@redhat.com
Cc: linux-mm@kvack.org
Cc: gorcunov@openvz.org
Cc: xemul@virtuozzo.com
Link: http://lkml.kernel.org/r/20160905133308.28234-3-dsafonov@virtuozzo.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-09-14 21:28:09 +02:00
Dmitry Safonov
e38447ee1f x86/vdso: Unmap vdso blob on vvar mapping failure
If remapping of vDSO blob failed on vvar mapping,
we need to unmap previously mapped vDSO blob.

Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Acked-by: Andy Lutomirski <luto@kernel.org>
Cc: 0x7f454c46@gmail.com
Cc: oleg@redhat.com
Cc: linux-mm@kvack.org
Cc: gorcunov@openvz.org
Cc: xemul@virtuozzo.com
Link: http://lkml.kernel.org/r/20160905133308.28234-2-dsafonov@virtuozzo.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-09-14 21:28:08 +02:00
Bjorn Helgaas
29a654e59f PCI: pciehp: Remove useless pciehp_get_latch_status() calls
Long ago, we updated a "switch_save" field based on the latch status.  But
switch_save was unused, and ed6cbcf2ac ("[PATCH] pciehp: miscellaneous
cleanups") removed it.

We no longer use the latch status, so remove calls to
pciehp_get_latch_status().  No functional change intended.

Tested-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
2016-09-14 14:25:05 -05:00
Bjorn Helgaas
6e49b304e3 PCI: pciehp: Clean up dmesg "Slot(%s)" messages
Print slot name consistently as "Slot(%s)".  I don't know whether that's
ideal, but we can at least do it the same way all the time.  No functional
change intended.

Tested-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
2016-09-14 14:25:00 -05:00
Bjorn Helgaas
4947793916 PCI: pciehp: Remove unnecessary guard
In pcie_isr(), we return early if no status bits other than
PCI_EXP_SLTSTA_CC are set.  This was introduced by dbd79aed1a ("pciehp:
fix NULL dereference in interrupt handler"), but it is no longer necessary
because all the subsequent pcie_isr() code is already predicated on a
status bit being set.

Remove the unnecessary test for ~PCI_EXP_SLTSTA_CC.  No functional change
intended.

Tested-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
2016-09-14 14:24:54 -05:00
Mayurkumar Patel
69bd3c5b28 PCI: pciehp: Don't re-read Slot Status when handling surprise event
Previously we read Slot Status when handling a surprise event.  But Slot
Status might have changed since we identified the event, and the event_type
already tells us whether to enable or disable the slot, so there's no need
to read it again.

Remove handle_surprise_event() and queue the power work directly.

[bhelgaas: changelog]
Tested-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Mayurkumar Patel <mayurkumar.patel@intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Acked-by: Rajat Jain <rajatxjain@gmail.com>
2016-09-14 14:24:45 -05:00
Mayurkumar Patel
0c923d1da3 PCI: pciehp: Don't re-read Slot Status when queuing hotplug event
Previously we read Slot Status to learn about hotplug events, then cleared
the events, then re-read Slot Status to find out what happened.  But Slot
Status might have changed before the second read.

Capture the Slot Status once before clearing the events.  Also capture the
Link Status if we had a link status change.

[bhelgaas: changelog, split to separate patch]
Tested-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Mayurkumar Patel <mayurkumar.patel@intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
2016-09-14 14:24:40 -05:00
Mayurkumar Patel
fad214b0aa PCI: pciehp: Process all hotplug events before looking for new ones
Previously we accumulated hotplug events, then processed them, essentially
like this:

  events = 0
  do {
    status = read(Slot Status)
    status &= EVENT_MASK              # only look at events
    events |= status                  # accumulate events
    write(Slot Status, events)        # clear events
  } while (status)
  process events

The problem is that as soon as we clear events in Slot Status, the hardware
may send notifications for new events, and we lose information about the
first events.  For example, we might see two Presence Detect Changed
events, but lose the fact that the slot was temporarily empty:

  read  PCI_EXP_SLTSTA_PDC set, PCI_EXP_SLTSTA_PDS clear  # slot empty
  write PCI_EXP_SLTSTA_PDC                                # clear PDC event
  read  PCI_EXP_SLTSTA_PDC set, PCI_EXP_SLTSTA_PDS set    # slot occupied

The current code does not process a removal; it only processes the
insertion, which fails because we didn't remove the original device.

To avoid this problem, read Slot Status once and process all the events
before reading it again, like this:

  do {
    read events
    clear events
    process events
  } while (events)

[bhelgaas: changelog, add external loop around pciehp_isr()]
Tested-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Mayurkumar Patel <mayurkumar.patel@intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
2016-09-14 14:24:31 -05:00