Commit graph

494481 commits

Author SHA1 Message Date
Stephane Viau
0deed25b65 drm/msm: add multiple CRTC and overlay support
MDP5 currently support one single CRTC with its private pipe.
This change allows the configuration of multiple CRTCs with
the possibility to attach several public planes to these CRTCs.

Signed-off-by: Stephane Viau <sviau@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
2014-11-21 08:57:19 -05:00
Rob Clark
ac7a570406 drm/msm/mdp5: set rate before enabling clk
Set a "safe" rate at first, in order to read out the hw revision.  And
then after set the optimal value.

Signed-off-by: Rob Clark <robdclark@gmail.com>
2014-11-21 08:57:18 -05:00
Stephane Viau
2e362e1772 drm/msm/mdp5: introduce mdp5_cfg module
The hardware configuration modification from a version to another
is quite consequent. Introducing a configuration module
(mdp5_cfg) may make things more clear and easier to access when a
new hardware version comes up.

Signed-off-by: Stephane Viau <sviau@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
2014-11-21 08:57:17 -05:00
Stephane Viau
bfcdfb0e62 drm/msm/mdp5: make SMP module dynamically configurable
The Shared Memory Pool (SMP) has its own limitation, features and
state. Some examples are:
 - the number of Memory Macro Block (MMB) and their size
 - the number of lines that can be fetched
 - the state of MMB currently allocated
 - the computation of number of blocks required per plane
 - client IDs ...

In order to avoid private data to be overwritten by other modules,
let's make these private to the SMP module.

Some of these depend on the hardware configuration, let's add them
to the mdp5_config struct.

In some hw configurations, some MMBs are statically tied to RGB
pipes and cannot be re-allocated dynamically. This change
introduces the concept of MMB static usage and makes sure that
dynamic MMB requests are dimensioned accordingly.

A note on passing a pipe pointer, instead of client IDs:
Client IDs are SMP-related information. Passing PIPE information
to SMP lets SMP module to find out which SMP client(s) are used.
This allows the SMP module to access the PIPE pointer, which can
be used for FIFO watermark configuration.
By the way, even though REG_MDP5_PIPE_REQPRIO_FIFO_WM_* registers
are part of the PIPE registers, their functionality is to reflect
the behavior of the SMP block. These registers access is now
restricted to the SMP module.

Signed-off-by: Stephane Viau <sviau@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
2014-11-21 08:57:16 -05:00
Rob Clark
d1a717bd27 drm/msm/hdmi: remove useless kref
A left-over from prior to component framework.  The original intent was
to deal with hdmi getting unloaded before the master component, but that
isn't really going to work anyways.  These days with the component
framework taking care to unload the master component first, we don't
have to worry about this.

Signed-off-by: Rob Clark <robdclark@gmail.com>
2014-11-21 08:56:19 -05:00
Stephane Viau
3f307963fc drm/msm/mdp5: get the core clock rate from MDP5 config
The core clock rate depends on the hw configuration. Once we have
read the hardware revision, we can set the core clock to its
maximum value.
Before then, the clock is set at a rate supported by all MDP5
revisions.

Signed-off-by: Stephane Viau <sviau@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
2014-11-21 08:56:18 -05:00
Rob Clark
f6a8eaca0e drm/msm/mdp5: use irqdomains
For mdp5, the irqs of hdmi/eDP/dsi0/dsi1 blocks get routed through the
mdp block.  In order to decouple hdmi/eDP/etc, register an irq domain
in mdp5.  When hdmi/dsi/etc are used with mdp4, they can directly setup
their irqs in their DT nodes as normal.  When used with mdp5, instead
set the mdp device as the interrupt-parent, as in:

	mdp: qcom,mdss_mdp@fd900000 {
		compatible = "qcom,mdss_mdp";
		interrupt-controller;
		#interrupt-cells = <1>;
		...
	};

	hdmi: qcom,hdmi_tx@fd922100 {
		compatible = "qcom,hdmi-tx-8074";
		interrupt-parent = <&mdp>;
		interrupts = <8 0>;   /* MDP5_HW_INTR_STATUS.INTR_HDMI */
		...
	};

There is a slight awkwardness, in that we cannot disable child irqs
at the mdp level, they can only be cleared in the child block.  So
you must not use threaded irq handlers in the child.  I'm not sure
if there is a better way to deal with that.

Signed-off-by: Rob Clark <robdclark@gmail.com>
2014-11-21 08:56:18 -05:00
Javier Martinez Canillas
c645a598f9 ARM: EXYNOS: Call regulator core suspend prepare and finish functions
The regulator framework has a set of helpers functions to be used when
the system is entering and leaving from suspend but these are not called
on Exynos platforms. This means that the .set_suspend_* function handlers
defined by regulator drivers are not called when the system is suspended.

