platform/kernel/linux-exynos.git
7 years agodrm/exynos: gem: retry without FORCE_CONTIGUOUS when IOMMU is available
Marek Szyprowski [Thu, 26 Feb 2015 09:30:45 +0000 (10:30 +0100)]
drm/exynos: gem: retry without FORCE_CONTIGUOUS when IOMMU is available

When IOMMU is available, drivers can operate even on non-contiguous
buffers (with some performance penalty). If allocation with
FORCE_CONTIGUOUS attribute is set, iommu is available and allocation fails,
then retry allocation without this flag set.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agodrm/exynos: gsc: always use hw buffer 0 until queue management get fixed
Marek Szyprowski [Thu, 26 Feb 2015 08:29:22 +0000 (09:29 +0100)]
drm/exynos: gsc: always use hw buffer 0 until queue management get fixed

Buffer sequence selection is broken and must be fixed. For the time being
always queue buffers for hw id 0, because hardware always operates on the
first src and dst buffer. This fixes IOMMU faults and makes the driver
usable from userspace.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agolocal / arm64: tm2: enable 256M of DMA_CMA
Marek Szyprowski [Wed, 25 Feb 2015 14:08:56 +0000 (15:08 +0100)]
local / arm64: tm2: enable 256M of DMA_CMA

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agolocal/arm64: dts: add lcd-wb property to gsc nodes for Exynos5433 tm2
Seung-Woo Kim [Wed, 4 Feb 2015 07:03:34 +0000 (16:03 +0900)]
local/arm64: dts: add lcd-wb property to gsc nodes for Exynos5433 tm2

This patch adds lcd-wb property to gsc 1 and 2 nodes for Exynos5433
tm2 board. It will be bound with exynos_drm_gsc driver.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
7 years agolocal / arm64: tm2: enable exynos drm ipp and ipp gsc
Seung-Woo Kim [Mon, 23 Feb 2015 07:14:12 +0000 (16:14 +0900)]
local / arm64: tm2: enable exynos drm ipp and ipp gsc

This patch enables exynos drm ipp and ipp gsc driver.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
7 years agodrm/exynos: gsc: enable driver on ARCH_EXYNOS
Seung-Woo Kim [Tue, 3 Feb 2015 07:12:06 +0000 (16:12 +0900)]
drm/exynos: gsc: enable driver on ARCH_EXYNOS

The exynos5433 soc has gsc ip, so this patch enables gsc driver on
ARCH_EXYNOS.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
7 years agodrm/exynos: gsc: fix wrong pm_runtime state
Seung-Woo Kim [Fri, 9 Jan 2015 06:55:30 +0000 (15:55 +0900)]
drm/exynos: gsc: fix wrong pm_runtime state

At probe time, gsc clock is not enabled, so pm_runtime state should
be deactive. So this patch removes pm_runtime_set_active() from
gsc_probe().

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
7 years agodrm/exynos: gsc: prepare and unprepare gsc clock
Seung-Woo Kim [Fri, 9 Jan 2015 06:54:00 +0000 (15:54 +0900)]
drm/exynos: gsc: prepare and unprepare gsc clock

Ths patch changes the clk_enable and clk_disable call in gsc driver
into clk_prepare_enable and clk_disable_unprepare.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
7 years agodrm/exynos: allow multiplatform configuration for gsc
Seung-Woo Kim [Tue, 6 Jan 2015 08:09:54 +0000 (17:09 +0900)]
drm/exynos: allow multiplatform configuration for gsc

The patch removes dependency on !ARCH_MULTIPLATFORM.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
7 years agodrm/exynos: gsc: add device tree support
Seung-Woo Kim [Wed, 1 Jul 2015 05:02:46 +0000 (14:02 +0900)]
drm/exynos: gsc: add device tree support

This patch adds device tree support for exynos_drm_gsc. The gsc
driver is bound only when lcd-wb binding flag is set to gsc dt
node.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agoexynos-gsc: add devicetree binding optional flag for lcd-wb
Seung-Woo Kim [Tue, 6 Jan 2015 08:19:04 +0000 (17:19 +0900)]
exynos-gsc: add devicetree binding optional flag for lcd-wb

