aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2019-07-03 21:46:02 -0400
committerDave Airlie <airlied@redhat.com>2019-07-03 21:46:07 -0400
commita22719cce54bc18001a7c8be9c713ba629f5801c (patch)
tree4ee7901abaae3a567c1ebd196686917a05a663b8
parent53e155f2bbd42df7e8bea87be78f0d60fe9fa122 (diff)
parent156bdac99061b4013c8e47799c6e574f7f84e9f4 (diff)
Merge tag 'exynos-drm-next-for-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next
- Drop the use of drmP.h header file drmP.h header file has been deprecated so this patch drops the use of this header, and instead includes appropriate header files required. - Add COMPILE_TEST flag This patch adds COMPILE_TEST dependency to exynos drm driver to increase build test coverage. And also, it includes vmalloc.h header file to fix one build warning which is introduced when building the Linux kernel using sh. Signed-off-by: Dave Airlie <airlied@redhat.com> From: Inki Dae <inki.dae@samsung.com> Link: https://patchwork.freedesktop.org/patch/msgid/CAAQKjZMdBdD8oEa0cNv78FjrpOqu20ozTTvuPEm_XnVo2gRhCQ@mail.gmail.com
-rw-r--r--drivers/gpu/drm/exynos/Kconfig6
-rw-r--r--drivers/gpu/drm/exynos/exynos5433_drm_decon.c7
-rw-r--r--drivers/gpu/drm/exynos/exynos7_drm_decon.c8
-rw-r--r--drivers/gpu/drm/exynos/exynos_dp.c13
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_crtc.c2
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_dma.c6
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_dpi.c8
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_drv.c12
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_drv.h8
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_dsi.c21
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fb.c6
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fbdev.c8
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fimc.c15
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fimd.c14
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_g2d.c11
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_gem.c7
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_gsc.c13
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_ipp.c3
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_mic.c22
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_plane.c4
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_rotator.c10
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_scaler.c12
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_vidi.c9
-rw-r--r--drivers/gpu/drm/exynos/exynos_hdmi.c41
-rw-r--r--drivers/gpu/drm/exynos/exynos_mixer.c31
25 files changed, 158 insertions, 139 deletions
diff --git a/drivers/gpu/drm/exynos/Kconfig b/drivers/gpu/drm/exynos/Kconfig
index cbe58d307d1c..60ce4a8ad9e1 100644
--- a/drivers/gpu/drm/exynos/Kconfig
+++ b/drivers/gpu/drm/exynos/Kconfig
@@ -1,7 +1,7 @@
1# SPDX-License-Identifier: GPL-2.0-only 1# SPDX-License-Identifier: GPL-2.0-only
2config DRM_EXYNOS 2config DRM_EXYNOS
3 tristate "DRM Support for Samsung SoC EXYNOS Series" 3 tristate "DRM Support for Samsung SoC EXYNOS Series"
4 depends on OF && DRM && (ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || ARCH_MULTIPLATFORM) 4 depends on OF && DRM && (ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || ARCH_MULTIPLATFORM || COMPILE_TEST)
5 select DRM_KMS_HELPER 5 select DRM_KMS_HELPER
6 select VIDEOMODE_HELPERS 6 select VIDEOMODE_HELPERS
7 select SND_SOC_HDMI_CODEC if SND_SOC 7 select SND_SOC_HDMI_CODEC if SND_SOC
@@ -86,7 +86,7 @@ comment "Sub-drivers"
86 86
87config DRM_EXYNOS_G2D 87config DRM_EXYNOS_G2D
88 bool "G2D" 88 bool "G2D"
89 depends on VIDEO_SAMSUNG_S5P_G2D=n 89 depends on VIDEO_SAMSUNG_S5P_G2D=n || COMPILE_TEST
90 select FRAME_VECTOR 90 select FRAME_VECTOR
91 help 91 help
92 Choose this option if you want to use Exynos G2D for DRM. 92 Choose this option if you want to use Exynos G2D for DRM.
@@ -114,7 +114,7 @@ config DRM_EXYNOS_SCALER
114 114
115config DRM_EXYNOS_GSC 115config DRM_EXYNOS_GSC
116 bool "GScaler" 116 bool "GScaler"
117 depends on VIDEO_SAMSUNG_EXYNOS_GSC=n 117 depends on VIDEO_SAMSUNG_EXYNOS_GSC=n || COMPILE_TEST
118 select DRM_EXYNOS_IPP 118 select DRM_EXYNOS_IPP
119 help 119 help
120 Choose this option if you want to use Exynos GSC for DRM. 120 Choose this option if you want to use Exynos GSC for DRM.
diff --git a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
index 0650b619de24..2d5cbfda3ca7 100644
--- a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
+++ b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
@@ -7,7 +7,6 @@
7 * Hyungwon Hwang <human.hwang@samsung.com> 7 * Hyungwon Hwang <human.hwang@samsung.com>
8 */ 8 */
9 9
10#include <linux/platform_device.h>
11#include <linux/clk.h> 10#include <linux/clk.h>
12#include <linux/component.h> 11#include <linux/component.h>
13#include <linux/iopoll.h> 12#include <linux/iopoll.h>
@@ -15,11 +14,15 @@
15#include <linux/mfd/syscon.h> 14#include <linux/mfd/syscon.h>
16#include <linux/of_device.h> 15#include <linux/of_device.h>
17#include <linux/of_gpio.h> 16#include <linux/of_gpio.h>
17#include <linux/platform_device.h>
18#include <linux/pm_runtime.h> 18#include <linux/pm_runtime.h>
19#include <linux/regmap.h> 19#include <linux/regmap.h>
20 20
21#include "exynos_drm_drv.h" 21#include <drm/drm_fourcc.h>
22#include <drm/drm_vblank.h>
23
22#include "exynos_drm_crtc.h" 24#include "exynos_drm_crtc.h"
25#include "exynos_drm_drv.h"
23#include "exynos_drm_fb.h" 26#include "exynos_drm_fb.h"
24#include "exynos_drm_plane.h" 27#include "exynos_drm_plane.h"
25#include "regs-decon5433.h" 28#include "regs-decon5433.h"
diff --git a/drivers/gpu/drm/exynos/exynos7_drm_decon.c b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
index 13509ca8aa35..f0640950bd46 100644
--- a/drivers/gpu/drm/exynos/exynos7_drm_decon.c
+++ b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
@@ -6,8 +6,6 @@
6 * Akshu Agarwal <akshua@gmail.com> 6 * Akshu Agarwal <akshua@gmail.com>
7 * Ajay Kumar <ajaykumar.rs@samsung.com> 7 * Ajay Kumar <ajaykumar.rs@samsung.com>
8 */ 8 */
9#include <drm/drmP.h>
10#include <drm/exynos_drm.h>
11 9
12#include <linux/clk.h> 10#include <linux/clk.h>
13#include <linux/component.h> 11#include <linux/component.h>
@@ -21,10 +19,14 @@
21#include <video/of_display_timing.h> 19#include <video/of_display_timing.h>
22#include <video/of_videomode.h> 20#include <video/of_videomode.h>
23 21
22#include <drm/drm_fourcc.h>
23#include <drm/drm_vblank.h>
24#include <drm/exynos_drm.h>
25
24#include "exynos_drm_crtc.h" 26#include "exynos_drm_crtc.h"
25#include "exynos_drm_plane.h"
26#include "exynos_drm_drv.h" 27#include "exynos_drm_drv.h"
27#include "exynos_drm_fb.h" 28#include "exynos_drm_fb.h"
29#include "exynos_drm_plane.h"
28#include "regs-decon7.h" 30#include "regs-decon7.h"
29 31
30/* 32/*
diff --git a/drivers/gpu/drm/exynos/exynos_dp.c b/drivers/gpu/drm/exynos/exynos_dp.c
index c0653d007ca4..3a0f0ba8c63a 100644
--- a/drivers/gpu/drm/exynos/exynos_dp.c
+++ b/drivers/gpu/drm/exynos/exynos_dp.c
@@ -6,25 +6,24 @@
6 * Author: Jingoo Han <jg1.han@samsung.com> 6 * Author: Jingoo Han <jg1.han@samsung.com>
7 */ 7 */
8 8
9#include <linux/module.h>
10#include <linux/platform_device.h>
11#include <linux/err.h>
12#include <linux/clk.h> 9#include <linux/clk.h>
13#include <linux/of_graph.h>
14#include <linux/component.h> 10#include <linux/component.h>
11#include <linux/err.h>
12#include <linux/module.h>
13#include <linux/of_graph.h>
14#include <linux/platform_device.h>
15#include <linux/pm_runtime.h> 15#include <linux/pm_runtime.h>
16#include <video/of_display_timing.h> 16#include <video/of_display_timing.h>
17#include <video/of_videomode.h> 17#include <video/of_videomode.h>
18#include <video/videomode.h> 18#include <video/videomode.h>
19 19
20#include <drm/drmP.h> 20#include <drm/bridge/analogix_dp.h>
21#include <drm/drm_atomic_helper.h> 21#include <drm/drm_atomic_helper.h>
22#include <drm/drm_crtc.h> 22#include <drm/drm_crtc.h>
23#include <drm/drm_of.h> 23#include <drm/drm_of.h>
24#include <drm/drm_panel.h> 24#include <drm/drm_panel.h>
25#include <drm/drm_print.h>
25#include <drm/drm_probe_helper.h> 26#include <drm/drm_probe_helper.h>
26
27#include <drm/bridge/analogix_dp.h>
28#include <drm/exynos_drm.h> 27#include <drm/exynos_drm.h>
29 28
30#include "exynos_drm_crtc.h" 29#include "exynos_drm_crtc.h"
diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
index 98bec7418f01..77ce78986408 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
@@ -8,11 +8,11 @@
8 * Seung-Woo Kim <sw0312.kim@samsung.com> 8 * Seung-Woo Kim <sw0312.kim@samsung.com>
9 */ 9 */
10 10
11#include <drm/drmP.h>
12#include <drm/drm_atomic.h> 11#include <drm/drm_atomic.h>
13#include <drm/drm_atomic_helper.h> 12#include <drm/drm_atomic_helper.h>
14#include <drm/drm_encoder.h> 13#include <drm/drm_encoder.h>
15#include <drm/drm_probe_helper.h> 14#include <drm/drm_probe_helper.h>
15#include <drm/drm_vblank.h>
16 16
17#include "exynos_drm_crtc.h" 17#include "exynos_drm_crtc.h"
18#include "exynos_drm_drv.h" 18#include "exynos_drm_drv.h"
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dma.c b/drivers/gpu/drm/exynos/exynos_drm_dma.c
index bef8bc3c8e00..9ebc02768847 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_dma.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_dma.c
@@ -4,11 +4,13 @@
4// Author: Inki Dae <inki.dae@samsung.com> 4// Author: Inki Dae <inki.dae@samsung.com>
5// Author: Andrzej Hajda <a.hajda@samsung.com> 5// Author: Andrzej Hajda <a.hajda@samsung.com>
6 6
7#include <drm/drmP.h>
8#include <drm/exynos_drm.h>
9#include <linux/dma-iommu.h> 7#include <linux/dma-iommu.h>
10#include <linux/dma-mapping.h> 8#include <linux/dma-mapping.h>
11#include <linux/iommu.h> 9#include <linux/iommu.h>
10#include <linux/platform_device.h>
11
12#include <drm/drm_print.h>
13#include <drm/exynos_drm.h>
12 14
13#include "exynos_drm_drv.h" 15#include "exynos_drm_drv.h"
14 16
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dpi.c b/drivers/gpu/drm/exynos/exynos_drm_dpi.c
index 6ea92173db9f..87289db12868 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_dpi.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_dpi.c
@@ -10,14 +10,14 @@
10 * published by the Free Software Foundation. 10 * published by the Free Software Foundation.
11*/ 11*/
12 12
13#include <drm/drmP.h> 13#include <linux/of_graph.h>
14#include <linux/regulator/consumer.h>
15
14#include <drm/drm_atomic_helper.h> 16#include <drm/drm_atomic_helper.h>
15#include <drm/drm_panel.h> 17#include <drm/drm_panel.h>
18#include <drm/drm_print.h>
16#include <drm/drm_probe_helper.h> 19#include <drm/drm_probe_helper.h>
17 20
18#include <linux/of_graph.h>
19#include <linux/regulator/consumer.h>
20
21#include <video/of_videomode.h> 21#include <video/of_videomode.h>
22#include <video/videomode.h> 22#include <video/videomode.h>
23 23
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
index ba8932af9b43..58baf49d9926 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
@@ -7,25 +7,23 @@
7 * Seung-Woo Kim <sw0312.kim@samsung.com> 7 * Seung-Woo Kim <sw0312.kim@samsung.com>
8 */ 8 */
9 9
10#include <linux/component.h>
10#include <linux/pm_runtime.h> 11#include <linux/pm_runtime.h>
11#include <drm/drmP.h> 12
12#include <drm/drm_atomic.h> 13#include <drm/drm_atomic.h>
13#include <drm/drm_atomic_helper.h> 14#include <drm/drm_atomic_helper.h>
14#include <drm/drm_fb_helper.h> 15#include <drm/drm_fb_helper.h>
15#include <drm/drm_probe_helper.h> 16#include <drm/drm_probe_helper.h>
16
17#include <linux/component.h>
18
19#include <drm/exynos_drm.h> 17#include <drm/exynos_drm.h>
20 18
21#include "exynos_drm_drv.h" 19#include "exynos_drm_drv.h"
22#include "exynos_drm_fbdev.h"
23#include "exynos_drm_fb.h" 20#include "exynos_drm_fb.h"
21#include "exynos_drm_fbdev.h"
22#include "exynos_drm_g2d.h"
24#include "exynos_drm_gem.h" 23#include "exynos_drm_gem.h"
25#include "exynos_drm_plane.h"
26#include "exynos_drm_ipp.h" 24#include "exynos_drm_ipp.h"
25#include "exynos_drm_plane.h"
27#include "exynos_drm_vidi.h" 26#include "exynos_drm_vidi.h"
28#include "exynos_drm_g2d.h"
29 27
30#define DRIVER_NAME "exynos" 28#define DRIVER_NAME "exynos"
31#define DRIVER_DESC "Samsung SoC DRM" 29#define DRIVER_DESC "Samsung SoC DRM"
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.h b/drivers/gpu/drm/exynos/exynos_drm_drv.h
index 18b03b83f8a3..d4014ba592fd 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.h
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h
@@ -11,15 +11,21 @@
11#ifndef _EXYNOS_DRM_DRV_H_ 11#ifndef _EXYNOS_DRM_DRV_H_
12#define _EXYNOS_DRM_DRV_H_ 12#define _EXYNOS_DRM_DRV_H_
13 13
14#include <drm/drmP.h>
15#include <linux/module.h> 14#include <linux/module.h>
16 15
16#include <drm/drm_crtc.h>
17#include <drm/drm_device.h>
18#include <drm/drm_plane.h>
19
17#define MAX_CRTC 3 20#define MAX_CRTC 3
18#define MAX_PLANE 5 21#define MAX_PLANE 5
19#define MAX_FB_BUFFER 4 22#define MAX_FB_BUFFER 4
20 23
21#define DEFAULT_WIN 0 24#define DEFAULT_WIN 0
22 25
26struct drm_crtc_state;
27struct drm_display_mode;
28
23#define to_exynos_crtc(x) container_of(x, struct exynos_drm_crtc, base) 29#define to_exynos_crtc(x) container_of(x, struct exynos_drm_crtc, base)
24#define to_exynos_plane(x) container_of(x, struct exynos_drm_plane, base) 30#define to_exynos_plane(x) container_of(x, struct exynos_drm_plane, base)
25 31
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
index 63a4b5074a99..5f6f523821a2 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
@@ -10,16 +10,9 @@
10 * published by the Free Software Foundation. 10 * published by the Free Software Foundation.
11*/ 11*/
12 12
13#include <asm/unaligned.h>
14
15#include <drm/drmP.h>
16#include <drm/drm_atomic_helper.h>
17#include <drm/drm_fb_helper.h>
18#include <drm/drm_mipi_dsi.h>
19#include <drm/drm_panel.h>
20#include <drm/drm_probe_helper.h>
21
22#include <linux/clk.h> 13#include <linux/clk.h>
14#include <linux/delay.h>
15#include <linux/component.h>
23#include <linux/gpio/consumer.h> 16#include <linux/gpio/consumer.h>
24#include <linux/irq.h> 17#include <linux/irq.h>
25#include <linux/of_device.h> 18#include <linux/of_device.h>
@@ -27,11 +20,19 @@
27#include <linux/of_graph.h> 20#include <linux/of_graph.h>
28#include <linux/phy/phy.h> 21#include <linux/phy/phy.h>
29#include <linux/regulator/consumer.h> 22#include <linux/regulator/consumer.h>
30#include <linux/component.h> 23
24#include <asm/unaligned.h>
31 25
32#include <video/mipi_display.h> 26#include <video/mipi_display.h>
33#include <video/videomode.h> 27#include <video/videomode.h>
34 28
29#include <drm/drm_atomic_helper.h>
30#include <drm/drm_fb_helper.h>
31#include <drm/drm_mipi_dsi.h>
32#include <drm/drm_panel.h>
33#include <drm/drm_print.h>
34#include <drm/drm_probe_helper.h>
35
35#include "exynos_drm_crtc.h" 36#include "exynos_drm_crtc.h"
36#include "exynos_drm_drv.h" 37#include "exynos_drm_drv.h"
37 38
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fb.c b/drivers/gpu/drm/exynos/exynos_drm_fb.c
index ea048905849a..64370b634cca 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fb.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fb.c
@@ -8,19 +8,19 @@
8 * Seung-Woo Kim <sw0312.kim@samsung.com> 8 * Seung-Woo Kim <sw0312.kim@samsung.com>
9 */ 9 */
10 10
11#include <drm/drmP.h>
12#include <drm/drm_atomic.h> 11#include <drm/drm_atomic.h>
13#include <drm/drm_atomic_helper.h> 12#include <drm/drm_atomic_helper.h>
14#include <drm/drm_crtc.h> 13#include <drm/drm_crtc.h>
15#include <drm/drm_fb_helper.h> 14#include <drm/drm_fb_helper.h>
15#include <drm/drm_fourcc.h>
16#include <drm/drm_gem_framebuffer_helper.h> 16#include <drm/drm_gem_framebuffer_helper.h>
17#include <drm/drm_probe_helper.h> 17#include <drm/drm_probe_helper.h>
18#include <uapi/drm/exynos_drm.h> 18#include <drm/exynos_drm.h>
19 19
20#include "exynos_drm_crtc.h"
20#include "exynos_drm_drv.h" 21#include "exynos_drm_drv.h"
21#include "exynos_drm_fb.h" 22#include "exynos_drm_fb.h"
22#include "exynos_drm_fbdev.h" 23#include "exynos_drm_fbdev.h"
23#include "exynos_drm_crtc.h"
24 24
25static int check_fb_gem_memory_type(struct drm_device *drm_dev, 25static int check_fb_gem_memory_type(struct drm_device *drm_dev,
26 struct exynos_drm_gem *exynos_gem) 26 struct exynos_drm_gem *exynos_gem)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c
index 9dc33c6b6687..b0877b97291c 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c
@@ -8,14 +8,16 @@
8 * Seung-Woo Kim <sw0312.kim@samsung.com> 8 * Seung-Woo Kim <sw0312.kim@samsung.com>
9 */ 9 */
10 10
11#include <drm/drmP.h> 11#include <linux/console.h>
12#include <linux/dma-mapping.h>
13#include <linux/vmalloc.h>
14
12#include <drm/drm_crtc.h> 15#include <drm/drm_crtc.h>
13#include <drm/drm_fb_helper.h> 16#include <drm/drm_fb_helper.h>
17#include <drm/drm_fourcc.h>
14#include <drm/drm_probe_helper.h> 18#include <drm/drm_probe_helper.h>
15#include <drm/exynos_drm.h> 19#include <drm/exynos_drm.h>
16 20
17#include <linux/console.h>
18
19#include "exynos_drm_drv.h" 21#include "exynos_drm_drv.h"
20#include "exynos_drm_fb.h" 22#include "exynos_drm_fb.h"
21#include "exynos_drm_fbdev.h" 23#include "exynos_drm_fbdev.h"
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimc.c b/drivers/gpu/drm/exynos/exynos_drm_fimc.c
index 0db29690ede3..a594ab7be2c0 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimc.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimc.c
@@ -6,21 +6,22 @@
6 * Jinyoung Jeon <jy0.jeon@samsung.com> 6 * Jinyoung Jeon <jy0.jeon@samsung.com>
7 * Sangmin Lee <lsmin.lee@samsung.com> 7 * Sangmin Lee <lsmin.lee@samsung.com>
8 */ 8 */
9#include <linux/kernel.h> 9
10#include <linux/clk.h>
10#include <linux/component.h> 11#include <linux/component.h>
11#include <linux/platform_device.h> 12#include <linux/kernel.h>
12#include <linux/mfd/syscon.h> 13#include <linux/mfd/syscon.h>
13#include <linux/regmap.h>
14#include <linux/clk.h>
15#include <linux/pm_runtime.h>
16#include <linux/of.h> 14#include <linux/of.h>
15#include <linux/platform_device.h>
16#include <linux/pm_runtime.h>
17#include <linux/regmap.h>
17#include <linux/spinlock.h> 18#include <linux/spinlock.h>
18 19
19#include <drm/drmP.h>
20#include <drm/exynos_drm.h> 20#include <drm/exynos_drm.h>
21#include "regs-fimc.h" 21
22#include "exynos_drm_drv.h" 22#include "exynos_drm_drv.h"
23#include "exynos_drm_ipp.h" 23#include "exynos_drm_ipp.h"
24#include "regs-fimc.h"
24 25
25/* 26/*
26 * FIMC stands for Fully Interactive Mobile Camera and 27 * FIMC stands for Fully Interactive Mobile Camera and
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
index e9106b1f4a50..8d0a929104e5 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
@@ -6,26 +6,28 @@
6 * Joonyoung Shim <jy0922.shim@samsung.com> 6 * Joonyoung Shim <jy0922.shim@samsung.com>
7 * Inki Dae <inki.dae@samsung.com> 7 * Inki Dae <inki.dae@samsung.com>
8 */ 8 */
9#include <drm/drmP.h>
10 9
11#include <linux/kernel.h>
12#include <linux/platform_device.h>
13#include <linux/clk.h> 10#include <linux/clk.h>
11#include <linux/component.h>
12#include <linux/kernel.h>
13#include <linux/mfd/syscon.h>
14#include <linux/of.h> 14#include <linux/of.h>
15#include <linux/of_device.h> 15#include <linux/of_device.h>
16#include <linux/platform_device.h>
16#include <linux/pm_runtime.h> 17#include <linux/pm_runtime.h>
17#include <linux/component.h>
18#include <linux/mfd/syscon.h>
19#include <linux/regmap.h> 18#include <linux/regmap.h>
20 19
21#include <video/of_display_timing.h> 20#include <video/of_display_timing.h>
22#include <video/of_videomode.h> 21#include <video/of_videomode.h>
23#include <video/samsung_fimd.h> 22#include <video/samsung_fimd.h>
23
24#include <drm/drm_fourcc.h>
25#include <drm/drm_vblank.h>
24#include <drm/exynos_drm.h> 26#include <drm/exynos_drm.h>
25 27
28#include "exynos_drm_crtc.h"
26#include "exynos_drm_drv.h" 29#include "exynos_drm_drv.h"
27#include "exynos_drm_fb.h" 30#include "exynos_drm_fb.h"
28#include "exynos_drm_crtc.h"
29#include "exynos_drm_plane.h" 31#include "exynos_drm_plane.h"
30 32
31/* 33/*
diff --git a/drivers/gpu/drm/exynos/exynos_drm_g2d.c b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
index 2e4b9434245b..50904eee96f7 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_g2d.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
@@ -4,21 +4,24 @@
4 * Authors: Joonyoung Shim <jy0922.shim@samsung.com> 4 * Authors: Joonyoung Shim <jy0922.shim@samsung.com>
5 */ 5 */
6 6
7#include <linux/kernel.h>
8#include <linux/clk.h> 7#include <linux/clk.h>
9#include <linux/component.h> 8#include <linux/component.h>
9#include <linux/delay.h>
10#include <linux/dma-mapping.h>
10#include <linux/err.h> 11#include <linux/err.h>
11#include <linux/interrupt.h> 12#include <linux/interrupt.h>
12#include <linux/io.h> 13#include <linux/io.h>
14#include <linux/kernel.h>
15#include <linux/of.h>
13#include <linux/platform_device.h> 16#include <linux/platform_device.h>
14#include <linux/pm_runtime.h> 17#include <linux/pm_runtime.h>
15#include <linux/slab.h> 18#include <linux/slab.h>
19#include <linux/uaccess.h>
16#include <linux/workqueue.h> 20#include <linux/workqueue.h>
17#include <linux/dma-mapping.h>
18#include <linux/of.h>
19 21
20#include <drm/drmP.h> 22#include <drm/drm_file.h>
21#include <drm/exynos_drm.h> 23#include <drm/exynos_drm.h>
24
22#include "exynos_drm_drv.h" 25#include "exynos_drm_drv.h"
23#include "exynos_drm_g2d.h" 26#include "exynos_drm_g2d.h"
24#include "exynos_drm_gem.h" 27#include "exynos_drm_gem.h"
diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c b/drivers/gpu/drm/exynos/exynos_drm_gem.c
index d8f1fe9b68d8..d734d9d51762 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_gem.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c
@@ -5,12 +5,13 @@
5 * Author: Inki Dae <inki.dae@samsung.com> 5 * Author: Inki Dae <inki.dae@samsung.com>
6 */ 6 */
7 7
8#include <drm/drmP.h>
9#include <drm/drm_vma_manager.h>
10 8
11#include <linux/shmem_fs.h>
12#include <linux/dma-buf.h> 9#include <linux/dma-buf.h>
13#include <linux/pfn_t.h> 10#include <linux/pfn_t.h>
11#include <linux/shmem_fs.h>
12
13#include <drm/drm_prime.h>
14#include <drm/drm_vma_manager.h>
14#include <drm/exynos_drm.h> 15#include <drm/exynos_drm.h>
15 16
16#include "exynos_drm_drv.h" 17#include "exynos_drm_drv.h"
diff --git a/drivers/gpu/drm/exynos/exynos_drm_gsc.c b/drivers/gpu/drm/exynos/exynos_drm_gsc.c
index 05b0fe21b81e..1e4b21c49a06 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_gsc.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_gsc.c
@@ -6,20 +6,21 @@
6 * Jinyoung Jeon <jy0.jeon@samsung.com> 6 * Jinyoung Jeon <jy0.jeon@samsung.com>
7 * Sangmin Lee <lsmin.lee@samsung.com> 7 * Sangmin Lee <lsmin.lee@samsung.com>
8 */ 8 */
9#include <linux/kernel.h> 9
10#include <linux/component.h>
11#include <linux/platform_device.h>
12#include <linux/clk.h> 10#include <linux/clk.h>
13#include <linux/pm_runtime.h> 11#include <linux/component.h>
12#include <linux/kernel.h>
14#include <linux/mfd/syscon.h> 13#include <linux/mfd/syscon.h>
15#include <linux/of_device.h> 14#include <linux/of_device.h>
15#include <linux/platform_device.h>
16#include <linux/pm_runtime.h>
16#include <linux/regmap.h> 17#include <linux/regmap.h>
17 18
18#include <drm/drmP.h>
19#include <drm/exynos_drm.h> 19#include <drm/exynos_drm.h>
20#include "regs-gsc.h" 20
21#include "exynos_drm_drv.h" 21#include "exynos_drm_drv.h"
22#include "exynos_drm_ipp.h" 22#include "exynos_drm_ipp.h"
23#include "regs-gsc.h"
23 24
24/* 25/*
25 * GSC stands for General SCaler and 26 * GSC stands for General SCaler and
diff --git a/drivers/gpu/drm/exynos/exynos_drm_ipp.c b/drivers/gpu/drm/exynos/exynos_drm_ipp.c
index c862099723a0..d45bfab6fe40 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_ipp.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_ipp.c
@@ -16,10 +16,9 @@
16 * all copies or substantial portions of the Software. 16 * all copies or substantial portions of the Software.
17 */ 17 */
18 18
19
20#include <drm/drmP.h> 19#include <drm/drmP.h>
21#include <drm/drm_mode.h> 20#include <drm/drm_mode.h>
22#include <uapi/drm/exynos_drm.h> 21#include <drm/exynos_drm.h>
23 22
24#include "exynos_drm_drv.h" 23#include "exynos_drm_drv.h"
25#include "exynos_drm_gem.h" 24#include "exynos_drm_gem.h"
diff --git a/drivers/gpu/drm/exynos/exynos_drm_mic.c b/drivers/gpu/drm/exynos/exynos_drm_mic.c
index 8363cb40daed..b78e8c5ba553 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_mic.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_mic.c
@@ -5,23 +5,25 @@
5 * Hyungwon Hwang <human.hwang@samsung.com> 5 * Hyungwon Hwang <human.hwang@samsung.com>
6 */ 6 */
7 7
8#include <linux/platform_device.h> 8#include <linux/clk.h>
9#include <video/of_videomode.h> 9#include <linux/component.h>
10#include <linux/of_address.h>
11#include <video/videomode.h>
12#include <linux/module.h>
13#include <linux/delay.h> 10#include <linux/delay.h>
11#include <linux/mfd/syscon.h>
12#include <linux/module.h>
14#include <linux/mutex.h> 13#include <linux/mutex.h>
15#include <linux/of.h> 14#include <linux/of.h>
15#include <linux/of_address.h>
16#include <linux/of_graph.h> 16#include <linux/of_graph.h>
17#include <linux/clk.h> 17#include <linux/platform_device.h>
18#include <linux/component.h>
19#include <linux/pm_runtime.h> 18#include <linux/pm_runtime.h>
20#include <drm/drmP.h>
21#include <drm/drm_encoder.h>
22#include <linux/mfd/syscon.h>
23#include <linux/regmap.h> 19#include <linux/regmap.h>
24 20
21#include <video/of_videomode.h>
22#include <video/videomode.h>
23
24#include <drm/drm_encoder.h>
25#include <drm/drm_print.h>
26
25#include "exynos_drm_drv.h" 27#include "exynos_drm_drv.h"
26 28
27/* Sysreg registers for MIC */ 29/* Sysreg registers for MIC */
diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c b/drivers/gpu/drm/exynos/exynos_drm_plane.c
index 2f3c9b993acd..b29afced7374 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_plane.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c
@@ -4,14 +4,14 @@
4 * Authors: Joonyoung Shim <jy0922.shim@samsung.com> 4 * Authors: Joonyoung Shim <jy0922.shim@samsung.com>
5 */ 5 */
6 6
7#include <drm/drmP.h>
8 7
9#include <drm/drm_atomic.h> 8#include <drm/drm_atomic.h>
10#include <drm/drm_atomic_helper.h> 9#include <drm/drm_atomic_helper.h>
11#include <drm/drm_plane_helper.h> 10#include <drm/drm_plane_helper.h>
12#include <drm/exynos_drm.h> 11#include <drm/exynos_drm.h>
13#include "exynos_drm_drv.h" 12
14#include "exynos_drm_crtc.h" 13#include "exynos_drm_crtc.h"
14#include "exynos_drm_drv.h"
15#include "exynos_drm_fb.h" 15#include "exynos_drm_fb.h"
16#include "exynos_drm_gem.h" 16#include "exynos_drm_gem.h"
17#include "exynos_drm_plane.h" 17#include "exynos_drm_plane.h"
diff --git a/drivers/gpu/drm/exynos/exynos_drm_rotator.c b/drivers/gpu/drm/exynos/exynos_drm_rotator.c
index 85e30cb6c23f..8ebad2740ad5 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_rotator.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_rotator.c
@@ -6,21 +6,21 @@
6 * Eunchul Kim <chulspro.kim@samsung.com> 6 * Eunchul Kim <chulspro.kim@samsung.com>
7 */ 7 */
8 8
9#include <linux/kernel.h> 9#include <linux/clk.h>
10#include <linux/component.h> 10#include <linux/component.h>
11#include <linux/err.h> 11#include <linux/err.h>
12#include <linux/interrupt.h> 12#include <linux/interrupt.h>
13#include <linux/io.h> 13#include <linux/io.h>
14#include <linux/platform_device.h> 14#include <linux/kernel.h>
15#include <linux/clk.h>
16#include <linux/of_device.h> 15#include <linux/of_device.h>
16#include <linux/platform_device.h>
17#include <linux/pm_runtime.h> 17#include <linux/pm_runtime.h>
18 18
19#include <drm/drmP.h>
20#include <drm/exynos_drm.h> 19#include <drm/exynos_drm.h>
21#include "regs-rotator.h" 20
22#include "exynos_drm_drv.h" 21#include "exynos_drm_drv.h"
23#include "exynos_drm_ipp.h" 22#include "exynos_drm_ipp.h"
23#include "regs-rotator.h"
24 24
25/* 25/*
26 * Rotator supports image crop/rotator and input/output DMA operations. 26 * Rotator supports image crop/rotator and input/output DMA operations.
diff --git a/drivers/gpu/drm/exynos/exynos_drm_scaler.c b/drivers/gpu/drm/exynos/exynos_drm_scaler.c
index ec9c1b7d3103..9af096479e1c 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_scaler.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_scaler.c
@@ -5,22 +5,22 @@
5 * Andrzej Pietrasiewicz <andrzejtp2010@gmail.com> 5 * Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>
6 */ 6 */
7 7
8#include <linux/kernel.h> 8#include <linux/clk.h>
9#include <linux/component.h> 9#include <linux/component.h>
10#include <linux/err.h> 10#include <linux/err.h>
11#include <linux/interrupt.h> 11#include <linux/interrupt.h>
12#include <linux/io.h> 12#include <linux/io.h>
13#include <linux/platform_device.h> 13#include <linux/kernel.h>
14#include <linux/clk.h>
15#include <linux/of_device.h> 14#include <linux/of_device.h>
15#include <linux/platform_device.h>
16#include <linux/pm_runtime.h> 16#include <linux/pm_runtime.h>
17 17
18#include <drm/drmP.h>
19#include <drm/exynos_drm.h> 18#include <drm/exynos_drm.h>
20#include "regs-scaler.h" 19
21#include "exynos_drm_fb.h"
22#include "exynos_drm_drv.h" 20#include "exynos_drm_drv.h"
21#include "exynos_drm_fb.h"
23#include "exynos_drm_ipp.h" 22#include "exynos_drm_ipp.h"
23#include "regs-scaler.h"
24 24
25#define scaler_read(offset) readl(scaler->regs + (offset)) 25#define scaler_read(offset) readl(scaler->regs + (offset))
26#define scaler_write(cfg, offset) writel(cfg, scaler->regs + (offset)) 26#define scaler_write(cfg, offset) writel(cfg, scaler->regs + (offset))
diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
index eb2667b4500c..65b891cb9c50 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
@@ -5,21 +5,20 @@
5 * Authors: 5 * Authors:
6 * Inki Dae <inki.dae@samsung.com> 6 * Inki Dae <inki.dae@samsung.com>
7 */ 7 */
8#include <drm/drmP.h>
9 8
9#include <linux/component.h>
10#include <linux/kernel.h> 10#include <linux/kernel.h>
11#include <linux/platform_device.h> 11#include <linux/platform_device.h>
12#include <linux/component.h>
13#include <linux/timer.h> 12#include <linux/timer.h>
14 13
15#include <drm/exynos_drm.h>
16
17#include <drm/drm_atomic_helper.h> 14#include <drm/drm_atomic_helper.h>
18#include <drm/drm_edid.h> 15#include <drm/drm_edid.h>
19#include <drm/drm_probe_helper.h> 16#include <drm/drm_probe_helper.h>
17#include <drm/drm_vblank.h>
18#include <drm/exynos_drm.h>
20 19
21#include "exynos_drm_drv.h"
22#include "exynos_drm_crtc.h" 20#include "exynos_drm_crtc.h"
21#include "exynos_drm_drv.h"
23#include "exynos_drm_fb.h" 22#include "exynos_drm_fb.h"
24#include "exynos_drm_plane.h" 23#include "exynos_drm_plane.h"
25#include "exynos_drm_vidi.h" 24#include "exynos_drm_vidi.h"
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index 894a99793633..bc1565f1822a 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -9,38 +9,37 @@
9 * Based on drivers/media/video/s5p-tv/hdmi_drv.c 9 * Based on drivers/media/video/s5p-tv/hdmi_drv.c
10 */ 10 */
11 11
12#include <drm/drmP.h> 12#include <drm/exynos_drm.h>
13#include <drm/drm_atomic_helper.h>
14#include <drm/drm_edid.h>
15#include <drm/drm_probe_helper.h>
16
17#include "regs-hdmi.h"
18
19#include <linux/kernel.h>
20#include <linux/wait.h>
21#include <linux/i2c.h>
22#include <linux/platform_device.h>
23#include <linux/interrupt.h>
24#include <linux/irq.h>
25#include <linux/delay.h>
26#include <linux/pm_runtime.h>
27#include <linux/clk.h> 13#include <linux/clk.h>
14#include <linux/component.h>
15#include <linux/delay.h>
28#include <linux/gpio/consumer.h> 16#include <linux/gpio/consumer.h>
29#include <linux/regulator/consumer.h> 17#include <linux/hdmi.h>
18#include <linux/i2c.h>
19#include <linux/interrupt.h>
30#include <linux/io.h> 20#include <linux/io.h>
21#include <linux/irq.h>
22#include <linux/kernel.h>
23#include <linux/mfd/syscon.h>
31#include <linux/of_address.h> 24#include <linux/of_address.h>
32#include <linux/of_device.h> 25#include <linux/of_device.h>
33#include <linux/of_graph.h> 26#include <linux/of_graph.h>
34#include <linux/hdmi.h> 27#include <linux/platform_device.h>
35#include <linux/component.h> 28#include <linux/pm_runtime.h>
36#include <linux/mfd/syscon.h>
37#include <linux/regmap.h> 29#include <linux/regmap.h>
38#include <sound/hdmi-codec.h> 30#include <linux/regulator/consumer.h>
39#include <drm/exynos_drm.h> 31#include <linux/wait.h>
40 32
33#include <sound/hdmi-codec.h>
41#include <media/cec-notifier.h> 34#include <media/cec-notifier.h>
42 35
36#include <drm/drm_atomic_helper.h>
37#include <drm/drm_edid.h>
38#include <drm/drm_print.h>
39#include <drm/drm_probe_helper.h>
40
43#include "exynos_drm_crtc.h" 41#include "exynos_drm_crtc.h"
42#include "regs-hdmi.h"
44 43
45#define HOTPLUG_DEBOUNCE_MS 1100 44#define HOTPLUG_DEBOUNCE_MS 1100
46 45
diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c
index db0b698ea8ea..7b24338fad3c 100644
--- a/drivers/gpu/drm/exynos/exynos_mixer.c
+++ b/drivers/gpu/drm/exynos/exynos_mixer.c
@@ -9,33 +9,32 @@
9 * Based on drivers/media/video/s5p-tv/mixer_reg.c 9 * Based on drivers/media/video/s5p-tv/mixer_reg.c
10 */ 10 */
11 11
12#include <drm/drmP.h> 12#include <linux/clk.h>
13 13#include <linux/component.h>
14#include "regs-mixer.h" 14#include <linux/delay.h>
15#include "regs-vp.h"
16
17#include <linux/kernel.h>
18#include <linux/ktime.h>
19#include <linux/spinlock.h>
20#include <linux/wait.h>
21#include <linux/i2c.h> 15#include <linux/i2c.h>
22#include <linux/platform_device.h>
23#include <linux/interrupt.h> 16#include <linux/interrupt.h>
24#include <linux/irq.h> 17#include <linux/irq.h>
25#include <linux/delay.h> 18#include <linux/kernel.h>
26#include <linux/pm_runtime.h> 19#include <linux/ktime.h>
27#include <linux/clk.h>
28#include <linux/regulator/consumer.h>
29#include <linux/of.h> 20#include <linux/of.h>
30#include <linux/of_device.h> 21#include <linux/of_device.h>
31#include <linux/component.h> 22#include <linux/platform_device.h>
23#include <linux/pm_runtime.h>
24#include <linux/regulator/consumer.h>
25#include <linux/spinlock.h>
26#include <linux/wait.h>
32 27
28#include <drm/drm_fourcc.h>
29#include <drm/drm_vblank.h>
33#include <drm/exynos_drm.h> 30#include <drm/exynos_drm.h>
34 31
35#include "exynos_drm_drv.h"
36#include "exynos_drm_crtc.h" 32#include "exynos_drm_crtc.h"
33#include "exynos_drm_drv.h"
37#include "exynos_drm_fb.h" 34#include "exynos_drm_fb.h"
38#include "exynos_drm_plane.h" 35#include "exynos_drm_plane.h"
36#include "regs-mixer.h"
37#include "regs-vp.h"
39 38
40#define MIXER_WIN_NR 3 39#define MIXER_WIN_NR 3
41#define VP_DEFAULT_WIN 2 40#define VP_DEFAULT_WIN 2