Suggested-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2014-11-21 22:49:47 +09:00
Abhilash Kesavan
adc548d77c ARM: EXYNOS: Use MCPM call-backs to support S2R on exynos5420
Use the MCPM layer to handle core suspend/resume on Exynos5420.
Also, restore the entry address setup code post-resume.

Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Reviewed-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Tested-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2014-11-21 22:49:46 +09:00
Vikas Sajjan
0fdf088fd8 ARM: EXYNOS: Add Suspend-to-RAM support for exynos5420
Adds Suspend-to-RAM support for EXYNOS5420

Signed-off-by: Vikas Sajjan <vikas.sajjan@samsung.com>
Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2014-11-21 22:49:46 +09:00
Abhilash Kesavan
af2e0a0754 ARM: EXYNOS: Add PMU support for exynos5420
Adds initial PMU settings for exynos5420. This is required for
future S2R and Switching support.

Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Signed-off-by: Vikas Sajjan <vikas.sajjan@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2014-11-21 22:49:45 +09:00
Pankaj Dubey
6b7bfd8292 ARM: EXYNOS: Move PMU specific definitions from common.h
This patch moves PMU specific definitions into a new file
as exynos-pmu.h.
This will help in reducing dependency of common.h in pmu.c.

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Tested-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2014-11-21 22:49:44 +09:00
Pankaj Dubey
14fc8b93d4 ARM: EXYNOS: Add platform driver support for Exynos PMU
This patch modifies Exynos Power Management Unit (PMU) initialization
implementation in following way:

- Added platform driver support for Exynos PMU IP.
- Added platform struct exynos_pmu_data to hold platform specific data.
- For each SoC's PMU support now we can add platform data and statically
  bind PMU configuration and SoC specific initialization function.
- Separate each SoC's PMU initialization function and make it as part of
  platform data.
- It also removes uses of soc_is_exynosXYZ().

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Tested-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2014-11-21 22:49:44 +09:00
Chanwoo Choi
c0adae9e51 ARM: EXYNOS: Add support for exynos4415 SoC
This patch adds support for Exynos4415 SoC. Exynos4415 is based on
the 32-bit RISC processor for Smartphone. Exynos4415 has Cortex A9
quad-cores and has a target speed of 1.6GHz and provides 8.5GB/s
memory bandwidth.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2014-11-21 22:49:43 +09:00
Kukjin Kim
b5d841a2bf Merge branch 'v3.19-next/non-critical-fixes' into v3.19-next/mach-exynos 2014-11-21 22:49:27 +09:00
Patrik Flykt
b0ad5e8b49 mac80211_hwsim: Send alpha2 only if non-zero
A properly set alpha2 value consists of two chars that both contain
letters or digits. If no value is set, both chars keep their initial
value zero. Therefore do not send the alpha2 parameter to user space
if either of the characters has been left at its initial zero value.

Signed-off-by: Patrik Flykt <patrik.flykt@linux.intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2014-11-21 14:18:01 +01:00
Javier Martinez Canillas
0788148935 ARM: exynos_defconfig: Enable max77802 rtc and clock drivers
Commit 6e80e3d875 ("ARM: exynos_defconfig: Enable MAX77802")
enabled support for the max77802 regulators but the PMIC also
has a Real-Time-Clock (RTC) and 2-channel 32kHz clock outputs.

