linux-drm-fsl-dcu.git
9 years agoMerge tag 'samsung-exynos-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Fri, 28 Nov 2014 12:18:59 +0000 (13:18 +0100)]
Merge tag 'samsung-exynos-v3.19' of git://git./linux/kernel/git/kgene/linux-samsung into next/soc

Pull "Samsung exynos updates in arch/arm/mach-exynos/ for v3.19" from Kukjin Kim:

- add SOC_EXYNOS4415 config to be used in audio driver
- add support platform driver for exynos PMU
- move PMU specific definitions from common.h to exynos-pmu.h
- for exynos5420, add support PMU and Suspend-to-RAM
  use MCPM call backs and call regulator core suspend prepare
  and finish functions

NOTE:
including v3.19-next/non-critical-fixes, v3.19-next/cleanup-samsung
and v3.19-next/pm-samsung-2 branches

* tag 'samsung-exynos-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: EXYNOS: Call regulator core suspend prepare and finish functions
  ARM: EXYNOS: Use MCPM call-backs to support S2R on exynos5420
  ARM: EXYNOS: Add Suspend-to-RAM support for exynos5420
  ARM: EXYNOS: Add PMU support for exynos5420
  ARM: EXYNOS: Move PMU specific definitions from common.h
  ARM: EXYNOS: Add platform driver support for Exynos PMU
  ARM: EXYNOS: Add support for exynos4415 SoC
  ARM: EXYNOS: fix typo in static struct name "exynos5_list_diable_wfi_wfe"
  ARM: EXYNOS: Fix CPU idle clock down after CPU off
  ARM: EXYNOS: Remove unneeded __ref annotation for cpu_die function
  ARM: EXYNOS: Move code from hotplug.c to platsmp.c

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
9 years agoARM: EXYNOS: Call regulator core suspend prepare and finish functions
Javier Martinez Canillas [Thu, 13 Nov 2014 02:14:40 +0000 (11:14 +0900)]
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>
9 years agoARM: EXYNOS: Use MCPM call-backs to support S2R on exynos5420
Abhilash Kesavan [Fri, 7 Nov 2014 00:20:16 +0000 (09:20 +0900)]
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>
9 years agoARM: EXYNOS: Add Suspend-to-RAM support for exynos5420
Vikas Sajjan [Fri, 7 Nov 2014 00:17:36 +0000 (09:17 +0900)]
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>
9 years agoARM: EXYNOS: Add PMU support for exynos5420
Abhilash Kesavan [Fri, 7 Nov 2014 00:27:33 +0000 (09:27 +0900)]
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>
9 years agoARM: EXYNOS: Move PMU specific definitions from common.h
Pankaj Dubey [Fri, 7 Nov 2014 00:26:47 +0000 (09:26 +0900)]
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>
9 years agoARM: EXYNOS: Add platform driver support for Exynos PMU
Pankaj Dubey [Fri, 7 Nov 2014 00:26:40 +0000 (09:26 +0900)]
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>
9 years agoARM: EXYNOS: Add support for exynos4415 SoC
Chanwoo Choi [Thu, 6 Nov 2014 23:20:09 +0000 (08:20 +0900)]
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>
9 years agoMerge branch 'v3.19-next/non-critical-fixes' into v3.19-next/mach-exynos
Kukjin Kim [Fri, 21 Nov 2014 13:49:27 +0000 (22:49 +0900)]
Merge branch 'v3.19-next/non-critical-fixes' into v3.19-next/mach-exynos

9 years agoMerge branch 'v3.19-next/cleanup-samsung' into v3.19-next/mach-exynos
Kukjin Kim [Fri, 21 Nov 2014 12:40:23 +0000 (21:40 +0900)]
Merge branch 'v3.19-next/cleanup-samsung' into v3.19-next/mach-exynos

9 years agoMerge tag 'renesas-soc4-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Fri, 21 Nov 2014 12:04:06 +0000 (13:04 +0100)]
Merge tag 'renesas-soc4-for-v3.19' of git://git./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>
9 years agoMerge tag 'berlin-soc-3.19-2' of git://git.infradead.org/users/hesselba/linux-berlin...
Arnd Bergmann [Fri, 21 Nov 2014 11:59:18 +0000 (12:59 +0100)]
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>
9 years agoARM: BCM5301X: fix early serial console
Hauke Mehrtens [Sun, 14 Sep 2014 19:43:40 +0000 (21:43 +0200)]
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>
9 years agoMerge tag 'sunxi-core-for-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Thu, 20 Nov 2014 16:23:57 +0000 (17:23 +0100)]
Merge tag 'sunxi-core-for-3.19' of git://git./linux/kernel/git/mripard/linux into next/soc

Pull "Allwinner Core Additions for 3.19" from Maxime Ripard:

This has mostly been about introducing A80 support

* tag 'sunxi-core-for-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
  ARM: sunxi: make sun6i SMP ops static
  ARM: sunxi: Select ARCH_HAS_RESET_CONTROLLER and RESET_CONTROLLER for sun9i
  Documentation: sunxi: Add A80 datasheet link
  devicetree: bindings: Document supported Allwinner sunxi SoCs
  ARM: sunxi: Introduce Allwinner A80 support
  devicetree: bindings: Add vendor prefix for Merrii Technology Co., Ltd.
  ARM: sunxi: Add debug uart used by sun9i (Allwinner A80)
  Documentation: sunxi: Update Allwinner SoC documentation (A31/A31s/A23)

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
9 years agoMerge tag 'v3.19-meson-soc' of https://github.com/carlocaione/linux-meson into next/soc
Arnd Bergmann [Thu, 20 Nov 2014 16:20:59 +0000 (17:20 +0100)]
Merge tag 'v3.19-meson-soc' of https://github.com/carlocaione/linux-meson into next/soc

Pull "ARM: meson: SOC related changes" from Carlo Caione:

This is the pull request for the SoC related changes for the 3.19.
The support for Meson8 is added together with L2 cache management.

* tag 'v3.19-meson-soc' of https://github.com/carlocaione/linux-meson:
  clocksource: meson6: Select CLKSRC_MMIO
  ARM: meson: enable L2 cache
  ARM: meson: document meson8 compatible properties
  ARM: meson: add meson8 support

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
9 years agoMerge tag 'v3.19-rockchip-soc2' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Thu, 20 Nov 2014 16:18:43 +0000 (17:18 +0100)]
Merge tag 'v3.19-rockchip-soc2' of git://git./linux/kernel/git/mmind/linux-rockchip into next/soc

Pull "code part of the rk3288 smp support" from Heiko Stübner:

here is the second batch of soc related changes, consisting only
of the smp support for rk3288.

Due to the slight misheap of the v3.18 cpuclk pull being merge, it is based
on exactly this merge commit from Olof to next/soc.

* tag 'v3.19-rockchip-soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: rockchip: add basic smp support for rk3288
  ARM: rockchip: add option to access the pmu via a phandle in smp_operations
  ARM: rockchip: convert to regmap and use pmu syscon if available

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
9 years agoMerge tag 'integrator-v3.19-arm-soc-2' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Thu, 20 Nov 2014 16:13:55 +0000 (17:13 +0100)]
Merge tag 'integrator-v3.19-arm-soc-2' of git://git./linux/kernel/git/linusw/linux-integrator into next/soc

Pull "ARM SoC Integrator updates for v3.19" from Linus Walleij:

Integrator updates for the v3.19 merge cycle on
top of the multiplatform patches, this moves out
some drivers and reduced the amount of code carried
in arch/arm/mach-integrator.

- Move the Integrator/AP timer to drivers/clocksource
- Move the restart functionality to the device tree,
  patches to enable restart for the Integrator have
  been merged to the reset tree (orthogonal)
- Move debug LEDs to device tree (using the syscon
  LED driver merged for v3.18)
- Move core module LEDs to device tree (using the
  syscon LED driver merged for v3.18)
- Move the SoC driver (chip ID etc) to
  drivers/soc/versatile/soc-integrator.c

* tag 'integrator-v3.19-arm-soc-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  soc: move SoC driver for the ARM Integrator
  ARM: integrator: move core module LED to device tree
  ARM: integrator: move debug LEDs to syscon LED driver
  ARM: integrator: move restart to the device tree
  ARM: integrator: move AP timer to clocksource

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
9 years agosocfpga: hotplug: put cpu1 in wfi
Alan Tull [Tue, 14 Oct 2014 19:33:38 +0000 (19:33 +0000)]
socfpga: hotplug: put cpu1 in wfi

Use WFI when putting CPU1 to sleep.  Don't hold CPU1 in reset
since that results in increased power consumption.

