Commit graph

691,473 commits

Author SHA1 Message Date
Olof Johansson
a264cc2e3c Ux500 devicetree patches:
- Move the ab8500 compatible string from the board to the
   chipset.
 - Define GPIO line names for the boards.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXV8y4AAoJEEEQszewGV1zXRUP/RitlC4vtzEXCfhTHdg3BQI1
 uNkHl96N3sgQaj/67ImT46E078JlIz9uNFhxj3jXxIk5BOaJoBBG6Giz8NzFpEl/
 Jh7YFzUW4L5v8O4vp5Fl1vEUvXoZn8MZClihcREihcjecm6FAD0CHujmu6dn2cpx
 sC7L1mbmS8IWvGeLxohfCoeAJFnSsNwJ2BUqgdnM/dxRFa33fr45XTGIVeV5XkI6
 JPYyM7jsGnbg9YqWX+RdLLMLD1DcriSpXjVbmHdfW6avqAjWT6USIe7gjcG6YUwR
 6Pqh0HLGVH6PNVRlkIlV1hVizPPb3At4ouMT9I09kmoAD1mpg1AsiadunA4F2EPa
 oDgajYRI4Teuj171jCjWyCnJIcluqhXK+QgYFs/ubT1BklKBxBwOHFgz0yIhpSEq
 VBMEjfyXko+wYpCfG+ZZEPyqOhBFQfhlQnS8TzL4nMI1oma7XnY7s/Ph0oSuZOlx
 L+FeQQ21SV2gBnO1oTTUk+D9D8V0Vwq9WvQWNt6kEt5E8AwGPX0N1FCGCFAyrwa+
 +YmCIBpMZj5TtYHhf6frRx+dEe5e3or3NdR0a43jXhPYxPkWhXVcBVKzMuPFfA0z
 5/3JDx37bFNmvSXW7ysw5dZeimvYtZfitw/9EOnxk9vS5ASiEOA2VtCTx9h3OZLs
 1ZDvxa/0XAOHTp5gbmv8
 =sOoX
 -----END PGP SIGNATURE-----

Merge tag 'ux500-dt-asoc-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/dt

Ux500 devicetree patches:
- Move the ab8500 compatible string from the board to the
  chipset.
- Define GPIO line names for the boards.

* tag 'ux500-dt-asoc-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  ARM: dts: UX500: name the GPIO lines on HREFv60plus
  ARM: dts: Ux500: name the GPIO lines on Snowball
  ARM: dts: Ux500: move compatible string to chipset

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-06-13 15:45:18 -07:00
Olof Johansson
41f7337c22 Renesas ARM Based SoC Updates for v4.8
* Use ICRAM1 for jump stub on R-Car Gen 2 SoCs
 * Postpone call to pm_genpd_init
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXV2vKAAoJENfPZGlqN0++Bi4P/2ZVe7ZQnG0EIdzY+hBHPj/k
 pS3dSrenUdeaM7vYVpB2S6f+6lqh3Dn6//jsY2/x127H9oj8cSzTidkLYXEUZb7v
 KjZIwjPq4+UjaA1hd2WZxjcbJKgkKz1BGh+GWUjvr/99cyh5ySkHMvsNHfyBjDQd
 SwKnklzCIJHws8UkKgEXtUutS+Z3LcClxNe5L+0dAnvh5dMp1Up/zTXsq5pDegr2
 ytQYjh+TEFmuUxLx3YB511LjrLDfpAB7yGHDajAbZjDi3KtlKqbypdx+TgiqT9hh
 zA5HP67XQFeJFp2DzariztVx+nHMrVd7atRn0qSX64TgqMPwpIMTLPEVFP+wCDyg
 2bqgIAoGJfg4bl1IL9QRTt607SyHALIzjP+n7Jb2wPejW8OtubHmKVdTamevrZTe
 lQvDNv6RwAZF60X1SkagxL13GAS3YRhKKi7wMDVb9ARzplvbh0KSDsu94k0S+wOE
 dGBDnAPGe0A0HHBm5IMgADBW6RRvLAnwkr73gGIbBbTX/rwctawnBi+eIkEZUfqF
 YzV3XavNOC5sXxGjQ5IiufHx/WL5XIy8np1aQNA67l3fFNYi/xrtgtFk+YKlcuiJ
 OJvNHvM0BaV5g09UYUEfO6zlN1lFUhWji6Q+ro5GSAgDl9Ki8SwQfA5wSjBW113E
 TdkCIRN0hkXf+AzPG5or
 =DKN7
 -----END PGP SIGNATURE-----

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

Renesas ARM Based SoC Updates for v4.8

* Use ICRAM1 for jump stub on R-Car Gen 2 SoCs
* Postpone call to pm_genpd_init

* tag 'renesas-soc-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: rcar-gen2: Use ICRAM1 for jump stub on all SoCs
  ARM: shmobile: pm-rmobile: Postpone call to pm_genpd_init()

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-06-13 15:44:32 -07:00
Olof Johansson
735251aeb9 Renesas ARM Based SoC R-Car SYSC Updates for v4.8
e0c98b9171 soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas
 74699228b9 soc: renesas: Add r8a7796 SYSC PM Domain Binding Definitions
 2ff1bf77e4 soc: renesas: rcar-sysc: Document r8a7796 support
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXV20KAAoJENfPZGlqN0++XsEP/jP8ertwOrcc9t0ehcQlxMU7
 VjEnFFBhRhmpEXwj1MUR5vepgNMZJSDOv/GACberjSy3i2EshM8KCKhpKhKSF6Xq
 f1T6Qcq4M8CpjVUOE+d2OrrwD071yR/1bX6ylnk+IOsyw8D/Q1/AK3Ik/GcdfEMg
 i0FpokrhHVwh1cvGwgunjE7snGwV5e8kPyiNz0RSMXmcyZV+Q6xLS3jtD+fTlbGw
 /EwRUH1SwYUh6LdfraczIiy26OpPq8wYGU+ZYdjPV6Pofp+Est73uV9zLD63YYus
 iEbT1cwBVt34stLASSxM2rsO5FbalrldS2mlSBcOTzGlzvsR4Jb0RTzyFwhJw3Wc
 povz1ZNDtezW1QDV7CRJoiPrDH3zeBkC0P6/B1c+Mt06dUOhufFDa62ohkU0TMNL
 2Lwfya0+HoEzrzgrFwajZormPGKhXlCEJxytCdgUW/pffrGpL2/rUGFoiE4AB7Hq
 bJKY0GRghdwqGxyTfwoIAzV+QCh6mXZ7b/8PfLIfjwOkw2maxsgiOg3I2coeONzx
 J21ukaBxIC8u5c8cuanppzsDz0FzpUmvzwDSAYo72xh/O8bR6MG03NjSC1IfG5Ex
 P0YWJU2W/68MPC/uSsMjZvSvMn8g9yF9IQBGKsVAW74d/ZzbjPI2e4X9qKpTBxiq
 /PW/wCn1PattjQFh+vbS
 =hcze
 -----END PGP SIGNATURE-----