Enable the kernel config options to have the drivers for these
devices built-in since they are present in many Exynos boards.

Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Acked-by: Kevin Hilman <khilman@linaro.org>
Tested-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2014-11-21 21:46:21 +09:00
Kukjin Kim
68847edc83 Merge branch 'v3.19-next/cleanup-samsung' into v3.19-next/mach-exynos 2014-11-21 21:40:23 +09:00
Arnd Bergmann
d1940cbd46 SoCFPGA DTS updates for v3.19
- Add DTS support for a new chip in the SOCFPGA family, the Arria 10.
 - Enable watchdog node.
 - Add SPI nodes.
 - Add the OCRAM node.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJUbslHAAoJEBmUBAuBoyj0R0EP/2nF0rHzM7s9TivfLLnknwu5
 UCPFkuB9DFsfBn6XauAjuioY2/K1yugU5Xh4IyKgXfOdUYDRxT18FzltJl8Tk25h
 yx7tm5DlukQ68sdKgcSNMXgH1VNR0zV0k0P1PBjdB2W78DGpQTi5KUDb29a6wk7a
 g7pYnhrzlKgLVfAazhxsD/N2o+ImxFvsVpdQBxi4/oR5zgYEoLbv6i4CKzPBrPv9
 T/v4MP9E9p8tviSpuj99plMZN8w4uBQ7Clc1xCrh8y+KvKRjViFnUZPXFZHnPENs
 XnqPuDyHvMxYEKQgrSDO5GQ4USUFM+TTSKGSobkCYYmaw53F+g6FxYTCDkubyCW/
 v9OAH5t3lQf3P8SyHdZ2hhGH4EAoTzxC7uYJes/JdjxZgBHpfZv/bj3MGMI6r+w8
 5rUF8ueipQjVOVJtr2YkkGM9U0CFw1dBGFBGk3eMrXPV418fcrIJZkRoDwdnvpQj
 I8sG1rEoZHAbPOu2ejyxVAlvHF5uy7HAXpt3ktekJV70DtcNTUpREbMso7fksEzL
 xufDmwe/BjUzJBFsVhZZLULUlHt1rZLYHXOn/NdfBEWluT4+uhc+1DcsCsc99Bhe
 AIUMX+ngDpWZazxRGhzlOxdzi9dhuN1pFtJlXuj2wBhVNdivac4OjgBgFYWu9lpZ
 cC/byWHasY2Kyyi1+tDd
 =sh1R
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_dts_updates_for_v3.19' of git://git.rocketboards.org/linux-socfpga-next into next/dt

Pull "SoCFPGA DTS updates for v3.19" from Dinh Nguyen:

- Add DTS support for a new chip in the SOCFPGA family, the Arria 10.
- Enable watchdog node.
- Add SPI nodes.
- Add the OCRAM node.

* tag 'socfpga_dts_updates_for_v3.19' of git://git.rocketboards.org/linux-socfpga-next:
  arm: dts: socfpga: Add a base DTSI for Altera's Arria10 SOC
  arm: dts: socfpga: enable watchdog for socfpga platform
  arm: dts: socfpga: Add SPI nodes to SOCFPGA DT.
  arm: dts: socfpga: Add OCRAM node

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-21 13:31:06 +01:00
Arnd Bergmann
3c6f4b154a Second Round of Renesas ARM Based SoC Cleanups for v3.19
* Spelling and grammar fixes
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUbovwAAoJENfPZGlqN0++69QP/iu/h2HZYc0L3f0iZt0aQAL5
 FXDVlhdDquprYjnaLX/HAymnxZf/TuCQIZY1B8UjdPV8DqvWllubV8DA9x22XsTY
 EsmP+acEzLqvPJEFzLvm9BFsNpHWDa1021zFU4x4WONLmqD5Ln2cninAOTkg5q4H
 ty68ij4okyxc6anemsQAPrZKdQFIhaokH1jzrbSHEtFEGd/WxzJkQtYtyMHp87Ep
 rn3Tkb1fFyaIPwl68smCsDcHeZDQG1UmC4NAWIJ+pPBS8vOKztkWneD0l0z5U2u5
 3I5+G3Mnk/HO9I3+UKVCbNsh+hJ2tQfbailUYBat3RcWTch8/nj2H2AmjAFE5vF7
 qTpCMQ7yIdvKuqJMvRrJudYFFSKGkJ/wrJ7gqZHk7FSfLx76IKswuZ4QkRXLKV+3
 nJF/bsh8YkoLOmNKFeNL128U63UGgL4xqwgDK+gIxr3r18+ACSxtZvTU5X0dbVDX
 XD3to32Yjy1tdeN9vYFbwVA7gDr7fUiwuYUGZyk9F84AglJVrBrcoAjaff2aK38K
 GBsG6xvIlP4t8xQc5eMFbDa5E8j5Py/bUS7dDri9P+j/7750M/t8BdfYj8ByC7rq
 lvb5BPTRY/86ks42tfRAATwqYQuMlIsiQifvBvN64hYaXSHVFHl/IKEJSabH2G5i
 dWl79XHEacH+Z2EDVo35
 =NxGD
 -----END PGP SIGNATURE-----

Merge tag 'renesas-soc-cleanups2-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup

Pull "Second Round of Renesas ARM Based SoC Cleanups for v3.19" from Simon Horman:

* Spelling and grammar fixes