This patch adds optional flag for lcd-wb of gsc. If the flag is set,
then the gsc hw is controlled by drm driver.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
7 years agolocal / arm64: tm2: enable media & iommu support
Marek Szyprowski [Fri, 17 Apr 2015 14:31:20 +0000 (16:31 +0200)]
local / arm64: tm2: enable media & iommu support

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agomedia: exynos-gsc: add support for exynos5433 ip
Marek Szyprowski [Fri, 17 Apr 2015 14:20:26 +0000 (16:20 +0200)]
media: exynos-gsc: add support for exynos5433 ip

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agomedia: exynos-gsc: fix missing newline char in debug messages
Marek Szyprowski [Fri, 17 Apr 2015 14:20:04 +0000 (16:20 +0200)]
media: exynos-gsc: fix missing newline char in debug messages

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agomedia: exynos-gsc: remove unused lclk_freqency entry
Marek Szyprowski [Fri, 17 Apr 2015 14:14:34 +0000 (16:14 +0200)]
media: exynos-gsc: remove unused lclk_freqency entry

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agomedia: exynos-gsc: enable driver on ARCH_EXYNOS
Marek Szyprowski [Fri, 17 Apr 2015 14:19:12 +0000 (16:19 +0200)]
media: exynos-gsc: enable driver on ARCH_EXYNOS

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoARM64: dts: exynos5433: add gcaller sysmmu nodes
Marek Szyprowski [Fri, 17 Apr 2015 14:13:35 +0000 (16:13 +0200)]
ARM64: dts: exynos5433: add gcaller sysmmu nodes

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoARM64: dts: exynos5433: enable gscaller nodes
Marek Szyprowski [Fri, 17 Apr 2015 08:35:46 +0000 (10:35 +0200)]
ARM64: dts: exynos5433: enable gscaller nodes

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agodrm/exynos: fix remaining build warnings
Marek Szyprowski [Fri, 3 Apr 2015 11:00:17 +0000 (13:00 +0200)]
drm/exynos: fix remaining build warnings

This patch removes incorrect format specifiers, point to 32bit integer
casting, missing const qualifier and other build warnings.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agodrm/exynos: ipp: fix incorrect format specifiers in debug messages
Marek Szyprowski [Wed, 25 Feb 2015 10:25:57 +0000 (11:25 +0100)]
drm/exynos: ipp: fix incorrect format specifiers in debug messages

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agotemporary: drm/exynos: add support for dma-mapping/iommu framework for ARM64
Marek Szyprowski [Fri, 3 Apr 2015 11:20:23 +0000 (13:20 +0200)]
temporary: drm/exynos: add support for dma-mapping/iommu framework for ARM64

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agodrm/exynos: decon: add support for iommu
Marek Szyprowski [Wed, 25 Feb 2015 10:04:28 +0000 (11:04 +0100)]
drm/exynos: decon: add support for iommu

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoARM64: dts: define reserved mapping for bootloader's splash screen
Marek Szyprowski [Fri, 20 Feb 2015 13:01:55 +0000 (14:01 +0100)]
ARM64: dts: define reserved mapping for bootloader's splash screen

Bootloader on TM2 board enables DECON and sets it to display splash
screen. To let Linux kernel to properly initialize IOMMU and devices
during probe time, additional identity mappings are needed. This patch
adds iommu-reserved-mapping property and sets up ideantity mapping for
the whole RAM available on the board.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoARM64: dts: exynos5433: add decon sysmmu nodes
Marek Szyprowski [Fri, 20 Feb 2015 09:56:02 +0000 (10:56 +0100)]
ARM64: dts: exynos5433: add decon sysmmu nodes

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoiommu: exynos: add support for aclk/pclk clocks
Marek Szyprowski [Fri, 17 Apr 2015 08:03:38 +0000 (10:03 +0200)]
iommu: exynos: add support for aclk/pclk clocks

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoiommu: exynos: simplify master's clock management
Marek Szyprowski [Fri, 17 Apr 2015 08:03:08 +0000 (10:03 +0200)]
iommu: exynos: simplify master's clock management

All clock operations checks for NULL clock, so there is no need for
additional checks in the driver.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoARM64: dma-mapping: export iommu_dma_ops (temporary)
Marek Szyprowski [Thu, 12 Mar 2015 12:10:04 +0000 (13:10 +0100)]
ARM64: dma-mapping: export iommu_dma_ops (temporary)

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoARM64: dma-mapping: add support for NO_KERNEL_MAPPING attribute
Marek Szyprowski [Wed, 25 Feb 2015 09:58:10 +0000 (10:58 +0100)]
ARM64: dma-mapping: add support for NO_KERNEL_MAPPING attribute

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoARM64: dma-mapping: add missing correct mmap and get_sglist operations
Marek Szyprowski [Wed, 11 Mar 2015 11:13:49 +0000 (12:13 +0100)]
ARM64: dma-mapping: add missing correct mmap and get_sglist operations

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoARM64: dma-mapping: add support for IOMMU reserved mapping defined in dt
Marek Szyprowski [Fri, 20 Feb 2015 12:57:32 +0000 (13:57 +0100)]
ARM64: dma-mapping: add support for IOMMU reserved mapping defined in dt

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoarm64: hook up IOMMU dma_ops
Robin Murphy [Fri, 6 Feb 2015 14:55:15 +0000 (14:55 +0000)]
arm64: hook up IOMMU dma_ops