Merge tag 'renesas-rcar-sysc-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/drivers

Renesas ARM Based SoC R-Car SYSC Updates for v4.8

e0c98b9171 soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas
74699228b9 soc: renesas: Add r8a7796 SYSC PM Domain Binding Definitions
2ff1bf77e4 soc: renesas: rcar-sysc: Document r8a7796 support

* tag 'renesas-rcar-sysc-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas
  soc: renesas: Add r8a7796 SYSC PM Domain Binding Definitions
  soc: renesas: rcar-sysc: Document r8a7796 support

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-06-13 15:39:46 -07:00
James Morse
6783091177 PM / Hibernate: Don't let kasan instrument snapshot.c
Kasan causes the compiler to instrument C code and is used at runtime to
detect accesses to memory that has been freed, or not yet allocated.

The code in snapshot.c saves and restores memory when hibernating. This will
access whole pages in the slab cache that have both free and allocated
areas, resulting in a large number of false positives from Kasan.

Disable instrumentation of this file.

Signed-off-by: James Morse <james.morse@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-06-14 00:38:56 +02:00
Olof Johansson
057b670df0 Renesas ARM Based SoC DT Updates for v4.8
* Fix W=1 dtc warnings
 * Reverence both DMA controllers on R-Car Gen 2 SoCs
 * Remove nonexistent thermal sensor clock from r8a7794 SoC
 * Correct unit names for cpu nodes on r8a7790 SoC
 * Add MMCIF0 to r8a7793 SoC
 * RTS/CTS hardware flow control for kzm9g and bockw boards
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXV2oXAAoJENfPZGlqN0++ZFkP/2UYbeKnX5x/VPxk9pCMaurA
 3sfGMJ8ocfmAZP45a5DJQPo4gXSVr/jdsl2p8ZCCEVe2TMaotqbHpcF3YW6k25YW
 ZO/7PQCIj9aePy7J70+wNLnEdUNkyNniBPdF2PBbkhulE2rG7xRLh6kQHDBn5WaQ
 4FPwtBQhrhkGql+2TuSOUrQuQv6KnyjDr7gBTdAtAvRV2qpLoCo1ezFfEi5VhNZx
 WMHJs+Yjv1/jVyUf4MwVKgx/3tvhihLWM0UnQpdUpvoWQzPyq1bRGVLuqJek+fsY
 XqSv06j/Kd7f7n0XANGc8I5xQYDe2TLL/hl2KsaQVmaowtzk++xEH8kwfPD78fEo
 ob5wb+pSxXNwunFx/yM7ZdTgm6cThWW3apiePHEX/Y9wfGHv8hFQk6tzdAxD4f9e
 QplHyrxz+hzCLThjkALkv27VL5oAXTwga7IWxXzQ7CT8clUYKKsu2VK5g91PpaTc
 2rBRXgzR6HA0Qc0CZY40BE9gHn40VWv0lkAJHvAqsyXn2HCpl5YNQ+2t9GcN7j/w
 8sow9y/bPGqktXHODpLEqpQKAT0H5cWuC3ZBTnVm/tENlXtPW3MQfKwc/rSQ7kIQ
 zpP+18LfdQKlIVLwqM6qCEBjIfwAJsSsbZt4ZZPNkEdc7wEkR87BmDoiyAu3bNFp
 CPw33BEValbz0WDtoGo+
 =MXJf
 -----END PGP SIGNATURE-----

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

Renesas ARM Based SoC DT Updates for v4.8

* Fix W=1 dtc warnings
* Reverence both DMA controllers on R-Car Gen 2 SoCs
* Remove nonexistent thermal sensor clock from r8a7794 SoC
* Correct unit names for cpu nodes on r8a7790 SoC
* Add MMCIF0 to r8a7793 SoC
* RTS/CTS hardware flow control for kzm9g and bockw boards

* tag 'renesas-dt-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (30 commits)
  ARM: dts: silk: Fix W=1 dtc warnings
  ARM: dts: porter: Fix W=1 dtc warnings
  ARM: dts: marzen: Fix W=1 dtc warnings
  ARM: dts: lager: Fix W=1 dtc warnings
  ARM: dts: kzm9g: Fix W=1 dtc warnings
  ARM: dts: kzm9d: Fix W=1 dtc warnings
  ARM: dts: koelsch: Fix W=1 dtc warnings
  ARM: dts: gose: Fix W=1 dtc warnings
  ARM: dts: genmai: Fix W=1 dtc warnings
  ARM: dts: bockw: Fix W=1 dtc warnings
  ARM: dts: armadillo800eva: Fix W=1 dtc warnings
  ARM: dts: ape6evm: Fix W=1 dtc warnings
  ARM: dts: sh73a0: Fix W=1 dtc warnings
  ARM: dts: r8a7794: Fix W=1 dtc warnings
  ARM: dts: r8a7793: Fix W=1 dtc warnings
  ARM: dts: r8a7791: Fix W=1 dtc warnings
  ARM: dts: r8a7790: Fix W=1 dtc warnings
  ARM: dts: r8a7778: Fix W=1 dtc warnings
  ARM: dts: r8a7740: Fix W=1 dtc warnings
  ARM: dts: r8a73a4: Fix W=1 dtc warnings
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-06-13 15:37:25 -07:00
Olof Johansson
045ab0c54c Renesas ARM64 Based SoC DT Updates for v4.8
* Fix W=1 dtc warnings and other cleanups
 * Enable watchdog timer
 * Enable DMA for I2C
 * Increase the size of GIC-400 mapped registers: be nicer to hypervisors
 * Support RTS/CTS hardware flow control
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXV2xoAAoJENfPZGlqN0++9JIP/RctMD58b1wlt6yHDSgBDcTl
 5jBeJjRzSfYF+6M0vPKamAFWtsb+vJgiSXZJFQ/sKwWLlqIKvv/cGNl4+sjcoNrN
 U0vfC3O6F9egk8watUbkfl/Q1BB/+1MT/w6mkFyKFg9tqvmPeS8cRTtHikYfzHMZ
 y1/3pxSMg3GkDunCAnoEqgJOOqn3kknK29Be9coxBbzhGU8DhFUqJRrQQEfwSUiC
 01mY8C1uyL6uMyJAGTsHhL1qByOoPChKPBAwrqaeT6HRW/npOzJWn0zdUbz1afVR
 pao+GEL9i848cei9K7rkCwjiOF9j042X8H4f4FJyswfiwv1Pj+mA0Zv7eVgO48jb
 zFfrSmk+WcXXuUsjBLlCRWDgrfWuMMqRcYgpGIuAUZdjjUgUjL1J5zCy8nJoZLr9
 4Zpyk3AIrZ7ZWkNqTdpGNCYDAbcJPtRiRyU5iPS4xuzs9aK+DXhf9QGZQa0i+6JT
 aBe2fihNjOgLHPspE7f6p4cWlCkQFII/eIPnAd4HW7wjRF6BYp56IkFV6YPzChbl
 /r17GUJHziXhL0D7YlP8Oq5VX4Dz07/xSUXujfWaSpzqK04T49Jdob6SmXpFFjQN
 sw5yvdro6l1TQhBeFT10OC4xEt+Vy8QcDpuWQjpU7Saic3+qYQwJ0WQM7r63oun8
 mouN1qeq4P3jMy7mj3wy
 =wT01
 -----END PGP SIGNATURE-----

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