Reset CPU1 briefly during CPU1 bootup.

This has been tested for hotplug and suspend/resume and results
in no increased power consumption.

Signed-off-by: Alan Tull <atull@opensource.altera.com>
Acked-by: Pavel Machek <pavel@denx.de>
Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
9 years agoMerge tag 'v3.19-next-soc' of https://github.com/mbgg/linux-mediatek into next/soc
Arnd Bergmann [Thu, 20 Nov 2014 12:47:35 +0000 (13:47 +0100)]
Merge tag 'v3.19-next-soc' of https://github.com/mbgg/linux-mediatek into next/soc

Pull "Add earlyprintk to mt8127 and mt8135 and update Kconfig entry for
Mediatek SoCs" from Matthias Brugger:

Here comes the pull request which add earlyprintk support for mt8127 and mt8135.
Apart from that the Kconfig entry for the Mediatek architecture was fixed.

* tag 'v3.19-next-soc' of https://github.com/mbgg/linux-mediatek:
  ARM: mediatek: Fix description for mediatek SoCs
  ARM: mediatek: Add earlyprintk support for mt8127 & mt8135

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
9 years agoMerge tag 'arm-soc/for-3.19/cygnus-defconfig-v2' of http://github.com/brcm/linux...
Arnd Bergmann [Thu, 20 Nov 2014 12:06:30 +0000 (13:06 +0100)]
Merge tag 'arm-soc/for-3.19/cygnus-defconfig-v2' of github.com/brcm/linux into next/soc

Pull "Broadcom Cygnus SoC defconfig" from Florian Fainelli:

This pull requests removes one level in menuconfig for the BCM SoCs for the
bcm_defconfig file.

* tag 'arm-soc/for-3.19/cygnus-defconfig-v2' of http://github.com/brcm/linux:
  ARM: bcm_defconfig: remove one level of menu from Kconfig

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
9 years agoMerge tag 'arm-soc/for-3.19/cygnus-platform-v2' of http://github.com/brcm/linux into...
Arnd Bergmann [Thu, 20 Nov 2014 12:05:39 +0000 (13:05 +0100)]
Merge tag 'arm-soc/for-3.19/cygnus-platform-v2' of github.com/brcm/linux into next/soc

Pull "Broadcom Cygnus SoC platform support" from Florian Fainelli:

This pull request contains the platform code to support the Broadcom Cygnus SoC
using the iProc architecture:

- add support for the Broadcom Cygnus SoC
- consolidate the BCM5301X Kconfig options under the iProc menuconfig entry
- remove one level of menu in menuconfig

* tag 'arm-soc/for-3.19/cygnus-platform-v2' of http://github.com/brcm/linux:
  ARM: mach-bcm: ARCH_BCM_MOBILE: remove one level of menu from Kconfig
  ARM: mach-bcm: Consolidate currently supported IPROC SoCs
  ARM: cygnus: Initial support for Broadcom Cygnus SoC

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
9 years agoARM: debug: move StrongARM debug include to arch/arm/include/debug
Dmitry Eremin-Solenikov [Thu, 6 Nov 2014 07:20:23 +0000 (10:20 +0300)]
ARM: debug: move StrongARM debug include to arch/arm/include/debug

StrongARM debug-macro.S is quite standalone thing, depending only on
register mappings. Move it to proper place and add Kconfig entry.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
9 years agoMerge tag 'omap-for-v3.19/prcm-cleanup' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Thu, 20 Nov 2014 11:06:19 +0000 (12:06 +0100)]
Merge tag 'omap-for-v3.19/prcm-cleanup' of git://git./linux/kernel/git/tmlind/linux-omap into next/soc

Pull "omap prcm clean-up for v3.19" from Tony Lindgren:

Clean-up series for omap PRCM (Power Reset Clock Module) from
Tero Kristo to move things a bit closer to becoming a proper
device driver.

* tag 'omap-for-v3.19/prcm-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (26 commits)
  ARM: OMAP2+: PRM: provide generic API for system reset
  ARM: OMAP3+: PRM: add generic API for reconfiguring I/O chain
  ARM: OMAP4: PRM: make PRCM interrupt handler related functions static
  ARM: OMAP3: PRM: make PRCM interrupt handler related functions static
  ARM: OMAP4: PRM: make omap4_prm_read/write_inst_reg calls static
  ARM: AM33xx: PRM: make direct register access functions static
  ARM: AM33xx: PRM: move global warm reset implementation to driver
  ARM: OMAP4+: CM: remove omap4_cm1/cm2_* functions
  ARM: OMAP4: CM: make cminst direct register access functions static
  ARM: OMAP4: CM: move public definitions from cminst44xx.h to cm44xx.h
  ARM: OMAP2+: PRM: add generic API for checking hardreset status
  ARM: OMAP2+: PRM: add generic API for deasserting hardware reset
  ARM: OMAP2+: PRM: add generic API for asserting hardware reset
  ARM: AM33xx: PRM: add support for prm_init
  ARM: AM43xx: hwmod: use OMAP4 hardreset ops instead of the AM33xx version
  ARM: AM33xx: hwmod: remove am33xx specific module SoC opts
  ARM: OMAP2/3: CM: make cm_split_idlest_reg SoC calls static
  ARM: OMAP2+: CM: add common APIs for cm_module_enable/disable
  ARM: OMAP2+: CM: make clkdm_hwsup operations static
  ARM: OMAP4+/AM33xx: CM: add common API for cm_wait_module_idle
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
9 years agoMerge tag 'omap-for-v3.19/clocks-and-pm' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Thu, 20 Nov 2014 10:39:58 +0000 (11:39 +0100)]
Merge tag 'omap-for-v3.19/clocks-and-pm' of git://git./linux/kernel/git/tmlind/linux-omap into next/soc

Pull "omap soc changes for v3.19" from Tony Lindgren:

SoC related changes for omaps. Mostly to make PM easier to use for
omap4 and later, and to fix clock DPLL fixes by adding determine_rate
and set_rate_and_parent.

* tag 'omap-for-v3.19/clocks-and-pm' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: hwmod: drop unnecessary list initialization
  ARM: OMAP3+: DPLL: use determine_rate() and set_rate_and_parent()
  ARM: OMAP3: clock: add support for dpll4_set_rate_and_parent
  ARM: OMAP4: clock: add support for determine_rate for omap4 regm4xen DPLL
  ARM: OMAP3: clock: add new rate changing logic support for noncore DPLLs
  ARM: OMAP3: clock: use clk_features flags for omap3 DPLL4 checks
  ARM: OMAP4+: PM: Program CPU logic power state
  ARM: OMAP4+: PM: Centralize static dependency mapping table
  ARM: OMAP4: PM: Only do static dependency configuration in omap4_init_static_deps

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
9 years agoMerge tag 'pxa-for-3.19' of https://github.com/rjarzmik/linux into next/soc
Arnd Bergmann [Thu, 20 Nov 2014 09:15:38 +0000 (10:15 +0100)]
Merge tag 'pxa-for-3.19' of https://github.com/rjarzmik/linux into next/soc

Pull "arm: pxa: pxa for v3.19" from Robert Jarzmik:

This is a very quiet release, featuring a small cleanup, a tosa change
on its charger driver, and support for pxa device-tree based pxa27x
boards.

The device-tree part will only be fully activated once clocks support
is fully operation in the common clock framework.

* tag 'pxa-for-3.19' of https://github.com/rjarzmik/linux:
  arm: pxa: add pxa27x device-tree support
  arm: pxa: remove unnecessary includes from pxa-dt
  arm: pxa: move init functions into generic.h
  arm: pxa: add device-tree irq init for pxa27x
  ARM: pxa: tosa: switch to gpio-charger
  arm: mach-pxa: Convert pr_warning to pr_warn

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
9 years agoarm: pxa: add pxa27x device-tree support
Robert Jarzmik [Sun, 28 Sep 2014 12:13:21 +0000 (14:13 +0200)]
arm: pxa: add pxa27x device-tree support

Add a device-tree machine entry (DT_MACHINE_START)  for pxa27x based
platforms.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Acked-by: Arnd Bergmann <arnd@arndb.de>
9 years agoarm: pxa: remove unnecessary includes from pxa-dt
Robert Jarzmik [Sun, 28 Sep 2014 12:10:54 +0000 (14:10 +0200)]
arm: pxa: remove unnecessary includes from pxa-dt

As the init functions necessary for machine init have moved to
generic.h, remove the unnecessary includes and prototypes definitions
from pxa-dt.c.