With iommu_dma_ops in place, hook them up to the configuration code, so
IOMMU-fronted devices will get them automatically.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
7 years agoarm64: add IOMMU dma_ops (fixup)
Marek Szyprowski [Fri, 17 Apr 2015 14:12:14 +0000 (16:12 +0200)]
arm64: add IOMMU dma_ops (fixup)

Fix compilation with IOMMU disabled.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoarm64: add IOMMU dma_ops (fixup)
Marek Szyprowski [Fri, 3 Apr 2015 11:00:05 +0000 (13:00 +0200)]
arm64: add IOMMU dma_ops (fixup)

add missing gfp allocation flags parameter

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoarm64: add IOMMU dma_ops (fixup)
Marek Szyprowski [Wed, 11 Mar 2015 08:49:06 +0000 (09:49 +0100)]
arm64: add IOMMU dma_ops (fixup)

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoarm64: add IOMMU dma_ops
Robin Murphy [Fri, 6 Feb 2015 14:55:14 +0000 (14:55 +0000)]
arm64: add IOMMU dma_ops

Taking some inspiration from the arch/arm code, implement the
arch-specific side of the DMA mapping ops using the new IOMMU-DMA layer.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
7 years agoiommu: dma_domain: use size aligned iova allocation
Marek Szyprowski [Thu, 12 Mar 2015 12:10:31 +0000 (13:10 +0100)]
iommu: dma_domain: use size aligned iova allocation

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoiommu: implement common IOMMU ops for DMA mapping
Robin Murphy [Fri, 6 Feb 2015 14:55:13 +0000 (14:55 +0000)]
iommu: implement common IOMMU ops for DMA mapping

Taking inspiration from the existing arch/arm code, break out some
generic functions to interface the DMA-API to the IOMMU-API. This will
do the bulk of the heavy lifting for IOMMU-backed dma-mapping.

Whilst this RFC series is aimed at enabling arm64, once any remaining
obvious issues in the common code are addressed we can complete the
refactoring by porting arch/arm over for a merge-worthy series.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
7 years agotemporary: iommu: exynos: add support of SYSMMU v5 (36bit) on ARM64
Marek Szyprowski [Fri, 20 Feb 2015 08:44:50 +0000 (09:44 +0100)]
temporary: iommu: exynos: add support of SYSMMU v5 (36bit) on ARM64

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agotemporary: media: s5p-mfc: remove DT hacks & initialization custom memory init code
Marek Szyprowski [Thu, 31 Jul 2014 08:37:59 +0000 (10:37 +0200)]
temporary: media: s5p-mfc: remove DT hacks & initialization custom memory init code

This patch removes custom initialization of reserved memory regions from
s5p-mfc driver. Driver will use main device pointer for all memory allocations.

This patch is temporary, do not merge it yet.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agomedia: videobuf2-dc: set properly dma_max_segment_size
Marek Szyprowski [Fri, 16 Jan 2015 13:10:33 +0000 (14:10 +0100)]
media: videobuf2-dc: set properly dma_max_segment_size

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoARM: dts: exynos: add iommu reserved regions for bootloader's splash screen
Marek Szyprowski [Wed, 8 Apr 2015 12:54:02 +0000 (14:54 +0200)]
ARM: dts: exynos: add iommu reserved regions for bootloader's splash screen

Some bootloaders enable FIMD module and configure it as a simple
framebuffer to display boot logo or splash screen before booting the
kernel. Such framebuffer stays enabled until proper kernel driver gets
probbed. Usually it is configured in such a way, that it performs DMA
from the buffer located in system memory. To avoid IOMMU access fault
during system boot, additional identity mapping between system memory
and IO virtual address space must be created when IOMMU driver gets
enabled.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoARM: dts: exynos5420: add sysmmu nodes
Marek Szyprowski [Mon, 5 Jan 2015 14:35:20 +0000 (15:35 +0100)]
ARM: dts: exynos5420: add sysmmu nodes

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoARM: dts: exynos5250: add sysmmu nodes
Marek Szyprowski [Mon, 5 Jan 2015 08:15:57 +0000 (09:15 +0100)]
ARM: dts: exynos5250: add sysmmu nodes

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoARM: dts: exynos4415: add sysmmu nodes
Marek Szyprowski [Thu, 9 Apr 2015 07:59:29 +0000 (09:59 +0200)]
ARM: dts: exynos4415: add sysmmu nodes

