aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/omap2/displays/panel-generic-dpi.c4
-rw-r--r--drivers/video/omap2/displays/panel-lgphilips-lb035q02.c2
-rw-r--r--drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c2
-rw-r--r--drivers/video/omap2/displays/panel-picodlp.c3
-rw-r--r--drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c2
-rw-r--r--drivers/video/omap2/displays/panel-tfp410.c4
-rw-r--r--drivers/video/omap2/displays/panel-tpo-td043mtea1.c4
-rw-r--r--drivers/video/omap2/dss/dpi.c11
8 files changed, 25 insertions, 7 deletions
diff --git a/drivers/video/omap2/displays/panel-generic-dpi.c b/drivers/video/omap2/displays/panel-generic-dpi.c
index 69e78a55283..8d4e102bb0e 100644
--- a/drivers/video/omap2/displays/panel-generic-dpi.c
+++ b/drivers/video/omap2/displays/panel-generic-dpi.c
@@ -565,6 +565,8 @@ static int generic_dpi_panel_power_on(struct omap_dss_device *dssdev)
565 if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) 565 if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE)
566 return 0; 566 return 0;
567 567
568 omapdss_dpi_set_timings(dssdev, &dssdev->panel.timings);
569
568 r = omapdss_dpi_display_enable(dssdev); 570 r = omapdss_dpi_display_enable(dssdev);
569 if (r) 571 if (r)
570 goto err0; 572 goto err0;
@@ -726,7 +728,7 @@ static void generic_dpi_panel_set_timings(struct omap_dss_device *dssdev,
726 728
727 mutex_lock(&drv_data->lock); 729 mutex_lock(&drv_data->lock);
728 730
729 dpi_set_timings(dssdev, timings); 731 omapdss_dpi_set_timings(dssdev, timings);
730 732
731 mutex_unlock(&drv_data->lock); 733 mutex_unlock(&drv_data->lock);
732} 734}
diff --git a/drivers/video/omap2/displays/panel-lgphilips-lb035q02.c b/drivers/video/omap2/displays/panel-lgphilips-lb035q02.c
index 80280779884..7e52aee36f4 100644
--- a/drivers/video/omap2/displays/panel-lgphilips-lb035q02.c
+++ b/drivers/video/omap2/displays/panel-lgphilips-lb035q02.c
@@ -55,6 +55,8 @@ static int lb035q02_panel_power_on(struct omap_dss_device *dssdev)
55 if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) 55 if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE)
56 return 0; 56 return 0;
57 57
58 omapdss_dpi_set_timings(dssdev, &dssdev->panel.timings);
59
58 r = omapdss_dpi_display_enable(dssdev); 60 r = omapdss_dpi_display_enable(dssdev);
59 if (r) 61 if (r)
60 goto err0; 62 goto err0;
diff --git a/drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c b/drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c
index b122b0f31c4..e501c401ccb 100644
--- a/drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c
+++ b/drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c
@@ -175,6 +175,8 @@ static int nec_8048_panel_power_on(struct omap_dss_device *dssdev)
175 if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) 175 if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE)
176 return 0; 176 return 0;
177 177
178 omapdss_dpi_set_timings(dssdev, &dssdev->panel.timings);
179
178 r = omapdss_dpi_display_enable(dssdev); 180 r = omapdss_dpi_display_enable(dssdev);
179 if (r) 181 if (r)
180 goto err0; 182 goto err0;
diff --git a/drivers/video/omap2/displays/panel-picodlp.c b/drivers/video/omap2/displays/panel-picodlp.c
index 2d35bd38886..0d7a8ff50f1 100644
--- a/drivers/video/omap2/displays/panel-picodlp.c
+++ b/drivers/video/omap2/displays/panel-picodlp.c
@@ -377,6 +377,9 @@ static int picodlp_panel_power_on(struct omap_dss_device *dssdev)
377 * then only i2c commands can be successfully sent to dpp2600 377 * then only i2c commands can be successfully sent to dpp2600
378 */ 378 */
379 msleep(1000); 379 msleep(1000);
380
381 omapdss_dpi_set_timings(dssdev, &dssdev->panel.timings);
382
380 r = omapdss_dpi_display_enable(dssdev); 383 r = omapdss_dpi_display_enable(dssdev);
381 if (r) { 384 if (r) {
382 dev_err(&dssdev->dev, "failed to enable DPI\n"); 385 dev_err(&dssdev->dev, "failed to enable DPI\n");
diff --git a/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c b/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c
index bd86ba9ccf7..1486a81fc8b 100644
--- a/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c
+++ b/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c
@@ -142,6 +142,8 @@ static int sharp_ls_power_on(struct omap_dss_device *dssdev)
142 if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) 142 if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE)
143 return 0; 143 return 0;
144 144
145 omapdss_dpi_set_timings(dssdev, &dssdev->panel.timings);
146
145 r = omapdss_dpi_display_enable(dssdev); 147 r = omapdss_dpi_display_enable(dssdev);
146 if (r) 148 if (r)
147 goto err0; 149 goto err0;
diff --git a/drivers/video/omap2/displays/panel-tfp410.c b/drivers/video/omap2/displays/panel-tfp410.c
index 40cc0cfa5d1..c6f950321f2 100644
--- a/drivers/video/omap2/displays/panel-tfp410.c
+++ b/drivers/video/omap2/displays/panel-tfp410.c
@@ -65,6 +65,8 @@ static int tfp410_power_on(struct omap_dss_device *dssdev)
65 if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) 65 if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE)
66 return 0; 66 return 0;
67 67
68 omapdss_dpi_set_timings(dssdev, &dssdev->panel.timings);
69
68 r = omapdss_dpi_display_enable(dssdev); 70 r = omapdss_dpi_display_enable(dssdev);
69 if (r) 71 if (r)
70 goto err0; 72 goto err0;
@@ -231,7 +233,7 @@ static void tfp410_set_timings(struct omap_dss_device *dssdev,
231 struct panel_drv_data *ddata = dev_get_drvdata(&dssdev->dev); 233 struct panel_drv_data *ddata = dev_get_drvdata(&dssdev->dev);
232 234
233 mutex_lock(&ddata->lock); 235 mutex_lock(&ddata->lock);
234 dpi_set_timings(dssdev, timings); 236 omapdss_dpi_set_timings(dssdev, timings);
235 mutex_unlock(&ddata->lock); 237 mutex_unlock(&ddata->lock);
236} 238}
237 239
diff --git a/drivers/video/omap2/displays/panel-tpo-td043mtea1.c b/drivers/video/omap2/displays/panel-tpo-td043mtea1.c
index fa7baa650ae..ecb163e4cfa 100644
--- a/drivers/video/omap2/displays/panel-tpo-td043mtea1.c
+++ b/drivers/video/omap2/displays/panel-tpo-td043mtea1.c
@@ -337,6 +337,8 @@ static int tpo_td043_enable_dss(struct omap_dss_device *dssdev)
337 if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) 337 if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE)
338 return 0; 338 return 0;
339 339
340 omapdss_dpi_set_timings(dssdev, &dssdev->panel.timings);
341
340 r = omapdss_dpi_display_enable(dssdev); 342 r = omapdss_dpi_display_enable(dssdev);
341 if (r) 343 if (r)
342 goto err0; 344 goto err0;
@@ -480,7 +482,7 @@ static void tpo_td043_remove(struct omap_dss_device *dssdev)
480static void tpo_td043_set_timings(struct omap_dss_device *dssdev, 482static void tpo_td043_set_timings(struct omap_dss_device *dssdev,
481 struct omap_video_timings *timings) 483 struct omap_video_timings *timings)
482{ 484{
483 dpi_set_timings(dssdev, timings); 485 omapdss_dpi_set_timings(dssdev, timings);
484} 486}
485 487
486static int tpo_td043_check_timings(struct omap_dss_device *dssdev, 488static int tpo_td043_check_timings(struct omap_dss_device *dssdev,
diff --git a/drivers/video/omap2/dss/dpi.c b/drivers/video/omap2/dss/dpi.c
index 15c2c3301f4..97c7a10bc9f 100644
--- a/drivers/video/omap2/dss/dpi.c
+++ b/drivers/video/omap2/dss/dpi.c
@@ -41,6 +41,7 @@ static struct {
41 41
42 struct mutex lock; 42 struct mutex lock;
43 43
44 struct omap_video_timings timings;
44 struct dss_lcd_mgr_config mgr_config; 45 struct dss_lcd_mgr_config mgr_config;
45} dpi; 46} dpi;
46 47
@@ -123,7 +124,7 @@ static int dpi_set_dispc_clk(struct omap_dss_device *dssdev,
123 124
124static int dpi_set_mode(struct omap_dss_device *dssdev) 125static int dpi_set_mode(struct omap_dss_device *dssdev)
125{ 126{
126 struct omap_video_timings *t = &dssdev->panel.timings; 127 struct omap_video_timings *t = &dpi.timings;
127 int lck_div = 0, pck_div = 0; 128 int lck_div = 0, pck_div = 0;
128 unsigned long fck = 0; 129 unsigned long fck = 0;
129 unsigned long pck; 130 unsigned long pck;
@@ -272,8 +273,8 @@ void omapdss_dpi_display_disable(struct omap_dss_device *dssdev)
272} 273}
273EXPORT_SYMBOL(omapdss_dpi_display_disable); 274EXPORT_SYMBOL(omapdss_dpi_display_disable);
274 275
275void dpi_set_timings(struct omap_dss_device *dssdev, 276void omapdss_dpi_set_timings(struct omap_dss_device *dssdev,
276 struct omap_video_timings *timings) 277 struct omap_video_timings *timings)
277{ 278{
278 int r; 279 int r;
279 280
@@ -281,7 +282,9 @@ void dpi_set_timings(struct omap_dss_device *dssdev,
281 282
282 mutex_lock(&dpi.lock); 283 mutex_lock(&dpi.lock);
283 284
285 dpi.timings = *timings;
284 dssdev->panel.timings = *timings; 286 dssdev->panel.timings = *timings;
287
285 if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) { 288 if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) {
286 r = dispc_runtime_get(); 289 r = dispc_runtime_get();
287 if (r) 290 if (r)
@@ -296,7 +299,7 @@ void dpi_set_timings(struct omap_dss_device *dssdev,
296 299
297 mutex_unlock(&dpi.lock); 300 mutex_unlock(&dpi.lock);
298} 301}
299EXPORT_SYMBOL(dpi_set_timings); 302EXPORT_SYMBOL(omapdss_dpi_set_timings);
300 303
301int dpi_check_timings(struct omap_dss_device *dssdev, 304int dpi_check_timings(struct omap_dss_device *dssdev,
302 struct omap_video_timings *timings) 305 struct omap_video_timings *timings)