This removes the include of mach/pxaXXX-regs.h, and make pxa-dt generic
enough to accept other pxa variants.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Acked-by: Arnd Bergmann <arnd@arndb.de>
9 years agoarm: pxa: move init functions into generic.h
Robert Jarzmik [Sun, 28 Sep 2014 11:59:41 +0000 (13:59 +0200)]
arm: pxa: move init functions into generic.h

In order to have a unique .c file for all pxa variants device-tree
definitions, all the initialization functions for MACHINE_START and
DT_MACHINE_START have been put together into generic.h.

The alternative would have been one pxaXXX-dt.c file per variant.

The move is necessary because each include/mach/pxaXXX.h includes the
variant register descriptions which intersects and conflicts one with
each other.

The change is a preparation for pxa-dt.c to support multiple pxa,
ie. pxa3xx and pxa27x.

The machine files including mach/pxaXXX.h all include generic.h, which
guarantees no regression should be introduced.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Acked-by: Arnd Bergmann <arnd@arndb.de>
9 years agoarm: pxa: add device-tree irq init for pxa27x
Robert Jarzmik [Sun, 28 Sep 2014 13:20:06 +0000 (15:20 +0200)]
arm: pxa: add device-tree irq init for pxa27x

Add the initializer for irqs in a device-tree machine on a pxa27x.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Acked-by: Arnd Bergmann <arnd@arndb.de>
9 years agoARM: pxa: tosa: switch to gpio-charger
Dmitry Eremin-Solenikov [Fri, 24 Oct 2014 17:14:22 +0000 (21:14 +0400)]
ARM: pxa: tosa: switch to gpio-charger

Switch to simpler gpio-charger module. PDA power requires additional
setup in platform file and is more suited for boards with separate AC
and USB charging inputs. Tosa has a unified input, so it's better suited
for gpio-charger.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
9 years agoarm: mach-pxa: Convert pr_warning to pr_warn
Joe Perches [Sat, 13 Sep 2014 18:31:18 +0000 (11:31 -0700)]
arm: mach-pxa: Convert pr_warning to pr_warn

Use the more common pr_warn.

Other miscellanea:

o Coalesce formats
o Realign arguments

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
9 years agoMerge tag 'renesas-boards-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Wed, 19 Nov 2014 22:01:50 +0000 (23:01 +0100)]
Merge tag 'renesas-boards-for-v3.19' of git://git./linux/kernel/git/horms/renesas into next/soc

Pull "Renesas ARM Based SoC Boards Updates for v3.19" from Simon Horman:

* Add restart callback to kzm9g

* tag 'renesas-boards-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: kzm9g-reference: Add restart callback

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
9 years agoMerge tag 'renesas-soc3-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Wed, 19 Nov 2014 21:11:03 +0000 (22:11 +0100)]
Merge tag 'renesas-soc3-for-v3.19' of git://git./linux/kernel/git/horms/renesas into next/soc

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

* Always build rcar setup for armv7
  - Fixes allmodconfig build fauilre caused by
    "ARM: shmobile: always build rcar setup for armv7"
* Add restart callback to sh73a0

* tag 'renesas-soc3-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: always build rcar setup for armv7
  ARM: shmobile: sh73a0: Add restart callback

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
9 years agoMerge tag 'renesas-soc2-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Wed, 19 Nov 2014 21:09:18 +0000 (22:09 +0100)]
Merge tag 'renesas-soc2-for-v3.19' of git://git./linux/kernel/git/horms/renesas into next/soc

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

* Enable PCI domains for R-Car Gen2 devices
* Make APMU resource code SoC-specific

* tag 'renesas-soc2-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Enable PCI domains for R-Car Gen2 devices
  ARM: shmobile: r8a7791: Correct number of CPU cores
  ARM: shmobile: Separate APMU resource data into CPU dependant part

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
9 years agoMerge tag 'renesas-soc-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Wed, 19 Nov 2014 21:02:48 +0000 (22:02 +0100)]
Merge tag 'renesas-soc-for-v3.19' of git://git./linux/kernel/git/horms/renesas into next/soc

Pull "Renesas ARM Based SoC Soc Updates for v3.19" from Simon Horman:

* Select CONFIG_ZONE_DMA when CONFIG_ARM_LPAE is enabled
* Add CA7 arch_timer initialization for r8a7794
* Handle CA7 arch timer delay
* Add shmobile_init_late() to sh7372
  - This is consistent with other shmobile SoCs

* tag 'renesas-soc-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Select CONFIG_ZONE_DMA when CONFIG_ARM_LPAE is enabled
  ARM: shmobile: rcar-gen2: Add CA7 arch_timer initialization for r8a7794
  ARM: shmobile: sh7372: Add shmobile_init_late()
  ARM: shmobile: Handle CA7 arch timer delay

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
9 years agoMerge tag 'renesas-runtime-pm-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Wed, 19 Nov 2014 21:01:24 +0000 (22:01 +0100)]
Merge tag 'renesas-runtime-pm-for-v3.19' of git://git./linux/kernel/git/horms/renesas into next/soc

Merge "Renesas ARM Based SoC Runtime PM Updates for v3.19"

* 8a7740/armadillo800eva legacy PM domain support

* tag 'renesas-runtime-pm-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: r8a7740: Add A3SM pm domain support
  ARM: shmobile: r8a7740: Add A4SU pm domain support
  ARM: shmobile: r8a7740/armadillo legacy: Add A4R pm domain support
  ARM: shmobile: r8a7740: Add D4 pm domain support
  ARM: shmobile: r8a7740/armadillo legacy: Add A4MP pm domain support
  ARM: shmobile: r8a7740: Add A3SG pm domain support
  ARM: shmobile: r8a7740: Add A3RV pm domain support
  ARM: shmobile: armadillo800eva legacy: Add missing A4S pm domain devices
  ARM: shmobile: armadillo800eva legacy: Add missing A3SP pm domain devices
  ARM: shmobile: r8a7740: Add missing A4S pm domain devices
  ARM: shmobile: r8a7740: Add missing A3SP pm domain devices

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
9 years agoARM: berlin: do not select RESET_CONTROLLER
Antoine Tenart [Mon, 17 Nov 2014 13:33:12 +0000 (14:33 +0100)]
ARM: berlin: do not select RESET_CONTROLLER

RESET_CONTROLLER is meant to be user-selectable. To respect that,
do not select it automatically when using ARCH_BERLIN.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
9 years agoclocksource: meson6: Select CLKSRC_MMIO
Beniamino Galvani [Tue, 18 Nov 2014 15:41:20 +0000 (16:41 +0100)]
clocksource: meson6: Select CLKSRC_MMIO

Select CLKSRC_MMIO when the meson6_timer driver is enabled since it
depends on clocksource MMIO functions.

Signed-off-by: Beniamino Galvani <b.galvani@gmail.com>
Signed-off-by: Carlo Caione <carlo@caione.org>
9 years agoARM: meson: enable L2 cache
Beniamino Galvani [Tue, 18 Nov 2014 14:25:41 +0000 (15:25 +0100)]
ARM: meson: enable L2 cache

This enables the L2 cache controller available in Amlogic SoCs.

Signed-off-by: Beniamino Galvani <b.galvani@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Carlo Caione <carlo@caione.org>
9 years agoARM: meson: document meson8 compatible properties
Beniamino Galvani [Sun, 5 Oct 2014 21:59:18 +0000 (23:59 +0200)]
ARM: meson: document meson8 compatible properties

Add device tree bindings documentation for Amlogic Meson8 SoCs.

Signed-off-by: Beniamino Galvani <b.galvani@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Carlo Caione <carlo@caione.org>
9 years agoARM: meson: add meson8 support
Beniamino Galvani [Sun, 5 Oct 2014 21:59:13 +0000 (23:59 +0200)]
ARM: meson: add meson8 support

Add a MACH_MESON8 symbol and add "amlogic,meson8" to the list of
compatible strings for the Meson DT machine to support devices based
on the Meson8 family of SoCs.

Signed-off-by: Beniamino Galvani <b.galvani@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Carlo Caione <carlo@caione.org>
9 years agoARM: shmobile: Add early debugging support using SCIF(A)
Geert Uytterhoeven [Fri, 14 Nov 2014 15:49:47 +0000 (16:49 +0100)]
ARM: shmobile: Add early debugging support using SCIF(A)

Add serial port debug macros for the SCIF(A) serial ports.
This includes all supported shmobile SoCs, except for EMEV2.