This patch adds System MMU nodes to all defined devices that are specific
to Exynos4415 series.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoARM: dts: exynos3250: add sysmmu nodes
Marek Szyprowski [Thu, 9 Apr 2015 07:54:31 +0000 (09:54 +0200)]
ARM: dts: exynos3250: add sysmmu nodes

This patch adds System MMU nodes to the devices that are specific to
Exynos3250 series.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoARM: dts: exynos4: add sysmmu nodes
Marek Szyprowski [Wed, 19 Nov 2014 08:33:53 +0000 (09:33 +0100)]
ARM: dts: exynos4: add sysmmu nodes

This patch adds System MMU nodes that are specific to Exynos4210/4x12 series.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoarm: dma-mapping: add support for creating reserved mappings in iova space
Marek Szyprowski [Wed, 8 Apr 2015 11:45:55 +0000 (13:45 +0200)]
arm: dma-mapping: add support for creating reserved mappings in iova space

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoiommu: exynos: remove unneeded code
Marek Szyprowski [Mon, 30 Mar 2015 10:31:11 +0000 (12:31 +0200)]
iommu: exynos: remove unneeded code

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoiommu: exynos: add callback for initializing devices from device tree
Marek Szyprowski [Tue, 16 Sep 2014 07:28:59 +0000 (09:28 +0200)]
iommu: exynos: add callback for initializing devices from device tree

This patch adds implementation of of_xlate callback, which prepares
masters device for attaching to IOMMU. This callback is called during
creating devices from device tree.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoiommu: exynos: init from dt-specific callback instead of initcall
Marek Szyprowski [Tue, 16 Sep 2014 07:28:22 +0000 (09:28 +0200)]
iommu: exynos: init from dt-specific callback instead of initcall

This patch introduces IOMMU_OF_DECLARE-based initialization to the
driver, which replaces subsys_initcall-based procedure.
exynos_iommu_of_setup ensures that each sysmmu controller is probed
before its master device.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agoiommu: exynos: remove excessive includes and sort others alphabetically
Marek Szyprowski [Tue, 2 Sep 2014 11:48:54 +0000 (13:48 +0200)]
iommu: exynos: remove excessive includes and sort others alphabetically

Removed following unused includes: <linux/mm.h>, <linux/errno.h>,
<linux/memblock.h> and <linux/export.h>.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoiommu: exynos: document internal structures
Marek Szyprowski [Tue, 2 Sep 2014 11:14:38 +0000 (13:14 +0200)]
iommu: exynos: document internal structures

Add a few words of comment to all internal structures used by the driver.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoiommu: exynos: rename variables to reflect their purpose
Marek Szyprowski [Tue, 5 Aug 2014 06:03:06 +0000 (08:03 +0200)]
iommu: exynos: rename variables to reflect their purpose

This patch renames some variables to make the code easier to understand.
'domain' is replaced by 'iommu_domain' (more generic entity) and really
meaning less 'priv' by 'domain' to reflect its purpose.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agoiommu: exynos: add support for runtime_pm
Marek Szyprowski [Tue, 2 Sep 2014 11:47:49 +0000 (13:47 +0200)]
iommu: exynos: add support for runtime_pm

This patch fixes support for runtime power management for SYSMMU
controllers, so they are enabled when master device is attached.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoiommu: exynos: add support for binding more than one sysmmu to master device
Marek Szyprowski [Thu, 31 Jul 2014 10:18:37 +0000 (12:18 +0200)]
iommu: exynos: add support for binding more than one sysmmu to master device

This patch adds support for assigning more than one SYSMMU controller to
the master device. This has been achieved simply by chaning the struct
device pointer in struct exynos_iommu_owner into the list of struct
sysmmu_drvdata of all controllers assigned to the given master device.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoiommu: exynos: remove useless device_add/remove callbacks
Marek Szyprowski [Tue, 16 Sep 2014 06:26:40 +0000 (08:26 +0200)]
iommu: exynos: remove useless device_add/remove callbacks