Renesas ARM64 Based SoC DT Updates for v4.8

* Fix W=1 dtc warnings and other cleanups
* Enable watchdog timer
* Enable DMA for I2C
* Increase the size of GIC-400 mapped registers: be nicer to hypervisors
* Support RTS/CTS hardware flow control

* tag 'renesas-arm64-dt-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  arm64: dts: r8a7795: Drop 0x from unit address of gic
  arm64: dts: salvator-x: Fix W=1 dtc warnings
  arm64: dts: r8a7795: Fix W=1 dtc warnings
  arm64: dts: r8a7795: Use SYSC "always-on" PM Domain for RWDT node
  arm64: dts: salvator-x: Enable watchdog timer
  arm64: dts: r8a7795: Add RWDT node
  arm64: dts: r8a7795: enable DMA for I2C
  arm64: dts: r8a7795: Increase the size of GIC-400 mapped registers
  arm64: dts: salvator-x: SCIF1 supports RTS/CTS hardware flow control

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-06-13 15:29:12 -07:00
Alex Deucher
8b18300c13 drm/amdgpu/gfx7: fix broken condition check
Wrong operator.

Reported-by: David Binderman <linuxdev.baldrick@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
2016-06-13 18:26:24 -04:00
Olof Johansson
5d075b0bc2 Samsung defconfig update for v4.8:
1. Disable big.LITTLE switcher so the cpufreq-dt could be enabled.
 2. Enable Samsung media platform drivers.
 3. Enable some board-specific drivers for boards: Trats2, Universal C210.
 4. Few more minor additions.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXVWOmAAoJEME3ZuaGi4PX+9IP/RR7BP8TVGGKIqTYboQGR+mc
 6JfBYabC2iUZwN3Unnjo4FxUFqCAtSZ/2g5RTe3sPG7wAjTSX3OtpLv4TEvX9gHe
 1gVplOuXS4c4IEg2Uw9K7L+SnOFrGyC9Lk7ywCUO4dEk2PJC/xsvQX6JrZRFM3ne
 pJ6Fpz86vPqa+yqyYBw6Jd3j0po3VL7LzhKC+n9HyMbuJ7Drl3yOjzgPHxGY6GJq
 UlLdKxQ5PEtMCucMoxvgYdbjFHT+VsIM1nJYY9VSKvSUhiczMZvXnrPrUHNk1or8
 i/hs0MhgxLiPl/2h3eYKpKzodDp7XOy1+W3NPTralkixMA8ZOwLZRzAiKwAkZBk9
 KKIVaW5E6Yh6JEaAJ0KyiVibAuVkMKXnc7JAEDvwwYCu5j4fx/EdzeaYMFS8DUS/
 iMeksxP3TOyQ51Le+Z9nWrOAKLsUChZgLAB3b724GRNJqZ73+yprkV/O7A7Lb3T2
 joW3ge+JSu/n8RgvFGsZo0i/LLRXJrBGsIqihJtuunBm3wiUjQVGD83XIu2bToNO
 SEd42WHpuvAIGgKjKjQlXVyTlhnk5p8AbgI28IZ34FDLxTpG+t1lYErFRulPrScC
 g+OfW92wfm6sk9k8upNNTfzAjttHdzHHSAaKa1jxP25eB9T/g1Gu9TEu20QXvqJz
 cjUVNYi32q51B22PjvVy
 =xPJg
 -----END PGP SIGNATURE-----

Merge tag 'samsung-defconfig-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/defconfig

Samsung defconfig update for v4.8:
1. Disable big.LITTLE switcher so the cpufreq-dt could be enabled.
2. Enable Samsung media platform drivers.
3. Enable some board-specific drivers for boards: Trats2, Universal C210.
4. Few more minor additions.