* tag 'renesas-soc-cleanups2-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: r8a7779: Spelling/grammar s/entity/identity/, s/map/mapping/
  ARM: shmobile: sh7372: Spelling/grammar s/entity map/identity mapping/
  ARM: shmobile: sh73a0: Spelling/grammar s/entity map/identity mapping/

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-21 13:05:26 +01:00
Arnd Bergmann
6febbf472b Fourth Round of Renesas ARM Based SoC Updates for v3.19
* Add early debugging support using SCIF(A)
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUboyIAAoJENfPZGlqN0++ACgQAIuqcxX1F5dayIeggtoFg4d9
 dG/YrZTZDRi5AcpXLgoMvt05Q908dDexwTxqSRjjahAil3xVVksjjU57dtKeV1a1
 YgsuXHn/7S3Ai97Fk+3KyOQ+SqJZpUATkjTNKpQDTYsdzHf6qSWgxOOXk1e76Ubi
 DYQb3iNQUUtSrjK9KmiwQ/qdKdb+mkW7F4gprykYBsiNBxbwV8ynwFt8VOE1IjiQ
 nevT28HTJMCyWjvQTLXD0kPodhD+Qx81wrer6zusZp/HEQprCap+QhaR6owGnCPX
 AQXmvSl4QaA5CqA4QWPOEW38gNzOnMAu3CZUplTWmm1+kp0avNj0jms4UCa3ufwc
 RkGmv/AUefbWxEE3ZDH21Cbem2vDN/Pk/cY/EcDweaAGBomPua4fH54YD3yzLoIL
 omPsmx/dp6Dr3THoyGCXJbPGsVBJHqYT19PLsubMaG6FcC2KH4ootb5riX2rQzOa
 ihkhaANOPgTALj13gNs1Gv0Fpl1h4Mp3O119ZTZSFz74RNS3qO4/B+/dpIBM3v+B
 dJxuRsHWluRSMRRo4CTXtZP4WstABwZvEBFmGjPJSm6eP+UmBTdIsXS2C8Q22/Dy
 AGKIhZBxt2wI+SzpLtgAD3i/3MzH3T3NXTMqpH8xrrP09ePwXGdOzP53q4A28OLX
 1L+BZGFNaoV3TRDzbhAq
 =O/9v
 -----END PGP SIGNATURE-----

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

Pull "Fourth Round of Renesas ARM Based SoC Updates for v3.19" from Simon Horman:

* Add early debugging support using SCIF(A)

* tag 'renesas-soc4-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Add early debugging support using SCIF(A)

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-21 13:04:06 +01:00
Arnd Bergmann
5ba3c24ca0 Second Round of Renesas ARM Based SoC DT Updates for v3.19
* Add labels for LEDs on kzm9g-reference and koelsch
 * Add Sound support to r8a7790/lager and r8a7791/koelsch
 * Add IIC DMA nodes to r8a7790 and r8a7791
 * Use SoC-specific IIC compatible properties on sh73a0 and r8a73a4
 * Add SGX, MMP and VSP1 clocks to r8a7794
 * Add USBDMAC{0,1} clocks to r8a7790 and r8a7791
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUbbZkAAoJENfPZGlqN0++A0gQAJ5bs24c0fRzIPXrkeIzY0aQ
 262nBv175LG8wihixOAJB/jiTPSpaZavlR+iXYq2iU+IqkkwIzFtdNs4q/ZMdppW
 J7LPUj0DwJe6+B8AYhSsSDDNW0P4avBXfU4rFXzLp2IkAqi/HdxJjB3/9C5Nzi7b
 mpsTvz3x4iP2NZdEKIDGtMBwtjghsfKBRaLsgNow+JdxLDLuWKWjaR8PMxvF1LFa
 Z/jz343PmFGCaWypq5HVyu+h3eNvh9HpOUleurGijXzoZl61U1SDceTygfbF+Ht2
 nNq8gqynokYWfmDQa8HJlPEmeCFhDtBHc9NNPJBEOCv7pWWdsXgfEYW5OepH+xzp
 FqfXM2DwKVMDcSL3LDwXYT1xZQfI8KUDg6ek5gXk8pDDpVhAb2ishEt+Vr3zEL+H
 uro9wruHl8lYujq9P4Jmh9icl2fMx3hXIoq3PVkzOkmJhViwSm55pqlAAVN72d4u
 xIthmwmvQ/zsvn5RwV3jmWUlwlYJmMz2gXqtsq+9NUy55yUMqjeSB9kchTzrM6SJ
 CzfiCl5j2SC6jiCNGsiFjI603kdIKq0uvaLQStEAHoWJkuf+jEWmfjV9qPptE+sa
 rPhIhWUXqs5Emw3DgQynIOy+szTWlg1hJl9MDF/SaeiyZ/dh/teqIoYhAjfqlCFS
 7etGw24D7YujpG9jlfC4
 =0cH9
 -----END PGP SIGNATURE-----

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

Pull "Second Round of Renesas ARM Based SoC DT Updates for v3.19" from Simon Horman:

* Add labels for LEDs on kzm9g-reference and koelsch
* Add Sound support to r8a7790/lager and r8a7791/koelsch
* Add IIC DMA nodes to r8a7790 and r8a7791
* Use SoC-specific IIC compatible properties on sh73a0 and r8a73a4
* Add SGX, MMP and VSP1 clocks to r8a7794
* Add USBDMAC{0,1} clocks to r8a7790 and r8a7791

* tag 'renesas-dt2-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (29 commits)
  ARM: shmobile: r8a7791: add USBDMAC{0,1} clocks to device tree
  ARM: shmobile: r8a7790: add USBDMAC{0,1} clocks to device tree
  ARM: shmobile: r8a7794: Add MMP and VSP1 clocks to device tree
  ARM: shmobile: r8a7794: Add SGX clock to device tree
  ARM: shmobile: koelsch: add Volume Ramp usage on comment
  ARM: shmobile: lager: add Volume Ramp usage on comment
  ARM: shmobile: r8a7791: add DMA nodes for IIC
  ARM: shmobile: r8a7790: add DMA nodes for IIC
  ARM: shmobile: kzm9g-reference dts: Add labels for the LEDs
  ARM: shmobile: koelsch dts: Add labels for the LEDs
  ARM: shmobile: sh73a0 dtsi: Add SoC-specific IIC compatible properties
  ARM: shmobile: r8a73a4 dtsi: Add SoC-specific IIC compatible properties
  ARM: shmobile: koelsch: Sound DMA support via DVC on DTS
  ARM: shmobile: koelsch: Sound DMA support via SRC on DTS
  ARM: shmobile: koelsch: Sound DMA support via BUSIF on DTS
  ARM: shmobile: koelsch: Sound DMA support on DTS
  ARM: shmobile: koelsch: Sound PIO support on DTS
  ARM: shmobile: koelsch: fixup I2C2 clock frequency
  ARM: shmobile: lager: Sound DMA support via DVC on DTS
  ARM: shmobile: lager: Sound DMA support via SRC on DTS
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-21 13:02:08 +01:00
Arnd Bergmann
00f879bed4 Berlin SoC changes for v3.19 (round 2)
- Do not select RESET_CONTROLLER as it is user selectable
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUbmzlAAoJEN2kpao7fSL4Ur4P/Aoc7f8uuZk9qfdwC0UQ11sE
 Lt6QG++3H4a/IhxoyE0OBgrFs3rShQDZ4Jk3Du0Tvb7D3gqDL2TB1ouDi1b9xiLP
 qPatbIYHpIMRDbOAIibevqkH6iF9ZAn9gBMzBrPv1aiUjVz8WR6ubachJIa1LfEX
 KSZR895d0f+c+fjFUxMCNirnmr3fS/W/Stn33Qtxm8/fmoMsTkrDEkVrWkGSPh5J
 GwJrE+O1G8DNC5y1gc+kmRkX2iHfiTYchKMgnCnGC3FXTdHp3/yhkBdFD8aB2UH9
 94umJ9qVZAn/V8noxba7Lk2Vg3Qrky4kLxZt14QsGUWaI8Jmz9XdqCARD9m1dkeN
 Bb7X6JyQiImAbpRwlkzdaWP1jvEG4VG2SkI0p+8QSnmtef9C6Oj8M/Iunnjsvont
 RCpqhRKKWEDpKOiVwFQGrLw8oRSdrMy4PEIDJD1kgeAme308VEhi+sdh3MVu82hD
 xptJpHS2U9PpsAJTPBoUEy1FVHEM7THsyK7o7ICGZF7ZpWrw6YwD/imVC/5Ue+Uc
 jwnJMWNLPX/wSRHMcP89ThjgivUR/LtxfV2UVrioG9biz9jVxEMxwvZS3Tnh1JkO
 XL92wb3US090zFj12Di/x44Cn3GCQsRJpS3yHdCTzAf8DfzNm7Uey4+cuhB2h9dU
 Rl5riS0KQ7Etxbr+4hn/
 =M/Sw
 -----END PGP SIGNATURE-----

Merge tag 'berlin-soc-3.19-2' of git://git.infradead.org/users/hesselba/linux-berlin into next/soc

Pull "Berlin SoC changes for v3.19 (round 2)" from Sebastian Hesselbarth:

- Do not select RESET_CONTROLLER as it is user selectable