The driver doesn't need to do anything important in device add/remove
callbacks, because initialization will be done from device-tree specific
callbacks added later. IOMMU groups created by current code were never
used.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoiommu: exynos: remove unused functions, part 2
Marek Szyprowski [Thu, 31 Jul 2014 10:15:07 +0000 (12:15 +0200)]
iommu: exynos: remove unused functions, part 2

After refactoring functions to use pointer to struct sysmmu_drvdata
directly, some functions became useless and thus never used, so remove
them completely.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoiommu: exynos: refactor function parameters to simplify code
Marek Szyprowski [Thu, 31 Jul 2014 10:13:18 +0000 (12:13 +0200)]
iommu: exynos: refactor function parameters to simplify code

This patch simplifies the code by:
- refactoring function parameters from struct device pointer to direct pointer
  to struct sysmmu drvdata
- moving list_head enteries from struct exynos_iommu_owner directly to struct
  sysmmu_drvdata

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agoiommu: exynos: remove useless spinlock
Marek Szyprowski [Wed, 30 Jul 2014 12:39:50 +0000 (14:39 +0200)]
iommu: exynos: remove useless spinlock

This patch removes useless spinlocks and other unused members from
struct exynos_iommu_owner. There is no point is protecting this
structure by spinlock because content of this structure doesn't change
and other structures have their own spinlocks.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoiommu: exynos: remove unused functions
Marek Szyprowski [Wed, 30 Jul 2014 12:23:10 +0000 (14:23 +0200)]
iommu: exynos: remove unused functions

This patch removes two unneeded functions, which are not a part of
generic IOMMU API and were never used by any other driver.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoiommu: exynos: don't read version register on every tlb operation
Marek Szyprowski [Wed, 30 Jul 2014 08:54:05 +0000 (10:54 +0200)]
iommu: exynos: don't read version register on every tlb operation

This patch removes reading of REG_MMU_VERSION register on every tlb
operation and caches SYSMMU version in driver's internal data.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agodrm/exynos: fimd: ensure proper hw state in fimd_clear_channel()
Marek Szyprowski [Mon, 13 Apr 2015 11:43:39 +0000 (13:43 +0200)]
drm/exynos: fimd: ensure proper hw state in fimd_clear_channel()

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agoarm: exynos: pm_domains: register power domain driver from core_initcall
Marek Szyprowski [Wed, 19 Nov 2014 07:54:03 +0000 (08:54 +0100)]
arm: exynos: pm_domains: register power domain driver from core_initcall

SYSMMU devices are registered very early in arch_initcall, so ensure
that they can get access to power domains by registering power domain
driver from earlier initcall.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agodrm: exynos: detach from default dma-mapping domain on init
Marek Szyprowski [Tue, 16 Sep 2014 06:15:15 +0000 (08:15 +0200)]
drm: exynos: detach from default dma-mapping domain on init

This patch adds code, which detach sub-device nodes from default iommu
domain if such has been configured.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
7 years agoRevert "review / drm/exynos: add more condition to check iommu support"
Marek Szyprowski [Fri, 3 Apr 2015 11:47:54 +0000 (13:47 +0200)]
Revert "review / drm/exynos: add more condition to check iommu support"

This reverts commit 92ceb1a45f152ef0f0f59c85f0778bf8e4175723.

7 years agoRevert "local / arm: dts: exynos3250: Add sysmmu node"
Marek Szyprowski [Fri, 3 Apr 2015 11:39:49 +0000 (13:39 +0200)]
Revert "local / arm: dts: exynos3250: Add sysmmu node"

This reverts commit 11df426c8508c7b2e5dded86171bacf843d59c22.

7 years agoRevert "local / arm: dts: exynos4: Add sysmmu node"
Marek Szyprowski [Fri, 3 Apr 2015 11:39:39 +0000 (13:39 +0200)]
Revert "local / arm: dts: exynos4: Add sysmmu node"

This reverts commit 63f869b95f271432bd6e56cb5f0341024883d480.

7 years agoarm64: configs: Enable CONFIG_RTC_DRV_S3C kernel option.
Jonghwa Lee [Tue, 21 Apr 2015 11:00:43 +0000 (20:00 +0900)]
arm64: configs: Enable CONFIG_RTC_DRV_S3C kernel option.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
7 years agolocal/mmc: dw_mmc: exynos: don't send the tuning command if already tuned
Jaehoon Chung [Tue, 21 Apr 2015 04:49:54 +0000 (13:49 +0900)]
local/mmc: dw_mmc: exynos: don't send the tuning command if already tuned