* tag 'samsung-defconfig-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: exynos_defconfig: Save defconfig on current linux-next
  ARM: multi_v7_defconfig: Enable s5p-secss driver
  ARM: multi_v7_defconfig: Enable drivers for Exynos4210 Universal C210 board
  ARM: multi_v7_defconfig: Enable Trats2 audio codec, touchscreen and sensors
  ARM: multi_v7_defconfig: Switch max77693 to module
  ARM: multi_v7_defconfig: Enable Exynos MFC driver as module
  ARM: exynos_defconfig: Enable MFC driver as module
  ARM: multi_v7_defconfig: Enable Samsung media platform drivers as modules
  ARM: exynos_defconfig: Enable Samsung media platform drivers as modules
  ARM: multi_v7_defconfig: Enable Exynos DRM Mixer driver
  ARM: exynos_defconfig: Disable big.LITTLE switcher

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-06-13 14:54:20 -07:00
Olof Johansson
95eb940c0e Topic branch for adding Exynos 5410 Odroid XU board for v4.8.
This brings support for Hardkernel's Odroid XU board.  It was the first
 design with big.LITTLE SoC from Samsung: Exynos5410.  The board is not
 very popular.  Newer XU3 and XU4 got more attention.
 
 Board details:
 1. Exynos5410 octa-core (A15+A7, however as of now only one cluster is
    enabled),
 2. 2 GB DDR3 RAM,
 3. PowerVR SGX544MP3 GPU (not enabled in DTS),
 4. USB 3.0 Host x 1, USB 3.0 OTG x 1, USB 2.0 Host x 4,
 5. HDMI 1.4a, MIPI DSI and Display Port (Display Port not on all of
    revisions though),
 6. eMMC 4.5 and microSD slots.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXVWVcAAoJEME3ZuaGi4PXFVQP/3JyYEYpBw+6tu0PasYz2cYr
 D2fprLkHlfFOY+wGdHoTuBsjsOj1nwTXyVAA/zhIqudgJFXH67vR+BABoCDVT7J0
 /pYfMT4rm9Wa4ddKJnE6bv78IbAI52S1tzKsHRi+YlceVbKFUWJAqSsaJYVDOaci
 Sxg4/sbD2VcU7xlDNw2lSux6du3MEkdbarOd3l58eKMwvqSRCmvx7YultrrFwDhV
 JByy1VG+WXAWyaE59VRZ+kAGHMDTz7KK8YNjkUGmgJK0Ryd6C8kETw1ZC8fiA/tZ
 +QlnDehngSZ15x79RI7JUj/F+UY2QrMDzLk6qIa2E3sgWv4aJ0csFymk1+mUDhJF
 vO8EwqF+YnbwNG1mmzmqBgeQxb3EdKdM/onanpazIlQAlpaJIJpBbKR8x2Doa6TZ
 g/f37FQW3l1DEBT3H2IXd6Yx1FgCnlFjPb0fwnS5sG05YyOEKdKTss+5LKShG5J4
 VeN8/EmaocRvQx0GE0pRr0nhuaWt9E59jXrAmBe8OUVIjQYTvxRoH2mWEQ0iuOEZ
 +VRD/WwtkdqeUBOSFYckVWDanJPqh3qLZ+eCEqoguMKtqCTC3eJp2euIBsawA4DW
 Nxl6Zy5iIMfc7j4VtoDy7qDtBJ1hzeX8gzRE+tVXrtpiMs2gd1+Jkofr2nTIihU9
 h/Hg9dc34pSV9by8hutW
 =7u0/
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt-odroid-xu-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/dt

Topic branch for adding Exynos 5410 Odroid XU board for v4.8.

This brings support for Hardkernel's Odroid XU board.  It was the first
design with big.LITTLE SoC from Samsung: Exynos5410.  The board is not
very popular.  Newer XU3 and XU4 got more attention.

Board details:
1. Exynos5410 octa-core (A15+A7, however as of now only one cluster is
   enabled),
2. 2 GB DDR3 RAM,
3. PowerVR SGX544MP3 GPU (not enabled in DTS),
4. USB 3.0 Host x 1, USB 3.0 OTG x 1, USB 2.0 Host x 4,
5. HDMI 1.4a, MIPI DSI and Display Port (Display Port not on all of
   revisions though),
6. eMMC 4.5 and microSD slots.

* tag 'samsung-dt-odroid-xu-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: (28 commits)
  ARM: dts: exynos: Add watchdog and Security SubSystem to Exynos5410
  ARM: dts: exynos: Configure PWM, usb3503, PMIC and thermal on Odroid XU board
  ARM: dts: exynos: Add Thermal Management Unit to Exynos5410
  ARM: dts: exynos: Interrupt for USB DWC3-1 differs between Exynos5420 and 5410
  dt-bindings: clock: Add watchdog and SSS clock IDs to Exynos5410
  dt-bindings: clock: Add TMU clock ID to Exynos5410
  ARM: dts: exynos: Add RTC and I2C to Exynos5410
  ARM: dts: exynos: Add I2C, PWM and UART pinctrl to Exynos5410
  ARM: dts: exynos: Move HSI2C nodes to exynos54xx.dtsi
  ARM: dts: exynos: Add initial support for Odroid XU board
  ARM: dts: exynos: Add USB to Exynos5410
  ARM: dts: exynos: Move common Exynos5410/542x/5800 nodes to new DTSI
  ARM: dts: exynos: MCT is not an interrupt controller and extend length of iomap
  ARM: dts: exynos: Enable UART3 on Exynos5410
  ARM: dts: exynos: Include common exynos5 in exynos5410.dtsi
  ARM: dts: exynos: Move Exynos5250 and Exynos5420 nodes under soc
  ARM: dts: exynos: Use phandle to get parent node in exynos5250-snow
  ARM: dts: exynos: Prepare for inclusion of exynos5.dtsi in exynos5410.dtsi
  ARM: dts: exynos: Move common nodes to exynos5.dtsi
  ARM: dts: exynos: Split Odroid XU3 LEDs to separate DTSI
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-06-13 14:51:58 -07:00
Ben Dooks
a0944d904f cpufreq: mvebu: fix integer to pointer cast
Fix the use of 0 instead of NULL to clk_get() call. This stops the
following warning:

drivers/cpufreq/mvebu-cpufreq.c:73:40: warning: Using plain integer as NULL pointer

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-06-13 23:49:43 +02:00
Srinivas Pandruvada
41bad47f76 cpufreq: intel_pstate: Broxton support
Add Broxton CPU model number.

Broxton requires core_params to get performance limits via MSRs, but
it is an Atom platform, which requires more power optimized algorithm.

