aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/drm_edid.c3
-rw-r--r--drivers/gpu/drm/exynos/exynos_ddc.c22
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_connector.c50
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_connector.h4
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_core.c100
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_crtc.c20
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_drv.h19
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_encoder.c116
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fb.c65
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fb.h20
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fbdev.c3
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fimd.c117
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_g2d.c5
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_hdmi.c62
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_hdmi.h3
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_plane.c58
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_vidi.c24
-rw-r--r--drivers/gpu/drm/exynos/exynos_hdmi.c196
-rw-r--r--drivers/gpu/drm/exynos/exynos_hdmiphy.c12
-rw-r--r--drivers/gpu/drm/exynos/exynos_mixer.c240
-rw-r--r--drivers/gpu/drm/exynos/regs-mixer.h3
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c14
-rw-r--r--drivers/gpu/drm/i915/i915_gem_context.c2
-rw-r--r--drivers/gpu/drm/i915/i915_gem_tiling.c5
-rw-r--r--drivers/gpu/drm/i915/i915_irq.c16
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h3
-rw-r--r--drivers/gpu/drm/i915/intel_display.c52
-rw-r--r--drivers/gpu/drm/i915/intel_dp.c73
-rw-r--r--drivers/gpu/drm/i915/intel_drv.h2
-rw-r--r--drivers/gpu/drm/i915/intel_pm.c5
-rw-r--r--include/drm/Kbuild15
-rw-r--r--include/drm/drm_crtc.h1
-rw-r--r--include/drm/drm_dp_helper.h101
-rw-r--r--include/drm/exynos_drm.h175
-rw-r--r--include/drm/i915_drm.h920
-rw-r--r--include/media/s5p_hdmi.h2
-rw-r--r--include/uapi/drm/Kbuild15
-rw-r--r--include/uapi/drm/drm.h (renamed from include/drm/drm.h)0
-rw-r--r--include/uapi/drm/drm_fourcc.h (renamed from include/drm/drm_fourcc.h)0
-rw-r--r--include/uapi/drm/drm_mode.h (renamed from include/drm/drm_mode.h)0
-rw-r--r--include/uapi/drm/drm_sarea.h (renamed from include/drm/drm_sarea.h)0
-rw-r--r--include/uapi/drm/exynos_drm.h203
-rw-r--r--include/uapi/drm/i810_drm.h (renamed from include/drm/i810_drm.h)0
-rw-r--r--include/uapi/drm/i915_drm.h947
-rw-r--r--include/uapi/drm/mga_drm.h (renamed from include/drm/mga_drm.h)0
-rw-r--r--include/uapi/drm/nouveau_drm.h (renamed from include/drm/nouveau_drm.h)0
-rw-r--r--include/uapi/drm/r128_drm.h (renamed from include/drm/r128_drm.h)0
-rw-r--r--include/uapi/drm/radeon_drm.h (renamed from include/drm/radeon_drm.h)0
-rw-r--r--include/uapi/drm/savage_drm.h (renamed from include/drm/savage_drm.h)0
-rw-r--r--include/uapi/drm/sis_drm.h (renamed from include/drm/sis_drm.h)0
-rw-r--r--include/uapi/drm/via_drm.h (renamed from include/drm/via_drm.h)0
-rw-r--r--include/uapi/drm/vmwgfx_drm.h (renamed from include/drm/vmwgfx_drm.h)0
52 files changed, 2267 insertions, 1426 deletions
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 5dda07cf7097..fadcd44ff196 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -395,13 +395,14 @@ out:
395 * \param adapter : i2c device adaptor 395 * \param adapter : i2c device adaptor
396 * \return 1 on success 396 * \return 1 on success
397 */ 397 */
398static bool 398bool
399drm_probe_ddc(struct i2c_adapter *adapter) 399drm_probe_ddc(struct i2c_adapter *adapter)
400{ 400{
401 unsigned char out; 401 unsigned char out;
402 402
403 return (drm_do_probe_ddc_edid(adapter, &out, 0, 1) == 0); 403 return (drm_do_probe_ddc_edid(adapter, &out, 0, 1) == 0);
404} 404}
405EXPORT_SYMBOL(drm_probe_ddc);
405 406
406/** 407/**
407 * drm_get_edid - get EDID data, if available 408 * drm_get_edid - get EDID data, if available
diff --git a/drivers/gpu/drm/exynos/exynos_ddc.c b/drivers/gpu/drm/exynos/exynos_ddc.c
index 961a1806a246..37e6ec704e1d 100644
--- a/drivers/gpu/drm/exynos/exynos_ddc.c
+++ b/drivers/gpu/drm/exynos/exynos_ddc.c
@@ -26,29 +26,41 @@ static int s5p_ddc_probe(struct i2c_client *client,
26{ 26{
27 hdmi_attach_ddc_client(client); 27 hdmi_attach_ddc_client(client);
28 28
29 dev_info(&client->adapter->dev, "attached s5p_ddc " 29 dev_info(&client->adapter->dev,
30 "into i2c adapter successfully\n"); 30 "attached %s into i2c adapter successfully\n",
31 client->name);
31 32
32 return 0; 33 return 0;
33} 34}
34 35
35static int s5p_ddc_remove(struct i2c_client *client) 36static int s5p_ddc_remove(struct i2c_client *client)
36{ 37{
37 dev_info(&client->adapter->dev, "detached s5p_ddc " 38 dev_info(&client->adapter->dev,
38 "from i2c adapter successfully\n"); 39 "detached %s from i2c adapter successfully\n",
40 client->name);
39 41
40 return 0; 42 return 0;
41} 43}
42 44
43static struct i2c_device_id ddc_idtable[] = { 45static struct i2c_device_id ddc_idtable[] = {
44 {"s5p_ddc", 0}, 46 {"s5p_ddc", 0},
47 {"exynos5-hdmiddc", 0},
45 { }, 48 { },
46}; 49};
47 50
51static struct of_device_id hdmiddc_match_types[] = {
52 {
53 .compatible = "samsung,exynos5-hdmiddc",
54 }, {
55 /* end node */
56 }
57};
58
48struct i2c_driver ddc_driver = { 59struct i2c_driver ddc_driver = {
49 .driver = { 60 .driver = {
50 .name = "s5p_ddc", 61 .name = "exynos-hdmiddc",
51 .owner = THIS_MODULE, 62 .owner = THIS_MODULE,
63 .of_match_table = hdmiddc_match_types,
52 }, 64 },
53 .id_table = ddc_idtable, 65 .id_table = ddc_idtable,
54 .probe = s5p_ddc_probe, 66 .probe = s5p_ddc_probe,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_connector.c b/drivers/gpu/drm/exynos/exynos_drm_connector.c
index c2b1b1441ed0..18c271862ca8 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_connector.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_connector.c
@@ -40,6 +40,7 @@ struct exynos_drm_connector {
40 struct drm_connector drm_connector; 40 struct drm_connector drm_connector;
41 uint32_t encoder_id; 41 uint32_t encoder_id;
42 struct exynos_drm_manager *manager; 42 struct exynos_drm_manager *manager;
43 uint32_t dpms;
43}; 44};
44 45
45/* convert exynos_video_timings to drm_display_mode */ 46/* convert exynos_video_timings to drm_display_mode */
@@ -149,8 +150,12 @@ static int exynos_drm_connector_get_modes(struct drm_connector *connector)
149 count = drm_add_edid_modes(connector, edid); 150 count = drm_add_edid_modes(connector, edid);
150 kfree(edid); 151 kfree(edid);
151 } else { 152 } else {
152 struct drm_display_mode *mode = drm_mode_create(connector->dev);
153 struct exynos_drm_panel_info *panel; 153 struct exynos_drm_panel_info *panel;
154 struct drm_display_mode *mode = drm_mode_create(connector->dev);
155 if (!mode) {
156 DRM_ERROR("failed to create a new display mode.\n");
157 return 0;
158 }
154 159
155 if (display_ops->get_panel) 160 if (display_ops->get_panel)
156 panel = display_ops->get_panel(manager->dev); 161 panel = display_ops->get_panel(manager->dev);
@@ -194,8 +199,7 @@ static int ex