* tag 'berlin-soc-3.19-2' of git://git.infradead.org/users/hesselba/linux-berlin:
  ARM: berlin: do not select RESET_CONTROLLER

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-21 12:59:18 +01:00
Arnd Bergmann
1bc7f27dee Berlin DT changes for v3.19 (round 2)
- AHCI and SATA PHY nodes for BG2
 - USB and USB PHZ nodes for BG2/BG2CD/BG2Q
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUbm0pAAoJEN2kpao7fSL4RW8P/A+0U0qoj8FbBpDwiwhjADwG
 4327uzYbI+TG1fajJYxbDlMzvDNjRXb2yRb/eivgEoY7LsLR7Vbi1mwKsNAqH6+6
 n1RRtil1Rir4nILN2gnN911O24owGkvOUV4CN14uzDLR6K/smoaSYFcfFH6FS6Os
 NaYccrpobWCb4tZKjWPxo8FuknmTD+siUQmZRtazToWd9xiir7RhKwSrX8i/1jNp
 6vuhtn4L2nTZhycFjl1RZI6sZBOKtVBRD6yiuUSc6YjUPo+UEpaZdYQwcjOu906R
 c/99RgPa1ThN4OGYnGdco4grnSYU5hta0/xvVgaWXVDXie2Gg/gE3TCKzM6iWT2b
 EIWL8sCAOvHs8qTyknRukSGREPaTlcxMt+nogz6iD60+Dv//AJziJSqGnzGPDPSO
 Ud4hshdScwSGRZHfa0GRk3b2Y6P5F+gf2YuJuMcuWqz6kN5bbnQl3YvNYCiypvNH
 PWalrCaV8xS5UqN2JsRinJioUnVcGRBikfY/09xTLcweizZdXyoXjVvsNf7i5tPu
 XgyuXZob7uHwjJn6rQ2YsVeDQW/WPZ+df+da5Atq3xAnhAEuIgY74SPrRugdzdJQ
 r59v6YdSauMJdh5xJ1pNsaWDMJ7mGkv2E8txXOazWVWErfaI57lRwepXz99UgXBa
 RIUUPggoO/lrecw5c5mb
 =ZS1m
 -----END PGP SIGNATURE-----

Merge tag 'berlin-dt-3.19-2' of git://git.infradead.org/users/hesselba/linux-berlin into next/dt

Pull "Berlin DT changes for v3.19 (round 2)" from Sebastian Hesselbarth:

- AHCI and SATA PHY nodes for BG2
- USB and USB PHZ nodes for BG2/BG2CD/BG2Q

* tag 'berlin-dt-3.19-2' of git://git.infradead.org/users/hesselba/linux-berlin:
  ARM: dts: berlin: enable USB on the Google Chromecast
  ARM: dts: berlin: add BG2CD nodes for USB support
  ARM: dts: Berlin: enable USB on the BG2Q DMP
  ARM: dts: berlin: add BG2Q nodes for USB support
  ARM: berlin: Enable SATA on Sony NSZ-GS7
  ARM: berlin: Add AHCI and SATA PHY nodes to BG2

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-21 12:57:30 +01:00
Hauke Mehrtens
140bd60383 ARM: BCM5301X: fix early serial console
This device actually has a 8250 serial with a shift of 0.
Tested this on a BCM4708.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-21 12:34:54 +01:00
Florian Fainelli
2e8a29a1c9 bus: brcmstb_gisb: resolve section mismatch
Commit f1bee783dd moved the call to hook_fault_code in
brcmstb_gisb_arb_probe() which now calls a function annotated with __init, so
this one must also be annotated with __init.

In order to avoid introducing another section mismatch, call
platform_driver_probe() manually and remove the .probe assignment from
brcmstb_gisb_arb_driver, this is very similar to what
drivers/pci/host/pci-imx6.c does since we basically have the same constraints
here.

Fixes: f1bee783dd ("bus: brcmstb_gisb: register the fault code hook")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-21 12:32:43 +01:00
Mark Brown
a63b87838a Merge remote-tracking branches 'regmap/topic/ac97' and 'regmap/topic/headers' into regmap-next 2014-11-21 11:32:36 +00:00
Mark Brown
c6efe57618 Merge remote-tracking branch 'regmap/topic/cache' into regmap-next 2014-11-21 11:32:35 +00:00
Mark Brown
28176ab6d0 Merge remote-tracking branch 'regmap/fix/cache' into regmap-linus 2014-11-21 11:32:33 +00:00
Arnd Bergmann
a850c42702 ARM: common: edma: edma_pm_resume may be unused
The recently introduced resume hook in the edma driver
is not referenced when CONFIG_PM_SLEEP is not set, which
results in a compile warning in keystone builds.

This adds an appropriate #ifdef.