So the P state selection will use similar algorithm as other Atom
platforms.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-06-13 23:49:39 +02:00
Rafael J. Wysocki
ae892d150f Merge branch 'x86/cpu' 2016-06-13 23:49:23 +02:00
Rafael J. Wysocki
b77b565108 Merge branch 'x86/cpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into x86/cpu
Pull recent changes related to x86 CPU model representations from tip.
2016-06-13 23:48:23 +02:00
Olof Johansson
effd786282 Samsung DeviceTree update for v4.8:
1. Add missing async bridge for MFC power domain on Exynos5420.
    This fixes imprecise abort on s5p-mfc re-bind.
 2. Define regulator supplies for MMC nodes on Exynos4412 Odroid boards
    and for TMU on Exynos542x Peach boards.
 3. Thermal cleanups on Odroid XU3-family (Exynos5422).
 4. Enable AX88760 USB hub on Origen board (Exynos4412).
 5. Minor cleanups.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXVWLzAAoJEME3ZuaGi4PXxwcP/iEIEXDy/0gKaJ2mEMcutI+/
 en2KPLXa+pg4JOSoVQKAPgiwwNeC+z4zgT38XJGn2Zs/YO9BbTNzJ4pzafqTXoko
 h5us4YNDcy9xUb95gr7zS6YDfs0+hzFJ+Aqzfz/BL5cZgM0dowla2LqNSzqHXPXJ
 6e8JYHLRb3uq+eYKVIeO1kj6WgcFuDFgRy627gimtqnZgInpFH3jL4G3e7jcRv1N
 yG+UDaOn1lB4NEdwbQ5nBFGok5Ihs9Gh1XiVDigMRBxaiXtyUnoo7BGoHRWf8QrV
 fOMl6EZ93fhI/b503W2cxB7zMZ85iReSzpxU6NWI29BcozrcqE5TAVZZRyMZ47Er
 MlTSdE2b5E4yU0mwYWHluJ2EugJNJObopWQ7OC850QuS4x056AO3y9tfV4hR1LWD
 BvuCo3IDuU0s0M1TX/JeoDXfBA11eLNfwuqbmpsoEKwu2Zy8mLzda3AQvML1ycSr
 GusZAKp+FrtXBp/+QlZzYQuYoMbzxnih4aQX+gwGekD6YwhI6DIfqmU4yAUMyHTn
 WlTO5Hw0LYb7nCad4X5P9NnGNIzEJLCUa0BSmgjtQkDPmAmMT6UKdAftjuXj0gHy
 mRyRGoYdXJxNBD/sTcm9gd7mk+FmkMcUj0qnK4qHG4O3RAnys3rYdLUc4n+DXOha
 XOqWdz4GYFA0lv4P6MMg
 =E3ZO
 -----END PGP SIGNATURE-----

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

Samsung DeviceTree update for v4.8:
1. Add missing async bridge for MFC power domain on Exynos5420.
   This fixes imprecise abort on s5p-mfc re-bind.
2. Define regulator supplies for MMC nodes on Exynos4412 Odroid boards
   and for TMU on Exynos542x Peach boards.
3. Thermal cleanups on Odroid XU3-family (Exynos5422).
4. Enable AX88760 USB hub on Origen board (Exynos4412).
5. Minor cleanups.

* tag 'samsung-dt-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: exynos: No need to enable TMU nodes on Odroid XU3 family
  ARM: dts: exynos: Add TMU nodes regulator supply for Peach boards
  ARM: dts: exynos: Use new compatible string for thermistors in Trats2
  ARM: dts: exynos: Remove unneded always-on for regulators on Peach boards
  ARM: dts: exynos: Enable AX88760 USB hub on Origen board
  ARM: dts: exynos: Only Odroid XU3-family boards use DTSI with CPU thermal nodes
  ARM: dts: exynos: Lower SD card interface voltage to 2.8 V on Odroid X/X2/U3
  ARM: dts: exynos: Define vqmmc for eMMC card on Odroid X/X2/U3
  ARM: dts: exynos: Define vqmmc for SD card and allow disabling regulators on Odroid X/X2/U3
  ARM: dts: exynos: Add async-bridge clock to MFC power domain for Exynos5420

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-06-13 14:48:05 -07:00
Rafael J. Wysocki
d352cf47d9 cpufreq: conservative: Do not use transition notifications
The conservative governor registers a transition notifier so it
can update its internal requested_freq value if it falls out of the
policy->min...policy->max range, but requested_freq is not really
necessary.

That value is used to track the frequency requested by the governor
previously, but policy->cur can be used instead of it and then the
governor will not have to worry about updating the tracked value when
the current frequency changes independently (for example, as a result
of min or max changes).

Accodringly, drop requested_freq from struct cs_policy_dbs_info
and modify cs_dbs_timer() to use policy->cur instead of it.
While at it, notice that __cpufreq_driver_target() clamps its
target_freq argument between policy->min and policy->max, so
the callers of it don't have to do that and make additional
changes in cs_dbs_timer() in accordance with that.

After these changes the transition notifier used by the conservative
governor is not necessary any more, so drop it, which also makes it
possible to drop the struct cs_governor definition and simplify the
code accordingly.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
2016-06-13 23:33:49 +02:00
Rafael J. Wysocki
bb4b9933e2 Merge back earlier cpufreq changes for v4.8. 2016-06-13 23:33:17 +02:00
Olof Johansson
4c43d1c1bc Samsung drivers/soc update for v4.8:
1. Move the power domain driver from arm/mach-exynos and prepare
    for supporting ARMv8.
 2. Add COMPILE_TEST.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXVWC+AAoJEME3ZuaGi4PXf4gP/3Hv1/awGDmI0eCoPovzp4fS
 uxTtPmp5V4NgU2R7tYzmo6/8fUu2YSFlSVFrM1CYgCwM+E67GQsmfBS0MB4r3ssZ
 q4QvTIynvV0jybl0ZjPC0bso1A9rDhKSg+mME8nghkb6JBfqqUcKzx1fYm2nTH/9
 lksO13WWwNgtQ4qs9xMlilFKxKZAX/XpYakLsvNqH3v/iNz/OKn2kneyGtkKiplZ
 lsab3bJn+bKJOQFLtBTstnVNNb0ji0Q7ZbLylgFfskyqFOPp2om+6TEjnn/czNYU
 t6reUFABZq4E2XvkZRwBP5y/4JquSbJO3UzvfgDYEqnJpArEnzG8xe+cvw6inono
 Nwv2nXRo40v7Ta43oSmLiHvCeLKd/ldmoKK0s9IKB5dxfmpkixqu2qHuleqRmrYp
 bFy1mxkpq7CwFxBpxpIyN91TNdieTF/O49pzUGCBjqnEVYC0EiZT4VxTuvv2jg0J
 tSWDAxc0u8Uk0N5yol0yWejYQgq6i/hJH+HwR6iDoeKSbaoj72dYgBNGD9HsSgcn
 BHeb1L1T4qWdgvNX5wzfnnoh4nIAh64UmxQCrzbzPDGuCmUx7EOEPQpvrwl8JBNT
 DM7XRh4NpTpU8KIDA8MxeHzG47YHOSkk7Y4UzSv+C+S6IGxzrDZ5uXnz4tVDIWhV
 1YBOmVufh9JXHxMRcIpy
 =P4zd
 -----END PGP SIGNATURE-----

Merge tag 'samsung-drivers-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/drivers

Samsung drivers/soc update for v4.8:
1. Move the power domain driver from arm/mach-exynos and prepare
   for supporting ARMv8.