The configuration logic (both Kconfig and #ifdef) is more complicated than
one would expect, for several reasons:
  1. Not all SoCs have the same serial devices, and they're not always
     at the same addresses.
  2. There are two different types: SCIF and SCIFA. Fortunately they can
     easily be distinguished by physical address.
  3. Not all boards use the same serial port for the console.
     The defaults correspond to the boards that are supported in
     mainline. If you want to use a different serial port, just change
     the value of CONFIG_DEBUG_UART_PHYS, and the rest will auto-adapt.
  4. debug_ll_io_init() maps the SCIF(A) registers to a fixed virtual
     address. 0xfdxxxxxx was chosen, as it should lie below VMALLOC_END
     = 0xff000000, and must not conflict with the 2 MiB reserved region
     at PCI_IO_VIRT_BASE = 0xfee00000.
       - On SoCs not using the legacy machine_desc.map_io(),
 debug_ll_io_init() is called by the ARM core code.
       - On SoCs using the legacy machine_desc.map_io(),
 debug_ll_io_init() must be called explicitly. Calls are added
 for r8a7740, r8a7779, sh7372, and sh73a0.

This was derived from the r8a7790 version by Laurent Pinchart.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Tested-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: sunxi: make sun6i SMP ops static
Emilio López [Sat, 15 Nov 2014 23:53:38 +0000 (20:53 -0300)]
ARM: sunxi: make sun6i SMP ops static

The sun6i SMP ops are currently not marked as static, as reported by
sparse. Let's mark it as such.

Signed-off-by: Emilio López <emilio@elopez.com.ar>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
9 years agoMerge tag 'for-v3.19/omap-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw...
Tony Lindgren [Fri, 14 Nov 2014 18:25:12 +0000 (10:25 -0800)]
Merge tag 'for-v3.19/omap-a' of git://git./linux/kernel/git/pjw/omap-pending into omap-for-v3.19/soc

Some OMAP clock/hwmod patches for v3.19.

Most of the patches are clock-related.  The DPLL implementation is
changed to better align to the common clock framework.
There is also a patch that removes a few lines from the hwmod code -
this patch should have no functional effect.

Basic build, boot, and PM test logs for these patches can be found here:

http://www.pwsan.com/omap/testlogs/omap-a-for-v3.19/20141113094101/

9 years agoARM: mediatek: Fix description for mediatek SoCs
Joe.C [Tue, 4 Nov 2014 07:30:55 +0000 (15:30 +0800)]
ARM: mediatek: Fix description for mediatek SoCs

We support more MediaTek SoCs now, update the description.

Signed-off-by: Joe.C <yingjoe.chen@mediatek.com>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
9 years agoARM: mediatek: Add earlyprintk support for mt8127 & mt8135
Joe.C [Tue, 4 Nov 2014 07:30:54 +0000 (15:30 +0800)]
ARM: mediatek: Add earlyprintk support for mt8127 & mt8135

Enable low-level debug for Mediatek mt8127 & mt8135 SoC.

Signed-off-by: Joe.C <yingjoe.chen@mediatek.com>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
9 years agoARM: OMAP2+: hwmod: drop unnecessary list initialization
Felipe Balbi [Thu, 13 Nov 2014 16:36:55 +0000 (09:36 -0700)]
ARM: OMAP2+: hwmod: drop unnecessary list initialization

ml->node and sl->node are currently initialized
by means of INIT_LIST_HEAD(). That initialiation
is followed by a list_add() call.

Looking at what both these functions do we will have:

ml->node.next = &ml->node;
ml->node.prev = &ml->node;
oi->master->master_ports.next.prev = &ml->node;
ml->node.next = &oi->master->master_ports.next;
ml->node.prev = &oi->master->master_ports;
oi->master->master_ports.next = &ml->node;

from this, it's clear that both INIT_LIST_HEAD() calls
are unnecessary and can be safely removed.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
9 years agoARM: OMAP3+: DPLL: use determine_rate() and set_rate_and_parent()
Tero Kristo [Fri, 3 Oct 2014 13:57:14 +0000 (16:57 +0300)]
ARM: OMAP3+: DPLL: use determine_rate() and set_rate_and_parent()

Currently, DPLLs are hiding the gory details of switching parent
within set_rate, which confuses the common clock code and is wrong.
Fixed by applying the new determine_rate() and set_rate_and_parent()
functionality to any clock-ops previously using the broken approach.
This patch also removes the broken legacy code.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
9 years agoARM: OMAP3: clock: add support for dpll4_set_rate_and_parent
Tero Kristo [Fri, 3 Oct 2014 13:57:13 +0000 (16:57 +0300)]
ARM: OMAP3: clock: add support for dpll4_set_rate_and_parent

Expand the support of omap4 per-dpll to provide set_rate_and_parent.
This is required for proper behavior of clk_change_rate with
determine_rate support.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
9 years agoARM: OMAP4: clock: add support for determine_rate for omap4 regm4xen DPLL
Tero Kristo [Fri, 3 Oct 2014 13:57:12 +0000 (16:57 +0300)]
ARM: OMAP4: clock: add support for determine_rate for omap4 regm4xen DPLL

Similarly to OMAP3 noncore DPLL, the implementation of this DPLL clock
type is wrong. This patch adds basic functionality for determine_rate
for this clock type which will be taken into use in the patches following
later.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
9 years agoARM: OMAP3: clock: add new rate changing logic support for noncore DPLLs
Tero Kristo [Fri, 3 Oct 2014 13:57:11 +0000 (16:57 +0300)]
ARM: OMAP3: clock: add new rate changing logic support for noncore DPLLs

Currently, DPLL code hides the re-parenting within its internals, which
is wrong. This needs to be exposed to the common clock code via
determine_rate and set_rate_and_parent APIs. This patch adds support
for these, which will be taken into use in the following patches.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
9 years agoARM: OMAP3: clock: use clk_features flags for omap3 DPLL4 checks
Tero Kristo [Fri, 3 Oct 2014 13:57:10 +0000 (16:57 +0300)]
ARM: OMAP3: clock: use clk_features flags for omap3 DPLL4 checks

DPLL4 can't be reprogrammed on OMAP3430 ES1.0 due to hardware limitation.
Currently, the code does runtime omap_rev() check to see the chip it is
being executed on, instead, change this to use clk_features flags.
This avoids need for runtime omap_rev() checks.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
9 years agosoc: move SoC driver for the ARM Integrator
Linus Walleij [Fri, 24 Oct 2014 10:51:20 +0000 (12:51 +0200)]
soc: move SoC driver for the ARM Integrator

This creates a new SoC bus driver for the ARM Integrator
family core modules to register the SoC bus and provide
sysfs info for the core module. We delete the corresponding
code from the Integrator machine and select this driver to
get a clean result.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
9 years agoARM: integrator: move core module LED to device tree
Linus Walleij [Wed, 22 Oct 2014 08:05:44 +0000 (10:05 +0200)]
ARM: integrator: move core module LED to device tree

This gets rid of the custom LED driver in the Integrator directory
altogether and switches us over to using the syscon LEDs for this.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
9 years agoARM: integrator: move debug LEDs to syscon LED driver
Linus Walleij [Wed, 15 Oct 2014 15:33:13 +0000 (17:33 +0200)]
ARM: integrator: move debug LEDs to syscon LED driver

The Integrator debug block is a simple set of registers, make
it a syscon and register the four LEDs on the Integrator/AP
baseboard as syscon LEDs.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
9 years agoARM: integrator: move restart to the device tree
Linus Walleij [Fri, 17 Oct 2014 14:18:59 +0000 (16:18 +0200)]
ARM: integrator: move restart to the device tree

Using the augmented reset driver for the Versatile family,
we can move the reset handling for the Integrator out of the
machine. We add a "syscon" attribute to the core module, and
access the syscon registers using this handle. We need to
select SYSCON, POWER, POWER_RESET and POWER_RESET_VERSATILE
in order for the restart functionality to always be
available on all systems (it should not be optional).

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
9 years agoARM: shmobile: always build rcar setup for armv7
Arnd Bergmann [Tue, 11 Nov 2014 15:36:50 +0000 (16:36 +0100)]
ARM: shmobile: always build rcar setup for armv7

In a combined ARMv6/v7 kernel, the setup-rcar-gen2.c cannot
currently be compiled correctly because it uses the isb
instruction that is not available on ARMv6. Adding the
-march=armv7-a flag lets the compiler know that it is safe
to build this file for ARMv7.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: bcm_defconfig: remove one level of menu from Kconfig
Scott Branden [Wed, 22 Oct 2014 16:52:13 +0000 (09:52 -0700)]
ARM: bcm_defconfig: remove one level of menu from Kconfig

remove menu "Broadcom Mobile SoC Selection"
This requires:
- selecting ARCH_BCM_MOBILE based on SoC selections
- fixup bcm_defconfig to work with new menu levels.
- multi_v7_defconfig in another patch for merge purposes as per
Olof Johansson's request

Signed-off-by: Scott Branden <sbranden@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
9 years agoARM: mach-bcm: ARCH_BCM_MOBILE: remove one level of menu from Kconfig
Scott Branden [Wed, 22 Oct 2014 16:52:13 +0000 (09:52 -0700)]
ARM: mach-bcm: ARCH_BCM_MOBILE: remove one level of menu from Kconfig

remove menu "Broadcom Mobile SoC Selection"
This requires:
- selecting ARCH_BCM_MOBILE based on SoC selections
- fixup bcm_defconfig and multi_v7_defconfig to work with new menu levels.

Signed-off-by: Scott Branden <sbranden@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
9 years agoARM: mach-bcm: Consolidate currently supported IPROC SoCs
Scott Branden [Wed, 22 Oct 2014 01:51:33 +0000 (18:51 -0700)]
ARM: mach-bcm: Consolidate currently supported IPROC SoCs

Move ARCH_BCM_5301X subarch under ARCH_IPROC architecture.
Additional IPROC chipsets that share a lot of commonality should be
added under ARCH_IPROC as well.

Signed-off-by: Scott Branden <sbranden@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
9 years agoARM: cygnus: Initial support for Broadcom Cygnus SoC
Jonathan Richardson [Fri, 15 Aug 2014 19:52:00 +0000 (12:52 -0700)]
ARM: cygnus: Initial support for Broadcom Cygnus SoC

Adds initial support for the Cygnus SoC based on Broadcom’s iProc series.

Reviewed-by: Ray Jui <rjui@broadcom.com>
Reviewed-by: Desmond Liu <desmondl@broadcom.com>
Reviewed-by: JD (Jiandong) Zheng <jdzheng@broadcom.com>
Tested-by: Jonathan Richardson <jonathar@broadcom.com>
Signed-off-by: Scott Branden <sbranden@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
9 years agoARM: shmobile: sh73a0: Add restart callback
Geert Uytterhoeven [Fri, 7 Nov 2014 13:46:33 +0000 (14:46 +0100)]
ARM: shmobile: sh73a0: Add restart callback

Port the sh73a0 restart handling from the kzm9g-legacy board code to the
generic sh73a0 code.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: fix multiplatform allmodcompile
Linus Walleij [Mon, 10 Nov 2014 17:52:31 +0000 (18:52 +0100)]
ARM: fix multiplatform allmodcompile

Commit 68f3b875f7848f5304472184a4634148c5330cbd
"ARM: integrator: make the Integrator multiplatform"
broke allmodconfig like this:

>> arch/arm/include/asm/cmpxchg.h:114:2: error: #error
"SMP is not supported on this platform"
(etc)

This is due to the fact that as we turned on multiplatform
for the Integrator, this enabled a lot of non-applicable
CPU's to be selected for its multiplatform images, due to
a lot of "depends on ARCH_INTEGRATOR" restrictions in
arch/arm/mm/Kconfig for the different ARM CPU types.

Fix this by restricting the CPU selections to respective
multiplatform config, which now becomes a subset of the
possible Integrator configurations, or alternatively the
non-multiplatform config plus ARCH_INTEGRATOR, i.e.:

if (!ARCH_MULTIPLATFORM || ARCH_MULTI_Vx) &&
   (ARCH_INTEGRATOR || ARCH_FOO ...)

Since the Integrator has been converted to multiplatform,
this will often take the short form:

if (ARCH_MULTI_Vx && ARCH_INTEGRATOR)

If no other non-multiplatform platforms are elegible.

Reported-by: Build bot for Mark Brown <broonie@kernel.org>
Reported-by: Kbuild test robot <fengguang.wu@intel.com>
Suggested-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
9 years agoARM: OMAP4+: PM: Program CPU logic power state
Nishanth Menon [Tue, 21 Oct 2014 20:24:36 +0000 (15:24 -0500)]
ARM: OMAP4+: PM: Program CPU logic power state

CPU logic power state is never programmed in either the initialization
or the suspend/resume logic, instead, we depend on mpuss to program this
properly. However, this leaves CPU logic power state indeterminate and
most probably in reset configuration (If bootloader or other similar
software have'nt monkeyed with the register). This can make powerstate=
RET be either programmed for CSWR (logic=ret) or OSWR(logic = OFF) and
in OSWR, there can be context loss when the code does not expect it.

To prevent all these confusions, just support clearly ON, INA, CSWR,
OFF which is the intent of the existing code by explicitly programming
logic state.

NOTE: since this is a hot path (using in cpuidle), the exit path just
programs powerstate (logic state is immaterial when powerstate is ON).

Without doing this, we end up with lockups when CPUs enter OSWR and
multiple blocks loose context, when we expect them to hit CSWR.

Signed-off-by: Nishanth Menon <nm@ti.com>
Acked-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
9 years agoARM: OMAP4+: PM: Centralize static dependency mapping table
Nishanth Menon [Tue, 21 Oct 2014 20:22:29 +0000 (15:22 -0500)]
ARM: OMAP4+: PM: Centralize static dependency mapping table

As we add more static dependency mapping for various errata, the logic
gets clunkier. Since it is a simple lookup and map logic, centralize the
same and provide the mapping as  a simple list.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
9 years agoARM: OMAP4: PM: Only do static dependency configuration in omap4_init_static_deps
Nishanth Menon [Tue, 21 Oct 2014 20:22:28 +0000 (15:22 -0500)]
ARM: OMAP4: PM: Only do static dependency configuration in omap4_init_static_deps

Commit 705814b5ea6f ("ARM: OMAP4+: PM: Consolidate OMAP4 PM code to
re-use it for OMAP5")

Moved logic generic for OMAP5+ as part of the init routine by
introducing omap4_pm_init. However, the patch left the powerdomain
initial setup, an unused omap4430 es1.0 check and a spurious log
"Power Management for TI OMAP4." in the original code.

Remove the duplicate code which is already present in omap4_pm_init from
omap4_init_static_deps.

As part of this change, also move the u-boot version print out of the
static dependency function to the omap4_pm_init function.

Fixes: 705814b5ea6f ("ARM: OMAP4+: PM: Consolidate OMAP4 PM code to re-use it for OMAP5")
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
9 years agoARM: shmobile: kzm9g-reference: Add restart callback
Geert Uytterhoeven [Fri, 7 Nov 2014 13:46:32 +0000 (14:46 +0100)]
ARM: shmobile: kzm9g-reference: Add restart callback

Port the sh73a0 restart handling from the kzm9g-legacy board code to the
kzm9g-reference board code.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoMerge tag 'ux500-core-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git...
Olof Johansson [Sun, 9 Nov 2014 00:51:39 +0000 (16:51 -0800)]
Merge tag 'ux500-core-for-arm-soc' of git://git./linux/kernel/git/linusw/linux-stericsson into next/soc

Merge "Ux500 core changes for v3.19" from Linus Walleij:

"please pull in these Ux500 core changes for this kernel development
cycle: mainly a generic power domain implementation from Ulf Hansson
that needs to get queued up in -next and tested."

Generic power domains for the Ux500

* tag 'ux500-core-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  ARM: ux500: Add i2c devices to the VAPE PM domain
  ARM: ux500: Add spi and ssp devices to the VAPE PM domain
  ARM: ux500: Add sdi devices to the VAPE PM domain
  ARM: ux500: Add DT node for ux500 PM domains
  ARM: ux500: Enable Kconfig for the generic PM domain
  ARM: ux500: Initial support for PM domains
  dt: bindings: ux500: Add header for PM domains specifiers
  dt: bindings: ux500: Add documentation for PM domains
  ARM: u300: Convert pr_warning to pr_warn

9 years agoMerge tag 'berlin-soc-3.19-1' of git://git.infradead.org/users/hesselba/linux-berlin...
Olof Johansson [Sun, 9 Nov 2014 00:46:36 +0000 (16:46 -0800)]
Merge tag 'berlin-soc-3.19-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/soc

Merge "ARM: berlin: SoC changes for v3.19 (round 1)" from Sebastian
Hesselbarth:

Berlin SoC changes for v3.19 (round 1)
- Select the reset driver for all SoCs

* tag 'berlin-soc-3.19-1' of git://git.infradead.org/users/hesselba/linux-berlin:
  ARM: Berlin: select the reset controller

Signed-off-by: Olof Johansson <olof@lixom.net>
9 years agoMerge branch 'v3.19-next/pm-samsung-2' of http://git.kernel.org/pub/scm/linux/kernel...
Olof Johansson [Sun, 9 Nov 2014 00:04:02 +0000 (16:04 -0800)]
Merge branch 'v3.19-next/pm-samsung-2' of git./linux/kernel/git/kgene/linux-samsung into next/soc

Merge "1st Round of Samsung PM updates for v3.19" from Kukjin Kim:

Samsung PM (v2) updates for v3.19

- added fix build with ARM_CPU_SUSPEND=n based on previous
  tags/samsung-pm

- Refactor the pm code to use DT based lookup instead of
  using "soc_is_exynosxxxx"

- Firmware supporting suspend and resume to excute of low
  level operations to enter and leave power mode for exynos
  : introduce suspend() and resume() firmware operations

- Fix AFTR mode on boards with secure firmware enabled and
  allows exynos cpuidle driver usage on exynos4x12 SoCs

- Fix build with PM_SLEEP=n and ARM_EXYNOS_CPUIDLE=y

- SWRESET is needed to boot secondary CPU on exynos3250

* 'v3.19-next/pm-samsung-2' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: EXYNOS: Fix build with ARM_CPU_SUSPEND=n
  ARM: EXYNOS: SWRESET is needed to boot secondary CPU on exynos3250
  ARM: EXYNOS: Fix build with PM_SLEEP=n and ARM_EXYNOS_CPUIDLE=y
  ARM: EXYNOS: allow driver usage on Exynos4x12 SoCs
  ARM: EXYNOS: fix register setup for AFTR mode code
  ARM: EXYNOS: add secure firmware support to AFTR mode code
  ARM: firmware: add AFTR mode support to firmware do_idle method
  ARM: EXYNOS: replace EXYNOS_BOOT_VECTOR_* macros by static inlines
  ARM: EXYNOS: Add support for firmware-assisted suspend/resume
  ARM: firmware: Introduce suspend and resume operations
  ARM: EXYNOS: Refactor the pm code to use DT based lookup
  ARM: EXYNOS: Move Disabling of JPEG USE_RETENTION for exynos5250 to pmu.c

Signed-off-by: Olof Johansson <olof@lixom.net>
9 years agoARM: EXYNOS: fix typo in static struct name "exynos5_list_diable_wfi_wfe"
Pankaj Dubey [Thu, 6 Nov 2014 23:30:33 +0000 (08:30 +0900)]
ARM: EXYNOS: fix typo in static struct name "exynos5_list_diable_wfi_wfe"

This patch fixes a typo in struct named as "exynos5_list_diable_wfi_wfe"
by making it "exynos5_list_disable_wfi_wfe" which is more meaningful.

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
9 years agoARM: rockchip: add basic smp support for rk3288
Kever Yang [Wed, 15 Oct 2014 17:23:03 +0000 (10:23 -0700)]
ARM: rockchip: add basic smp support for rk3288

This patch add basic rk3288 smp support.

Only cortex-A9 need invalid L1, A7/A12/A15/A17 should not invalid L1, since
for A7/A12/A15, the invalidation would be taken as clean and invalidate.

If you use the software manual invalidation instead of hardware invalidation
(assert l1/l2rstdisable during reset) after reset, there is tiny change that
some cachelines would be in dirty and valid state after reset(since the ram
content would be random value after reset), then the unexpected clean might
lead to system crash.

It is a known issue for the A12/A17 MPCore multiprocessor that the active
processors might be stalled when the individual processor is powered down,
we can avoid this prolbem by softreset the processor before power it down.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
9 years agoARM: rockchip: add option to access the pmu via a phandle in smp_operations
Heiko Stuebner [Wed, 15 Oct 2014 17:23:01 +0000 (10:23 -0700)]
ARM: rockchip: add option to access the pmu via a phandle in smp_operations

Makes it possible to define a rockchip,pmu phandle in the cpus node directly
referencing the pmu syscon instead of searching for specific compatible.

The old way of finding the pmu stays of course available.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
9 years agoARM: rockchip: convert to regmap and use pmu syscon if available
Heiko Stuebner [Wed, 15 Oct 2014 17:23:00 +0000 (10:23 -0700)]
ARM: rockchip: convert to regmap and use pmu syscon if available

The pmu register space is - like the GRF - shared by quite some peripherals.
On the rk3188 and rk3288 even parts of the pinctrl are living there.
Therefore we normally shouldn't map it a second time when the syscon
does this already.

Therefore convert the cpu power-domain handling to access the pmu via a
regmap and at first try to get it via the syscon interface.
Getting this syscon will only fail if the pmu node does not have the
"syscon" compatible and thus does not get shared with other drivers.

In this case we map it like before and create the necessary regmap on
top of it.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
9 years agoARM: shmobile: Enable PCI domains for R-Car Gen2 devices
Phil Edworthy [Tue, 4 Nov 2014 17:38:28 +0000 (17:38 +0000)]
ARM: shmobile: Enable PCI domains for R-Car Gen2 devices

The PCI core will soon automatically handle the PCI domain number,
allowing the internal PCI and external PCIe bridges work at the same time.
In order for that to work, we need to enable PCI_DOMAINS.

Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoMerge tag 'integrator-multiplatform-for-arm-soc' of git://git.kernel.org/pub/scm...
Olof Johansson [Tue, 4 Nov 2014 06:31:45 +0000 (22:31 -0800)]
Merge tag 'integrator-multiplatform-for-arm-soc' of git://git./linux/kernel/git/linusw/linux-integrator into next/soc

Merge "Integrator multiplatform migration for v3.19" from Linus Walleij:

Multiplatform migration of the Integrator.

* tag 'integrator-multiplatform-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: integrator: set V4T and V5 as default multitargets
  ARM: integrator: make the Integrator multiplatform

Signed-off-by: Olof Johansson <olof@lixom.net>
9 years agoMerge tag 'brcmstb-smp-uart-for-3.19' of http://github.com/brcm/linux into next/soc
Olof Johansson [Tue, 4 Nov 2014 06:19:21 +0000 (22:19 -0800)]
Merge tag 'brcmstb-smp-uart-for-3.19' of github.com/brcm/linux into next/soc

Merge "ARM: brcmstb: SMP, Kconfig, earlyprintk and GISB fixes" from Florian
Fainelli:

This pull request contains 3 changes for the brcmstb platform and 2 changes
to the GISB bus arbiter driver

- fist patch adds earlyprintk to brcmstb platforms using the existing 8250
  infrastructure

- second patch re-introduces SMP support after fixing the problems we had in
  the initial implementation, for this patch to apply cleanly, I had to advance
  up to "ARM: brcmstb: revert SMP support"

- third patch is dropping unused Kconfig dependencies

- fourth patch registers the ARM fault code for external aborts that the GISB
  bus arbiter driver is designed to assit

- fifth patch does save/restore the GISB arbiter timeout across S3
  suspend/resume cycles

Thanks!

* tag 'brcmstb-smp-uart-for-3.19' of http://github.com/brcm/linux:
  bus: brcmstb_gisb: save and restore GISB timeout
  bus: brcmstb_gisb: register the fault code hook
  ARM: brcmstb: Kconfig: drop unneeded symbol selections
  ARM: brcmstb: reintroduce SMP support
  ARM: brcmstb: add debug UART for earlyprintk support

Signed-off-by: Olof Johansson <olof@lixom.net>
9 years agoMerge tag 'v3.18-rockchip-cpufreqdev-v2' of git://git.kernel.org/pub/scm/linux/kernel...
Olof Johansson [Tue, 4 Nov 2014 04:49:01 +0000 (20:49 -0800)]
Merge tag 'v3.18-rockchip-cpufreqdev-v2' of git://git./linux/kernel/git/mmind/linux-rockchip into next/soc

Merge "ARM: rockchip: cpufreq-cpu0 device" from Heiko Stubner:

Add cpufreq-dt platform device for cpu frequency scaling.

* tag 'v3.18-rockchip-cpufreqdev-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: rockchip: honor renaming of cpufreq-cpu0 to cpufreq-dt
  ARM: rockchip: add a cpufreq-cpu0 device

Signed-off-by: Olof Johansson <olof@lixom.net>
9 years agoARM: shmobile: r8a7791: Correct number of CPU cores
Hisashi Nakamura [Fri, 24 Oct 2014 08:33:09 +0000 (17:33 +0900)]
ARM: shmobile: r8a7791: Correct number of CPU cores

The r8a7791 only has 2 CPU CA15 cores, not 4 CA15 and 4  CA7 cores.

Signed-off-by: Hisashi Nakamura <hisashi.nakamura.ak@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Separate APMU resource data into CPU dependant part
Hisashi Nakamura [Fri, 24 Oct 2014 08:33:08 +0000 (17:33 +0900)]
ARM: shmobile: Separate APMU resource data into CPU dependant part

APMU resources are not common to all R-Car SoCs so don't share this data.
A subsequent patch will correct the CPU cores for the r8a7791.

Signed-off-by: Hisashi Nakamura <hisashi.nakamura.ak@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoLinux 3.18-rc3
Linus Torvalds [Sun, 2 Nov 2014 23:01:51 +0000 (15:01 -0800)]
Linux 3.18-rc3

9 years agoMerge tag 'for-linus-20141102' of git://git.infradead.org/linux-mtd
Linus Torvalds [Sun, 2 Nov 2014 22:45:52 +0000 (14:45 -0800)]
Merge tag 'for-linus-20141102' of git://git.infradead.org/linux-mtd

Pull MTD fixes from Brian Norris:
 "Three main MTD fixes for 3.18:

   - A regression from 3.16 which was noticed in 3.17.  With the
     restructuring of the m25p80.c driver and the SPI NOR library
     framework, we omitted proper listing of the SPI device IDs.  This
     means m25p80.c wouldn't auto-load (modprobe) properly when built as
     a module.  For now, we duplicate the device IDs into both modules.

   - The OMAP / ELM modules were depending on an implicit link ordering.
     Use deferred probing so that the new link order (in 3.18-rc) can
     still allow for successful probing.

   - Fix suspend/resume support for LH28F640BF NOR flash"

* tag 'for-linus-20141102' of git://git.infradead.org/linux-mtd:
  mtd: cfi_cmdset_0001.c: fix resume for LH28F640BF chips
  mtd: omap: fix mtd devices not showing up
  mtd: m25p80,spi-nor: Fix module aliases for m25p80
  mtd: spi-nor: make spi_nor_scan() take a chip type name, not spi_device_id
  mtd: m25p80: get rid of spi_get_device_id

9 years agoMerge tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb...
Linus Torvalds [Sun, 2 Nov 2014 22:39:35 +0000 (14:39 -0800)]
Merge tag 'scsi-for-linus' of git://git./linux/kernel/git/jejb/scsi

Pull SCSI fixes from James Bottomley:
 "This is a set of six patches consisting of:
   - two MAINTAINER updates
   - two scsi-mq fixs for the old parallel interface (not every request
     is tagged and we need to set the right flags to populate the SPI
     tag message)
   - a fix for a memory leak in scatterlist traversal caused by a
     preallocation update in 3.17
   - an ipv6 fix for cxgbi"

[ The scatterlist fix also came in separately through the block layer tree ]

* tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
  MAINTAINERS: ufs - remove self
  MAINTAINERS: change hpsa and cciss maintainer
  libcxgbi : support ipv6 address host_param
  scsi: set REQ_QUEUE for the blk-mq case
  Revert "block: all blk-mq requests are tagged"
  lib/scatterlist: fix memory leak with scsi-mq

9 years agoMerge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
Linus Torvalds [Sun, 2 Nov 2014 22:27:30 +0000 (14:27 -0800)]
Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux

Pull drm fixes from Dave Airlie:
 "Nothing too astounding or major: radeon, i915, vmwgfx, armada and
  exynos.

  Biggest ones:
   - vmwgfx has one big locking regression fix
   - i915 has come displayport fixes
   - radeon has some stability and a memory alloc failure
   - armada and exynos have some vblank fixes"

* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (24 commits)
  drm/exynos: correct connector->dpms field before resuming
  drm/exynos: enable vblank after DPMS on
  drm/exynos: init kms poll at the end of initialization
  drm/exynos: propagate plane initialization errors
  drm/exynos: vidi: fix build warning
  drm/exynos: remove explicit encoder/connector de-initialization
  drm/exynos: init vblank with real number of crtcs
  drm/vmwgfx: Filter out modes those cannot be supported by the current VRAM size.
  drm/vmwgfx: Fix hash key computation
  drm/vmwgfx: fix lock breakage
  drm/i915/dp: only use training pattern 3 on platforms that support it
  drm/radeon: remove some buggy dead code
  drm/i915: Ignore VBT backlight check on Macbook 2, 1
  drm/radeon: remove invalid pci id
  drm/radeon: dpm fixes for asrock systems
  radeon: clean up coding style differences in radeon_get_bios()
  drm/radeon: Use drm_malloc_ab instead of kmalloc_array
  drm/radeon/dpm: disable ulv support on SI
  drm/i915: Fix GMBUSFREQ on vlv/chv
  drm/i915: Ignore long hpds on eDP ports
  ...

9 years agoMerge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
Linus Torvalds [Sun, 2 Nov 2014 20:56:20 +0000 (12:56 -0800)]
Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm

Pull ARM fixes from Russell King:
 - add the new bpf syscall to ARM.
 - drop a redundant return statement in __iommu_alloc_remap()
 - fix a performance issue noticed by Thomas Petazzoni with
   kmap_atomic().
 - fix an issue with the L2 cache OF parsing code which caused it to
   incorrectly print warnings on each boot, and make the warning text
   more consistent with the rest of the code

* 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
  ARM: 8180/1: mm: implement no-highmem fast path in kmap_atomic_pfn()
  ARM: 8183/1: l2c: Improve l2c310_of_parse() error message
  ARM: 8181/1: Drop extra return statement
  ARM: 8182/1: l2c: Make l2x0_cache_size_of_parse() return 'int'
  ARM: enable bpf syscall

9 years agoMerge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Linus Torvalds [Sun, 2 Nov 2014 20:31:02 +0000 (12:31 -0800)]
Merge tag 'for-linus' of git://git./virt/kvm/kvm

Pull kvm fixes from Paolo Bonzini:
 "A small set of x86 fixes.  The most serious is an SRCU lockdep fix.

  A bit late - needed some time to test the SRCU fix, which only came in
  on Friday"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
  KVM: vmx: defer load of APIC access page address during reset
  KVM: nVMX: Disable preemption while reading from shadow VMCS
  KVM: x86: Fix far-jump to non-canonical check
  KVM: emulator: fix execution close to the segment limit
  KVM: emulator: fix error code for __linearize

9 years agoMerge branch 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git...
Dave Airlie [Sun, 2 Nov 2014 19:23:17 +0000 (05:23 +1000)]
Merge branch 'exynos-drm-fixes' of git://git./linux/kernel/git/daeinki/drm-exynos into drm-fixes

This pull-request includes some bug fixes and code cleanups.
Especially, this fixes the bind failure issue occurred when it tries
to re-bind Exynos drm driver after unbound, and the modetest failure
issue incurred by not having a pair to vblank on and off requests.

* 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos:
  drm/exynos: correct connector->dpms field before resuming
  drm/exynos: enable vblank after DPMS on
  drm/exynos: init kms poll at the end of initialization
  drm/exynos: propagate plane initialization errors
  drm/exynos: vidi: fix build warning
  drm/exynos: remove explicit encoder/connector de-initialization
  drm/exynos: init vblank with real number of crtcs

9 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Linus Torvalds [Sun, 2 Nov 2014 18:28:43 +0000 (10:28 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/viro/vfs

Pull VFS fixes from Al Viro:
 "A bunch of assorted fixes, most of them followups to overlayfs merge"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  ovl: initialize ->is_cursor
  Return short read or 0 at end of a raw device, not EIO
  isofs: don't bother with ->d_op for normal case
  isofs_cmp(): we'll never see a dentry for . or ..
  overlayfs: fix lockdep misannotation
  ovl: fix check for cursor
  overlayfs: barriers for opening upper-layer directory
  rcu: Provide counterpart to rcu_dereference() for non-RCU situations
  staging: android: logger: Fix log corruption regression

9 years agoirda: stop calling sk_prot->disconnect() on connection failure
Linus Torvalds [Sun, 2 Nov 2014 18:20:26 +0000 (10:20 -0800)]
irda: stop calling sk_prot->disconnect() on connection failure

The sk_prot is irda's own set of protocol handlers, so irda should
statically know what that function is anyway, without using an indirect
pointer.  And as it happens, we know *exactly* what that pointer is
statically: it's NULL, because irda doesn't define a disconnect
operation.

So calling that function is doubly wrong, and will just cause an oops.

Reported-by: Martin Lang <mlg.hessigheim@gmail.com>
Cc: Samuel Ortiz <samuel@sortiz.org>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
9 years agodrm/exynos: correct connector->dpms field before resuming
Andrzej Hajda [Fri, 10 Oct 2014 12:31:56 +0000 (14:31 +0200)]
drm/exynos: correct connector->dpms field before resuming

During system suspend after connector switch off its dpms field
is set to connector previous dpms state. To properly resume dpms field
should be set to its actual state (off) before resuming to previous dpms state.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: enable vblank after DPMS on
Andrzej Hajda [Fri, 10 Oct 2014 12:31:55 +0000 (14:31 +0200)]
drm/exynos: enable vblank after DPMS on

Before DPMS off driver disables vblank.
It should be balanced by vblank enable after DPMS on.
The patch fixes issue with page_flip ioctl not being able
to acquire vblank counter introduced by patch:
drm: Always reject drm_vblank_get() after drm_vblank_off()

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: init kms poll at the end of initialization
Andrzej Hajda [Fri, 10 Oct 2014 12:31:54 +0000 (14:31 +0200)]
drm/exynos: init kms poll at the end of initialization

HPD events can be generated by components even if drm_dev is not fully
initialized, to skip such events kms poll initialization should
be performed at the end of load callback followed directly by forced
connection detection.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: propagate plane initialization errors
Andrzej Hajda [Fri, 10 Oct 2014 12:31:53 +0000 (14:31 +0200)]
drm/exynos: propagate plane initialization errors

In case of error during plane initialization load callback
incorrectly return success, this patch fixes it.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: vidi: fix build warning
Inki Dae [Tue, 7 Oct 2014 15:16:34 +0000 (00:16 +0900)]
drm/exynos: vidi: fix build warning

encoder object isn't used anymore so remove it.

Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: remove explicit encoder/connector de-initialization
Andrzej Hajda [Mon, 22 Sep 2014 09:30:48 +0000 (11:30 +0200)]
drm/exynos: remove explicit encoder/connector de-initialization

All KMS objects are destroyed by drm_mode_config_cleanup in proper order
so component drivers should not care about it.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: init vblank with real number of crtcs
Andrzej Hajda [Tue, 7 Oct 2014 13:09:14 +0000 (22:09 +0900)]
drm/exynos: init vblank with real number of crtcs

Initialization of vblank with MAX_CRTC caused attempts
to disabling vblanks for non-existing crtcs in case
drm used fewer crtcs. The patch fixes it.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agoKVM: vmx: defer load of APIC access page address during reset
Paolo Bonzini [Sun, 2 Nov 2014 06:54:30 +0000 (07:54 +0100)]
KVM: vmx: defer load of APIC access page address during reset

Most call paths to vmx_vcpu_reset do not hold the SRCU lock.  Defer loading
the APIC access page to the next vmentry.

This avoids the following lockdep splat:

[ INFO: suspicious RCU usage. ]
3.18.0-rc2-test2+ #70 Not tainted
-------------------------------
include/linux/kvm_host.h:474 suspicious rcu_dereference_check() usage!

other info that might help us debug this:

rcu_scheduler_active = 1, debug_locks = 0
1 lock held by qemu-system-x86/2371:
 #0:  (&vcpu->mutex){+.+...}, at: [<ffffffffa037d800>] vcpu_load+0x20/0xd0 [kvm]

stack backtrace:
CPU: 4 PID: 2371 Comm: qemu-system-x86 Not tainted 3.18.0-rc2-test2+ #70
Hardware name: Dell Inc. OptiPlex 9010/0M9KCM, BIOS A12 01/10/2013
 0000000000000001 ffff880209983ca8 ffffffff816f514f 0000000000000000
 ffff8802099b8990 ffff880209983cd8 ffffffff810bd687 00000000000fee00
 ffff880208a2c000 ffff880208a10000 ffff88020ef50040 ffff880209983d08
Call Trace:
 [<ffffffff816f514f>] dump_stack+0x4e/0x71
 [<ffffffff810bd687>] lockdep_rcu_suspicious+0xe7/0x120
 [<ffffffffa037d055>] gfn_to_memslot+0xd5/0xe0 [kvm]
 [<ffffffffa03807d3>] __gfn_to_pfn+0x33/0x60 [kvm]
 [<ffffffffa0380885>] gfn_to_page+0x25/0x90 [kvm]
 [<ffffffffa038aeec>] kvm_vcpu_reload_apic_access_page+0x3c/0x80 [kvm]
 [<ffffffffa08f0a9c>] vmx_vcpu_reset+0x20c/0x460 [kvm_intel]
 [<ffffffffa039ab8e>] kvm_vcpu_reset+0x15e/0x1b0 [kvm]
 [<ffffffffa039ac0c>] kvm_arch_vcpu_setup+0x2c/0x50 [kvm]
 [<ffffffffa037f7e0>] kvm_vm_ioctl+0x1d0/0x780 [kvm]
 [<ffffffff810bc664>] ? __lock_is_held+0x54/0x80
 [<ffffffff812231f0>] do_vfs_ioctl+0x300/0x520
 [<ffffffff8122ee45>] ? __fget+0x5/0x250
 [<ffffffff8122f0fa>] ? __fget_light+0x2a/0xe0
 [<ffffffff81223491>] SyS_ioctl+0x81/0xa0
 [<ffffffff816fed6d>] system_call_fastpath+0x16/0x1b

Reported-by: Takashi Iwai <tiwai@suse.de>
Reported-by: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Reviewed-by: Wanpeng Li <wanpeng.li@linux.intel.com>
Tested-by: Wanpeng Li <wanpeng.li@linux.intel.com>
Fixes: 38b9917350cb2946e368ba684cfc33d1672f104e
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
9 years agoKVM: nVMX: Disable preemption while reading from shadow VMCS
Jan Kiszka [Wed, 8 Oct 2014 16:05:39 +0000 (18:05 +0200)]
KVM: nVMX: Disable preemption while reading from shadow VMCS

In order to access the shadow VMCS, we need to load it. At this point,
vmx->loaded_vmcs->vmcs and the actually loaded one start to differ. If
we now get preempted by Linux, vmx_vcpu_put and, on return, the
vmx_vcpu_load will work against the wrong vmcs. That can cause
copy_shadow_to_vmcs12 to corrupt the vmcs12 state.

Fix the issue by disabling preemption during the copy operation.
copy_vmcs12_to_shadow is safe from this issue as it is executed by
vmx_vcpu_run when preemption is already disabled before vmentry.

This bug is exposed by running Jailhouse within KVM on CPUs with
shadow VMCS support.  Jailhouse never expects an interrupt pending
vmexit, but the bug can cause it if, after copy_shadow_to_vmcs12
is preempted, the active VMCS happens to have the virtual interrupt
pending flag set in the CPU-based execution controls.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
9 years agoKVM: x86: Fix far-jump to non-canonical check
Nadav Amit [Mon, 27 Oct 2014 22:03:43 +0000 (00:03 +0200)]
KVM: x86: Fix far-jump to non-canonical check

Commit d1442d85cc30 ("KVM: x86: Handle errors when RIP is set during far
jumps") introduced a bug that caused the fix to be incomplete.  Due to
incorrect evaluation, far jump to segment with L bit cleared (i.e., 32-bit
segment) and RIP with any of the high bits set (i.e, RIP[63:32] != 0) set may
not trigger #GP.  As we know, this imposes a security problem.

In addition, the condition for two warnings was incorrect.

Fixes: d1442d85cc30ea75f7d399474ca738e0bc96f715
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Nadav Amit <namit@cs.technion.ac.il>
[Add #ifdef CONFIG_X86_64 to avoid complaints of undefined behavior. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
9 years agoMerge branch 'vmwgfx-fixes-3.18' of git://people.freedesktop.org/~thomash/linux
Dave Airlie [Sat, 1 Nov 2014 23:23:31 +0000 (09:23 +1000)]
Merge branch 'vmwgfx-fixes-3.18' of git://people.freedesktop.org/~thomash/linux

A critical 3.18 regression fix from Rob, (thanks!)
A fix to avoid advertizing modes we can't support from Sinclair
  (welcome Sinclair!)
and a fix for an incorrect  hash key computation from me that is
  completely harmless, but can wait 'til the next merge window if necessary.
  (I can't really bother stable with this one).

* 'vmwgfx-fixes-3.18' of git://people.freedesktop.org/~thomash/linux:
  drm/vmwgfx: Filter out modes those cannot be supported by the current VRAM size.
  drm/vmwgfx: Fix hash key computation
  drm/vmwgfx: fix lock breakage