If sample clock has already found, need not to send the tuning command.
(This is the patch that fixed the suspend-to-ram issue.)

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
7 years agoLOCAL / arm64: configs: enable smack permissive mode
Seung-Woo Kim [Tue, 21 Apr 2015 02:16:42 +0000 (11:16 +0900)]
LOCAL / arm64: configs: enable smack permissive mode

This patch enables smack permissive to allow smack denied operation
with log from audit feature.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
7 years agoLOCAL / smack: add permissive mode for debugging purpose
Chanho Park [Tue, 3 Jun 2014 10:54:53 +0000 (19:54 +0900)]
LOCAL / smack: add permissive mode for debugging purpose

This patch adds smack permissive mode.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agoRevert "temporary / remove dsi phy related code"
Hyungwon Hwang [Tue, 21 Apr 2015 01:58:26 +0000 (10:58 +0900)]
Revert "temporary / remove dsi phy related code"

This reverts the commit 38bf1efd189fb4578b97bbf857eeb12d987f9021
("temporary / remove dsi phy related code").

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agodrm/exynos: dsi: add the backward compatibility for the renamed clock
Hyungwon Hwang [Fri, 10 Apr 2015 01:39:01 +0000 (10:39 +0900)]
drm/exynos: dsi: add the backward compatibility for the renamed clock