2. Add COMPILE_TEST.

* tag 'samsung-drivers-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  soc: samsung: pm_domains: Enable COMPILE_TEST for build coverage
  soc: samsung: pm_domains: Prepare for supporting ARMv8 Exynos
  ARM: EXYNOS: Move pm_domains driver to drivers/soc/samsung

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-06-13 14:28:37 -07:00
Olof Johansson
087eb3167d Samsung arm64 update for v4.8:
1. Select drivers/soc/samsung.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXVWESAAoJEME3ZuaGi4PX5ZEP/3I6KS+bFH6hANtrnx/PxmI6
 FMzldAUaMcO/72/qe+cQ36JIBWy4Mo6cOkDVV0GMJ5NQAJmespSLSHPmAAYEk62c
 zYErvmr9+FZiKsDARintUB4/FMdVnBvti7lUd39QBC/1vbfxtXyET7Jes3zvclsJ
 UMJbshVAFDjXydfffDAxT0MLavQfR4f9AclAZUrv/N3eWA0xUu/PIJYkI93CAjqY
 AjNSj/PtgxZJsmJ4E+RRq+nvqicNAVV5ZTN+/v5Qk7tOHK/p7+Y0h+btgIG6UgZV
 tR4ZA1M+H8ppxTRqZuGMn9UsPMGnHMJ2tzgX5i9cXj7RQ4AaKjfv/bFUkhzxx2LH
 awWB4pO1ureoeq8i/60KO4X7kotlweHF14crDOMSqqH/Epkkkp/DSyIzY5ki2qUq
 jqOfdxsOBcxZttXmwykHjjy7/to52c5lnZ2XpgETYV4RkxAFO0MXQ+BBVQJ5Fsys
 Sbgm+wiF8Zawg6bS3ZfCbHbg9tRnMmrhm8iPb8qre4DIwohBUx44s2EUBFOi9VyV
 /3p+rlkcvXnm1HAuWR7nbK4XrRiYSz6Dqc+6fq3kQvgrzzuY3sT3A80d2/S3Dlo4
 NRgLD5dYiWtaCQ1OS/yhvm0sEya/2mXtFHmQsEumhBycFBVRuQWdcZYrV1OMDf7Y
 3q+0+fn7oOHy8QucAazo
 =mZFG
 -----END PGP SIGNATURE-----

Merge tag 'samsung-soc64-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/arm64

Samsung arm64 update for v4.8:
1. Select drivers/soc/samsung.

* tag 'samsung-soc64-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  arm64: exynos: Select SOC specific drivers

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-06-13 14:25:18 -07:00
Olof Johansson
6c8266009c Samsung mach/soc update for v4.8:
1. Minor cleanups.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXVWDfAAoJEME3ZuaGi4PXs8YP/0tH4b7EmLV2Gpq/vs6hk+/b
 eH5gYUZixqpBQX4UUSg1bXCjU2om2jQYfTPsz0NmwpNtbDrdT+kJAWRncykaeAzY
 Zm/D+NSuMIAkbFdsiPuKKDhjTa05vbeQE4RkEJH73L1cnAoc+wjBRg0bw8LCUNoY
 HqrsoAnpd+lUIgSbQoGAwAO3hPcYz53xYh07AvSUTsl0SU8J0a34G4zhceVRS2T/
 VL90F8OxK+lqNtHHau2bdfOTX2MLF3lWWOBUJH+nOGXnXybdJsQH5SfVe3hMwrYs
 NDsrLxw2jviSWWZJquqxPJ37VGUtxCdUjKof6lkn601bSJob5R/nbkKSwyph0iGe
 Qtw/5+5WujCvohgmBEnKYz02TRWWO1p+PhUyBJrXAGUCOpxEXeWTzqiZRXVvlAFI
 J9F9GnCF5larIz4tu+QqWarv7o8chOzgR5zFht8b8oH9MGv3rnGPo0eFV47Z+pnJ
 gv4yikzn9J7rXVKD64/aHYviyql9PeZ7Y87WmEFtb15iIDwFOHtJ6H/QN30KmBA9
 eiMZcB+0X935iSyF1OjebxQscc3t7TysZWueBuGYugq1OdObeRlNgK/2gWYKj1bE
 ze+0rTlshun3Rx62HGsss0AozLqkZNEcg1H6RwEyrJkhuBTJD3eqtXGufCIIVtiW
 eK4O59I8q9Gij4h390pS
 =oP0g
 -----END PGP SIGNATURE-----

Merge tag 'samsung-soc-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/cleanup

Samsung mach/soc update for v4.8:
1. Minor cleanups.

* tag 'samsung-soc-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: s3c24xx: Sort cpufreq tables
  ARM: SAMSUNG: Fix typos

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-06-13 14:24:39 -07:00
Keith Busch
97e9230635 x86/PCI: VMD: Initialize list item in IRQ disable
Multiple calls to disable an IRQ would have caused the driver to
dereference a poisoned list item.  This re-initializes the list to allow
multiple requests to disable the IRQ.

Signed-off-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by Jon Derrick: <jonathan.derrick@intel.com>
2016-06-13 16:03:03 -05:00
Keith Busch
ca8a8fabb1 x86/PCI: VMD: Select device dma ops to override
VMD device doesn't usually have device archdata specific dma_ops, so we
need to override the default ops for VMD devices.

Signed-off-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by Jon Derrick: <jonathan.derrick@intel.com>
2016-06-13 15:59:31 -05:00
Axel Lin
33c77abcf4 i2c: robotfuzz-osif: Constify osif_table
osif_table is never modified, so declare it as const.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-06-13 22:32:09 +02:00
Wolfram Sang
27bfeb5a06 i2c: jz4780: drop superfluous init
David reported that the length for memset was incorrect (element sizes
were not taken into account). Then I saw that we are clearing kzalloced
memory, so we can simply drop this code.

Reported-by: David Binderman <dcb314@hotmail.com>
Reviewed-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-06-13 22:32:09 +02:00
Jean Delvare
a90bc5d9a7 i2c: i801: Drop needless bit-wise OR
The interrupt handling code makes it look like several status values
may be merged together before being processed, while this will never
happen. Change from bit-wise OR to simple assignment to make it more
obvious and avoid misunderstanding.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-06-13 22:32:09 +02:00
Jean-Michel Hautbois
0f614d834b i2c: Add generic support passing secondary devices addresses
Some I2C devices have multiple addresses assigned, for example each address
corresponding to a different internal register map page of the device.
So far drivers which need support for this have handled this with a driver
specific and non-generic implementation, e.g. passing the additional address
via platform data.