Cc: Nishanth Menon <nm@ti.com>
Cc: Daniel Mack <zonque@gmail.com>
Cc: Joel Fernandes <joelf@ti.com>
Acked-by: Sekhar Nori <nsekhar@ti.com>
Fixes: a2b1175131: ("ARM: common: edma: add suspend resume hook")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-11-21 12:31:52 +01:00
Joerg Roedel
2d565a57f2 Merge branch 'for-joerg/arm-smmu/updates' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into arm/smmu 2014-11-21 12:28:28 +01:00
Nicolas Ferre
4fdfb67f24 ARM: at91/Kconfig: remove useless fbdev Kconfig options
Remove Kconfig options used nowhere.
The removal of CONFIG_ARCH_AT91SAM9261 option allowed to spot this oddness.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2014-11-21 12:18:40 +01:00
Nicolas Ferre
2e591e7b3a ARM: at91: remove at91sam9261/at91sam9g10 legacy board support
Remove legacy support for at91sam9261/at91sam9g10 boards.
This include board files removal plus all legacy code for non DT boards
support.
Use the Device Tree for running this board with newer kernels.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2014-11-21 12:09:27 +01:00
Takashi Iwai
b61f90eac1 ALSA: usb-audio: Add resume support for Scarlett mixers
Scarlett driver uses almost compatible usb_mixer_elem_info struct, so
we just need to add a couple of simple resume callbacks to handle them
accordingly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-11-21 11:59:17 +01:00
Takashi Iwai
288673beae ALSA: usb-audio: Add resume support for MicroII SPDIF ctls
Like the previous fixes, the mixer accessors are converted to use
usb_mixer_elem_list objects.  In addition, the proper shutdown check
are put in get and put callbacks.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-11-21 11:58:52 +01:00
Takashi Iwai
0b4e9cfcef ALSA: usb-audio: Add resume support for FTU controls
A few FTU mixer controls have the own value handling, so they have to
be rewritten to follow the support for resume callbacks.  This ended
up in a fair amount of refactoring.  Its own struct is now removed,
instead the values are embedded in kctl private_value totally.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-11-21 11:58:19 +01:00
Takashi Iwai
da6d276957 ALSA: usb-audio: Add resume support for Native Instruments controls
The changes at this time are a bit more wider than previous ones.
Firstly, the NI controls didn't cache the values, so I had to
implement the caching.  It's stored in bit 24 of private_value.
In addition to that, the initial values have to be read from
registers.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-11-21 11:58:14 +01:00
Takashi Iwai
25a9a4f91b ALSA: usb-audio: Add Digidesign Mbox 1 resume support
Again another quirk fix, just convert to usb_mixer_elem_list with the
resume callback for Mbox 1 stuff.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-11-21 11:58:08 +01:00
Takashi Iwai
2bfb14c3b8 ALSA: usb-audio: Add Xonar U1 resume support
This time it's about Xonar U1: add the proper resume support for
"Digital Playback Switch" element.

Also, the status is moved into kcontrol private_value from
usb_mixer_interface struct field.  One more cut.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-11-21 11:58:01 +01:00
Takashi Iwai
5f503ee9e2 ALSA: usb-audio: Add Emu0204 channel switch resume support
Similar as the previous fix, this adds the proper resume support to
Emu0202 "Front Jack Channels" enum mixer element.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-11-21 11:57:55 +01:00
Takashi Iwai
9cf3689bfe ALSA: usb-audio: Add audigy2nx resume support
Rewrite the code to handle LEDs on audigy2nx and co for supporting the
proper resume.  A new internal helper function
add_single_ctl_with_resume() is introduced to manage the
usb_mixer_elem_list more easily.

Also while we're at it, move audigy2nx_leds[] in usb_mixer_interface
struct into the private_value of each kctl, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-11-21 11:57:46 +01:00
Takashi Iwai
3360b84b8e ALSA: usb-audio: Allow quirks to handle own resume and proc dump
So far, we blindly assumed that the all usb-audio mixer elements
follow the standard and apply the standard resume method for the
registered elements in the id_elems[] list.  However, some quirks
really need the own resume and it's incomplete for now.

This patch enhances the resume handling in two folds:
- split some fields in struct usb_mixer_elem_info into a smaller
  header struct (usb_mixer_elem_list) for keeping the minimal
  information in the linked-list; the usb_mixer_elem_info embeds this
  header struct instead
- add resume and dump callbacks to usb_mixer_elem_list struct to allow
  quirks providing the own methods

For the standard mixer elements, these new callbacks are set to the
standard ones as default, thus there is no functional change by this
patch yet.

The dump and resume callbacks are typedef'ed for ease of later patches
using arrays of such function pointers.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-11-21 11:56:58 +01:00
Hui Wang
911f632c70 ALSA: hda - One more HP machine needs to change mute led quirk
The machine originally use the quirk ALC269_FIXUP_HP_GPIO_MIC1_LED,
but the LED doesn't work at all.