From the commit a45abd04a46048a4956408543cdbdd8bdedd3215
("drm/exynos: dsi: rename pll_clk to sclk_clk'), the compiled dtb
which contains 'pll_clk' becomes not compatible with the current DSI
driver. This patch adds the backward compatibility for this issue.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agoarm64: configs: enables MIPI PHY driver
Hyungwon Hwang [Tue, 21 Apr 2015 01:33:44 +0000 (10:33 +0900)]
arm64: configs: enables MIPI PHY driver

This patch enables MIPI PHY driver.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agoarm64: dts: exynos5433: Add DSI PHY node
Hyungwon Hwang [Tue, 21 Apr 2015 01:32:44 +0000 (10:32 +0900)]
arm64: dts: exynos5433: Add DSI PHY node

This patch adds DSI PHY node and properties in MIPI DSI node to refer the
newly added node for PHY control.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agoLOCAL / drm/exynos: fix the bug during generalizing the register setting
Hyungwon Hwang [Tue, 21 Apr 2015 01:23:00 +0000 (10:23 +0900)]
LOCAL / drm/exynos: fix the bug during generalizing the register setting

From the commit f9f70912f41e347acd60e22ad0bb6962e83add81 (drm/exynos:
dsi: generalize register setting and clock control), plltmr setting
has not been done correctly. Also, there was a line which does not use
the newly introduced macro. This patch fixes the problem, make all
code in the driver use the new macro, and clean up the code.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agoLOCAL / input: keyboard: cypress-touchkey: Fix touchkey_start function
Beomho Seo [Mon, 20 Apr 2015 12:58:28 +0000 (21:58 +0900)]
LOCAL / input: keyboard: cypress-touchkey: Fix touchkey_start function

This patch fix touchkey cypress for correctly working after
suspend/resume.

Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
7 years agoLOCAL / ASoC: samsung: Fix warning in lpass driver
Inha Song [Wed, 15 Apr 2015 08:45:33 +0000 (17:45 +0900)]
LOCAL / ASoC: samsung: Fix warning in lpass driver

This patch fix a compile warning:
  sound/soc/samsung/lpass.c:30:1: warning: useless storage class specifier in empty declaration

Signed-off-by: Inha Song <ideal.song@samsung.com>
7 years agoLOCAL / ASoC: samsung: Add codec set_pll in stop_sysclk for FLL1 stop
Inha Song [Wed, 15 Apr 2015 07:56:40 +0000 (16:56 +0900)]
LOCAL / ASoC: samsung: Add codec set_pll in stop_sysclk for FLL1 stop

This patch add snd_soc_codec_set_pll function in stop_sysclk for FLL1 stop.
Arizona driver use pm runtime. So, we should call pm_runtime_suspend callback
function by Stop FLL1.

Signed-off-by: Inha Song <ideal.song@samsung.com>
7 years agoLOCAL / ASoC: samsung: Add pm ops to lpass driver
Inha Song [Wed, 15 Apr 2015 07:38:27 +0000 (16:38 +0900)]
LOCAL / ASoC: samsung: Add pm ops to lpass driver

This patch add pm ops to lpass driver. After resume,
We should toggle LPASS_CORE_SW_RESET to reset lpass IPs.

Signed-off-by: Inha Song <ideal.song@samsung.com>
7 years agoLOCAL / ASoC: samsung: Add software reset in lpass enable
Inha Song [Wed, 15 Apr 2015 07:33:48 +0000 (16:33 +0900)]
LOCAL / ASoC: samsung: Add software reset in lpass enable

This patch add software reset in lpass enable function.
For lpass ip software reset, we should toggle (1 -> 0 -> 1).

Signed-off-by: Inha Song <ideal.song@samsung.com>
7 years agoLOCAL / clk: samsung: exynos5433: enable ignore unused flag
Inha Song [Tue, 14 Apr 2015 07:45:22 +0000 (16:45 +0900)]
LOCAL / clk: samsung: exynos5433: enable ignore unused flag

This patch enable ignore unused flags for control SFR_LPASS_* registers.

Signed-off-by: Inha Song <ideal.song@samsung.com>
7 years agoLOCAL / arm64 dts: exynos5433: Add always on clock for aud uart
Beomho Seo [Fri, 10 Apr 2015 07:59:58 +0000 (16:59 +0900)]
LOCAL / arm64 dts: exynos5433: Add always on clock for aud uart

This patch add always on clock for aud uart.

Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
7 years agoLOCAL / arm64: dts: exynos5433: Add sleep state pinctrl for bluetooth
Beomho Seo [Fri, 10 Apr 2015 06:39:56 +0000 (15:39 +0900)]
LOCAL / arm64: dts: exynos5433: Add sleep state pinctrl for bluetooth

This patch add sleep state pinctrl for bluetooth.

Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
7 years agoLOCAL / net: rfkill: Fix irq trigger
Beomho Seo [Fri, 10 Apr 2015 06:33:19 +0000 (15:33 +0900)]
LOCAL / net: rfkill: Fix irq trigger

This patch fix wrong irq trigger.

Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
7 years agocpufreq: arm_big_little_dt: Free opp table from referenced CPU
Jonghwa Lee [Fri, 17 Apr 2015 17:56:46 +0000 (02:56 +0900)]
cpufreq: arm_big_little_dt: Free opp table from referenced CPU

When opp table is defined only one for each CLUSTER, opp table might
not be freed even all CPUs in CLUSTER hoplugged off unless last CPU
was referenced one. And un-freed opp table occurs annoying warning
messages when CPU hotplugged on again.

<Warning Log>
[ 2931.471956] cpu cpu4: _opp_add_dynamic: duplicate OPPs detected ~

So it fixes it to work corretly with modifying freeing procedure.
If last CPU is not the referenced one which holds opp table for CLUSTER,
it tries to find opp table from other sibling CPUs. Otherwise, it just
free itself's.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
7 years agoarm64: dts: exynos5433: Add 'suspend-freq' to cpu's node.
Jonghwa Lee [Fri, 17 Apr 2015 16:56:45 +0000 (01:56 +0900)]
arm64: dts: exynos5433: Add 'suspend-freq' to cpu's node.

The property 'suspend-freq' will be used to preset CPU's freqeuncy
before entering suspend state. It sets the value to default at booting.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
7 years agocpufreq: arm_big_little_dt: Parse suspend frequency from CPU's dt node
Jonghwa Lee [Fri, 17 Apr 2015 16:49:22 +0000 (01:49 +0900)]
cpufreq: arm_big_little_dt: Parse suspend frequency from CPU's dt node

Some bigLittle system needs safety CPU freqeuncy to enter suspend state.
And it provides the way to get the frequency via devicetree.
Obtained suspend-safe frequency will be preset before the CPU goes into
sleep through the help of CPUFREQ subsystem.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
7 years agocpufreq: arm_big_little: Introduce suspend callback for bigLittle
Jonghwa Lee [Fri, 17 Apr 2015 16:36:16 +0000 (01:36 +0900)]
cpufreq: arm_big_little: Introduce suspend callback for bigLittle

It adds cpufreq's suspend callback to satisfy with some specific
requirements for suspend depends on chip implementation. When CPUFREQ
subsystem goes into suspend this driver will simply call arm_bL_ops's
suspend callback if it exists.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
7 years agortc: s3c: Make tick timer to be a selectable option.
Jonghwa Lee [Thu, 14 Aug 2014 10:57:03 +0000 (19:57 +0900)]
rtc: s3c: Make tick timer to be a selectable option.

s3c rtc driver has enabled timer tick default. However in some system,
it's not a mandatory option. So it modifies driver that tick timer can
be enabled selectively with a property, 's3c-rtc-tick-en', in DT.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agoarm64: dts: exynos5433: Enable Exynos5433 RTC device
Jonghwa Lee [Thu, 9 Apr 2015 05:15:22 +0000 (14:15 +0900)]
arm64: dts: exynos5433: Enable Exynos5433 RTC device

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
7 years agoi2c: exynos5: Adjust initcall level to subsys_initcall.
Jonghwa Lee [Thu, 9 Apr 2015 05:08:52 +0000 (14:08 +0900)]
i2c: exynos5: Adjust initcall level to subsys_initcall.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
7 years agoarm64: dts: exynos5433-tm2: Add suspend-on, suspend-reparent clocks.
Jonghwa Lee [Fri, 3 Apr 2015 05:29:00 +0000 (14:29 +0900)]
arm64: dts: exynos5433-tm2: Add suspend-on, suspend-reparent clocks.

This patch adds following clocks to 'suspend-on' clock list,

- CLK_SCLK_DSIM0_DISP,
- CLK_ACLK_DSIP_333,
- CLK_SCLK_DECON_ECLK_DISP,

and adds following clock to 'suspend-reparent' clock list.

- CLK_MOUT_AUD_PLL_USER

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
7 years agoarm64: dts: exynos5433-tm2: Add always-on clocks.
Jonghwa Lee [Fri, 3 Apr 2015 05:25:46 +0000 (14:25 +0900)]
arm64: dts: exynos5433-tm2: Add always-on clocks.

This patch adds following clocks to 'always-on' clock domain.

- CLK_PCLK_UART1
- CLK_SCLK_UART1
- CLK_PCLK_AUD_UART

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
7 years agoclk: samsung: exynos5433: Add suspend_prepare/unprepare callback.
Jonghwa Lee [Fri, 3 Apr 2015 05:17:22 +0000 (14:17 +0900)]
clk: samsung: exynos5433: Add suspend_prepare/unprepare callback.

This patch adds exynos5433 CMU's suspend_prepare/unprepare callback.
Exynos5433 has clocks to be controlled before entering suspend.
There're two types of clocks, one is a clock which has to be turned
on at suspend, and another is a clock which has to be set parent clock
to specified one. It can be defined at device tree with properties,
'suspend-on-clks' and 'suspend-reparent-clks'.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
7 years agoclk: samsung: Introduce supend_prepare/unprepare callback.
Jonghwa Lee [Fri, 3 Apr 2015 05:16:51 +0000 (14:16 +0900)]
clk: samsung: Introduce supend_prepare/unprepare callback.

To manage the chip dependent clock control for suspend, this patch introduce
additional suspend callback at the level of entering suspend.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
7 years agoLOCAL / RFC / clk: Provide an always-on clock domain framework
Lee Jones [Fri, 27 Mar 2015 08:47:27 +0000 (17:47 +0900)]
LOCAL / RFC / clk: Provide an always-on clock domain framework

Lots of platforms contain clocks which if turned off would prove fatal.
The only way to recover is to restart the board(s).  This driver takes
references to clocks which are required to be always-on in order to
prevent the common clk framework from trying to turn them off during
the clk_disabled_unused() procedure.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
7 years agoarm64: defconfig: Enable CONFIG_EXYNOS5433_PMU, CONFIG_EXYNOS5433_PM option
Jonghwa Lee [Mon, 16 Mar 2015 14:05:31 +0000 (23:05 +0900)]
arm64: defconfig: Enable CONFIG_EXYNOS5433_PMU, CONFIG_EXYNOS5433_PM option

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
7 years agospi: s3c64xx: Enable SCLK, PCLK to access sfr register during resume.
Jonghwa Lee [Mon, 16 Mar 2015 13:52:28 +0000 (22:52 +0900)]
spi: s3c64xx: Enable SCLK, PCLK to access sfr register during resume.

For Exynos5433, it needs to enable both of SCLK, PCLK clocks to access
sfr registers. It enables them before calling s3c64xx_spi_hw_init() at
resume state regardless of runtime pm state. After initialization, it
disables them again depends on runtime pm state to synchorize with
enabling count.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
7 years agoarm64: dts: exynos5433-tm2: Set suspend operation mode of s2mps13 regulations.
Jonghwa Lee [Tue, 16 Dec 2014 07:52:14 +0000 (16:52 +0900)]
arm64: dts: exynos5433-tm2: Set suspend operation mode of s2mps13 regulations.

Mark regulators to be powered off during in suspend.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>