This patch provides a new helper function called i2c_new_secondary_device()
which is intended to provide a generic way to get the secondary address
as well as instantiate a struct i2c_client for the secondary address.

The function expects a pointer to the primary i2c_client, a name
for the secondary address and an optional default address. The name is used
as a handle to specify which secondary address to get.

The default address is used as a fallback in case no secondary address
was explicitly specified. In case no secondary address and no default
address were specified the function returns NULL.

For now the function only supports look-up of the secondary address
from devicetree, but it can be extended in the future
to for example support board files and/or ACPI.

Signed-off-by: Jean-Michel Hautbois <jean-michel.hautbois@veo-labs.com>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-06-13 22:32:09 +02:00
Mika Westerberg
006d44e49a PCI: Add runtime PM support for PCIe ports
Add back runtime PM support for PCIe ports that was removed by
fe9a743a26 ("PCI/PM: Drop unused runtime PM support code for PCIe
ports").

We cannot enable it automatically for all ports since there have been
problems previously [1].  In summary suspended PCIe ports were not able
to deal with ACPI-based hotplug reliably.  One reason why this might happen
is the fact that when a PCIe port is powered down, config space access to
the devices behind the port is not possible.  If the BIOS hotplug SMI
handler assumes the port is always in D0 it will not be able to find the
hotplugged devices.  To be on the safe side only enable runtime PM if the
port does not claim to support hotplug.

For PCIe ports not using hotplug, we enable and allow runtime PM
automatically.  Since 'bridge_d3' can be changed any time we check this in
driver ->runtime_idle() and ->runtime_suspend() and only allow runtime
suspend if the flag is still set.  Use autosuspend with default of 100ms
idle time to prevent the port from repeatedly suspending and resuming on
continuous configuration space access of devices behind the port.

The actual power transition to D3 and back is handled in the PCI core.

Idea to automatically unblock (allow) runtime PM for PCIe ports came from
Dave Airlie.

[1] https://bugzilla.kernel.org/show_bug.cgi?id=53811

This includes a fix for lockdep issue reported by Valdis Kletnieks.

Tested-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-06-13 14:58:53 -05:00
Mika Westerberg
16468c783c ACPI / hotplug / PCI: Runtime resume bridge before rescan
If a PCI bridge (or PCIe port) that is runtime suspended gets an ACPI
hotplug event, such as BUS_CHECK we need to make sure it is resumed before
devices below the bridge are re-scanned. Otherwise the devices behind the
port are not accessible and will be treated as hot-unplugged.

To fix this, resume PCI bridges from runtime suspend while rescanning.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-06-13 14:58:04 -05:00
Mika Westerberg
d963f6512e PCI: Power on bridges before scanning new devices
When a PCI device is removed through sysfs interface, the upstream bridge
(PCIe port) can be runtime suspended if it was the last device on that bus.
Now, if the bridge is in D3 we cannot find devices below the bridge
anymore.  For example following fails to find the removed device again:

  # echo 1 > /sys/bus/pci/devices/0000:00:01.0/0000:01:00.0/remove
  # echo 1 > /sys/bus/pci/devices/0000:00:01.0/rescan

Where 0000:00:01.0 is the bridge device.

In order to be able to rescan devices below the bridge add
pm_runtime_get_sync()/pm_runtime_put() calls to pci_scan_bridge().  This
should keep bridges powered on while their children devices are being
scanned.

Reported-by: Peter Wu <peter@lekensteyn.nl>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-06-13 14:57:58 -05:00
Mika Westerberg
9d26d3a8f1 PCI: Put PCIe ports into D3 during suspend
Currently the Linux PCI core does not touch power state of PCI bridges and
PCIe ports when system suspend is entered.  Leaving them in D0 consumes
power unnecessarily and may prevent the CPU from entering deeper C-states.

With recent PCIe hardware we can power down the ports to save power given
that we take into account few restrictions:

  - The PCIe port hardware is recent enough, starting from 2015.

  - Devices connected to PCIe ports are effectively in D3cold once the port
    is transitioned to D3 (the config space is not accessible anymore and
    the link may be powered down).

  - Devices behind the PCIe port need to be allowed to transition to D3cold
    and back.  There is a way both drivers and userspace can forbid this.

  - If the device behind the PCIe port is capable of waking the system it
    needs to be able to do so from D3cold.

This patch adds a new flag to struct pci_device called 'bridge_d3'.  This
flag is set and cleared by the PCI core whenever there is a change in power
management state of any of the devices behind the PCIe port.  When system
later on is suspended we only need to check this flag and if it is true
transition the port to D3 otherwise we leave it in D0.

Also provide override mechanism via command line parameter
"pcie_port_pm=[off|force]" that can be used to disable or enable the
feature regardless of the BIOS manufacturing date.

Tested-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-06-13 14:57:36 -05:00
Mika Westerberg
43f7f88b93 PCI: Don't clear d3cold_allowed for PCIe ports
The PCI core skips bridges and ports when the system is suspended.  The PCI
core checks return value of pci_has_subordinate() in pci_pm_suspend_noirq()
to skip all devices where it is non-zero (which means PCI bridges and PCIe
ports).

Since PCIe ports are never suspended in the first place, there is no need
to set d3cold_allowed for them.

Tested-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-06-13 14:51:34 -05:00
Florian Fainelli
2df1808dc0 ARM: dts: BCM5310x: Enable switch ports on SmartRG SR400AC
Define the port mapping for the SmartRG SR400ACE device.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2016-06-13 12:44:46 -07:00
Florian Fainelli
2cd0c0202f ARM: dts: BCM5301X: Add SRAB interrupts
Add interrupt mapping for the Switch Register Access Block. Only 12
interrupts are usable at the moment even though up to 32 are dedicated
to the SRAB.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2016-06-13 12:43:39 -07:00
Florian Fainelli
59f0ce1a3e ARM: dts: Enable SRAB switch and GMACs on 5301x DTS
Add the Switch Register Access Block which is a special piece of
hardware allowing us to perform indirect read/writes towards the
integrated BCM5301X Ethernet switch.

We also add the 4 Gigabit MAC Device Tree nodes within the brcm,bus-axi
bus node to get proper binding between the BCMA instantiated core and
the Device Tree nodes. We will need that to be able to reference
Ethernet Device Tree nodes in a future patch adding the switch ports
layout.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2016-06-13 12:43:38 -07:00
Alex Deucher
05082b8bbd drm/radeon: fix asic initialization for virtualized environments
When executing in a PCI passthrough based virtuzliation environment, the
hypervisor will usually attempt to send a PCIe bus reset signal to the
ASIC when the VM reboots. In this scenario, the card is not correctly
initialized, but we still consider it to be posted. Therefore, in a
passthrough based environemnt we should always post the card to guarantee
it is in a good state for driver initialization.

Ported from amdgpu commit:
amdgpu: fix asic initialization for virtualized environments

Cc: Andres Rodriguez <andres.rodriguez@amd.com>
Cc: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
2016-06-13 15:37:34 -04:00
Andres Rodriguez
048765ad5a amdgpu: fix asic initialization for virtualized environments (v2)
When executing in a PCI passthrough based virtuzliation environemnt, the
hypervisor will usually attempt to send a PCIe bus reset signal to the
ASIC when the VM reboots. In this scenario, the card is not correctly
initialized, but we still consider it to be posted. Therefore, in a
passthrough based environemnt we should always post the card to guarantee
it is in a good state for driver initialization.

However, if we are operating in SR-IOV mode it is up to the GIM driver
to manage the asic state, therefore we should not post the card (and
shouldn't be able to do it either).

v2: add missing semi-colon

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Andres Rodriguez <andres.rodriguez@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2016-06-13 15:25:20 -04:00
Jaegeuk Kim
c92737ceec f2fs: fix deadlock in add_link failure
mkdir                        sync_dirty_inode
 - init_inode_metadata
   - lock_page(node)
   - make_empty_dir
                             - filemap_fdatawrite()
                              - do_writepages
                              - lock_page(data)
                              - write_page(data)
                               - lock_page(node)
   - f2fs_init_acl
    - error
   - truncate_inode_pages
    - lock_page(data)

So, we don't need to truncate data pages in this error case, which will
be done by f2fs_evict_inode.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2016-06-13 11:55:25 -07:00
Jaegeuk Kim
36abef4e79 f2fs: introduce mode=lfs mount option
This mount option is to enable original log-structured filesystem forcefully.
So, there should be no random writes for main area.

Especially, this supports host-managed SMR device.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2016-06-13 11:55:21 -07:00
NeilBrown
d787be4092 md: reduce the number of synchronize_rcu() calls when multiple devices fail.
Every time a device is removed with ->hot_remove_disk() a synchronize_rcu() call is made
which can delay several milliseconds in some case.
If lots of devices fail at once - as could happen with a large RAID10 where one set
of devices are removed all at once - these delays can add up to be very inconcenient.

As failure is not reversible we can check for that first, setting a
separate flag if it is found, and then all synchronize_rcu() once for
all the flagged devices.  Then ->hot_remove_disk() function can skip the
synchronize_rcu() step if the flag is set.

fix build error(Shaohua)
Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
2016-06-13 11:54:22 -07:00
NeilBrown
f5b67ae86e md: be extra careful not to take a reference to a Faulty device.
It is important that we never increment rdev->nr_pending on a Faulty
device as ->hot_remove_disk() assumes that once the Faulty flag is visible
no code will take a new reference.

Some places take a new reference after only check In_sync.  This should
be safe as the two are changed together.  However to make the code more
obviously safe, add checks for 'Faulty' as well.

Note: the actual rule is:
  Never increment nr_pending if  Faulty is set and Blocked is clear,
  never clear Faulty, and never set Blocked without holding a reference
  through nr_pending.

fix build error (Shaohua)
Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
2016-06-13 11:54:21 -07:00
NeilBrown
40cf2123c5 md/multipath: add rcu protection to rdev access in multipath_status.
Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
2016-06-13 11:54:21 -07:00
NeilBrown
5fd133511d md/raid5: add rcu protection to rdev accesses in raid5_status.
Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
2016-06-13 11:54:20 -07:00
NeilBrown
3f232d6a95 md/raid5: add rcu protection to rdev accesses in want_replace
Being in the middle of resync is no longer protection against failed
rdevs disappearing.  So add rcu protection.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
2016-06-13 11:54:19 -07:00
NeilBrown
e50d399232 md/raid5: add rcu protection to rdev accesses in handle_failed_sync.
The rdev could be freed while handle_failed_sync is running, so
rcu protection is needed.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
2016-06-13 11:54:19 -07:00
NeilBrown
707a6a420c md/raid1: add rcu protection to rdev in fix_read_error
Since remove_and_add_spares() was added to hot_remove_disk() it has
been possible for an rdev to be hot-removed while fix_read_error()
was running, so we need to be more careful, and take a reference to
the rdev while performing IO.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
2016-06-13 11:54:18 -07:00
NeilBrown
854abd7584 md/raid1: small code cleanup in end_sync_write
'mirror' is only used to find 'rdev', several times.
So just find 'rdev' once, and use it instead.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
2016-06-13 11:54:17 -07:00
NeilBrown
e5872d58f5 md/raid1: small cleanup in raid1_end_read/write_request
Both functions use conf->mirrors[mirror].rdev several times, so
improve readability by storing this in a local variable.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
2016-06-13 11:54:17 -07:00
NeilBrown
4056ca51a2 md/raid10: simplify print_conf a little.
'tmp' is only ever used to extract 'tmp->rdev', so just use 'rdev' directly.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
2016-06-13 11:54:16 -07:00
NeilBrown
d683c8e0f7 md/raid10: minor code improvement in fix_read_error()
rdev already holds conf->mirrors[d].rdev, so no need to load it again.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
2016-06-13 11:54:16 -07:00
NeilBrown
d094d6860b md/raid10: add rcu protection to rdev access during reshape.
mirrors[].rdev can become NULL at any point unless:
   - a counted reference is held
   - ->reconfig_mutex is held, or
   - rcu_read_lock() is held

Reshape isn't always suitably careful as in the past rdev couldn't be
removed during reshape.  It can now, so add protection.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
2016-06-13 11:54:15 -07:00
NeilBrown
f90145f317 md/raid10: add rcu protection to rdev access in raid10_sync_request.
mirrors[].rdev can become NULL at any point unless:
  - a counted reference is held
  - ->reconfig_mutex is held, or
  - rcu_read_lock() is held

Previously they could not become NULL during a resync/recovery/reshape either.
However when remove_and_add_spares() was added to hot_remove_disk(), that
changed.

So raid10_sync_request didn't previously need to protect rdev access,
but now it does.

Fix missed check(Shaohua)
Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
2016-06-13 11:54:14 -07:00