After this change, the machine will change to use
ALC269_FIXUP_HP_MUTE_LED_MIC1 through pin_fixup_tbl[], and the LED
works well.

BugLink: https://bugs.launchpad.net/bugs/1389497
Tested-by: TieFu Chen <tienfu.chen@canonical.com>
Cc: Kailang Yang <kailang@realtek.com>
Cc: stable@vger.kernel.org
Signed-off-by: Hui Wang <hui.wang@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-11-21 10:58:08 +01:00
Kailang Yang
eaa8e5ef18 ALSA: hda/realtek - Supported HP mute Led for ALC286
New HP machine supported output mute led and input mute led.
ALC286:
GPIO1 to control output mute led.
GPIO5 to control input mute led.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-11-21 10:56:52 +01:00
Thierry Reding
fd1b0f5b62 ARM: tegra: Regenerate default configuration
This patch was generated by running 'make tegra_defconfig' followed by
'make savedefconfig' with the v3.18-rc1 tag checked out. Two values go
away: CONFIG_SCSI is selected by CONFIG_ATA and CONFIG_SCSI_MULTI_LUN
was removed.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-11-21 10:50:38 +01:00
Daniel Vetter
e7f1d0b735 drm/i915: Update DRIVER_DATE to 20141121
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-11-21 10:37:14 +01:00
Heiko Carstens
e56da345eb s390/traps: die on translation exceptions
Translation exceptions should never happen, since that implies that
either we screwed up the page tables or missed to properly flush the TLB.

In both cases we should not just simply kill user space or walk the kernel
exception tables. Instead an oops or a panic (panic_on_oops) is the better
answer.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2014-11-21 08:49:33 +01:00
Heiko Carstens
413d404768 s390/traps: print interrupt code and instruction length code
It always confuses me to see the mixed instruction length code and
interruption code on user space faults, while the message clearly
says it is the interruption code.
So split the value and print both values separately. Also add the ILC
output to the die() message, so thar user and kernel space faults
contain the same information.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2014-11-21 08:49:30 +01:00
Andrew Jackson
d39f77b06a i2c: designware: prevent early stop on TX FIFO empty
If the Designware core is configured with IC_EMPTYFIFO_HOLD_MASTER_EN
set to zero, allowing the TX FIFO to become empty causes a STOP
condition to be generated on the I2C bus. If the transmit FIFO
threshold is set too high, an erroneous STOP condition can be
generated on long transfers - particularly where the interrupt
latency is extended.

Signed-off-by: Andrew Jackson <Andrew.Jackson@arm.com>
Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
Tested-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-11-21 08:06:32 +01:00
Alexander Kochetkov
27caca9d2e i2c: omap: fix NACK and Arbitration Lost irq handling
commit 1d7afc9594 (i2c: omap: ack IRQ in parts)
changed the interrupt handler to complete transfers without clearing
XRDY (AL case) and ARDY (NACK case) flags. XRDY or ARDY interrupts will be
fired again. As a result, ISR keep processing transfer after it was already
complete (from the driver code point of view).

A didn't see real impacts of the 1d7afc9, but it is really bad idea to
have ISR running on user data after transfer was complete.

It looks, what 1d7afc9 violate TI specs in what how AL and NACK should be
handled (see Note 1, sprugn4r, Figure 17-31 and Figure 17-32).

According to specs (if I understood correctly), in case of NACK and AL driver
must reset NACK, AL, ARDY, RDR, and RRDY (Master Receive Mode), and
NACK, AL, ARDY, and XDR (Master Transmitter Mode).

All that is done down the code under the if condition:
if (stat & (OMAP_I2C_STAT_ARDY | OMAP_I2C_STAT_NACK | OMAP_I2C_STAT_AL)) ...

The patch restore pre 1d7afc9 logic of handling NACK and AL interrupts, so
no interrupts is fired after ISR informs the rest of driver what transfer
complete.

Note: instead of removing break under NACK case, we could just replace 'break'
with 'continue' and allow NACK transfer to finish using ARDY event. I found
that NACK and ARDY bits usually set together. That case confirm TI wiki:
http://processors.wiki.ti.com/index.php/I2C_Tips#Detecting_and_handling_NACK

In order if someone interested in the event traces for NACK and AL cases,
I sent them to mailing list.

Tested on Beagleboard XM C.

Signed-off-by: Alexander Kochetkov <al.kochet@gmail.com>
Fixes: 1d7afc9 i2c: omap: ack IRQ in parts
Cc: <stable@vger.kernel.org> # v3.7+
Acked-by: Felipe Balbi <balbi@ti.com>
Tested-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-11-21 08:06:31 +01:00