aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2011-11-04 04:22:46 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2011-12-02 01:54:31 -0500
commit7797c6da64852b06b585b7eca8d3f657bfc9fa47 (patch)
tree560338e72d4a498e9a0164dbf0da8b54ff4ae3a1
parent58f2554807a7dc627f1583d1d4363b85758cf685 (diff)
OMAPDSS: hide manager's enable/disable()
omap_overlay_manager struct contains enable() and disable() functions. However, these are only meant to be used from inside omapdss, and thus it's bad to expose the functions. This patch adds dss_mgr_enable() and dss_mgr_disable() functions to apply.c, which handle enabling and disabling the output. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
-rw-r--r--drivers/video/omap2/dss/apply.c12
-rw-r--r--drivers/video/omap2/dss/dpi.c4
-rw-r--r--drivers/video/omap2/dss/dsi.c4
-rw-r--r--drivers/video/omap2/dss/dss.h2
-rw-r--r--drivers/video/omap2/dss/hdmi.c6
-rw-r--r--drivers/video/omap2/dss/manager.c15
-rw-r--r--drivers/video/omap2/dss/sdi.c4
-rw-r--r--drivers/video/omap2/dss/venc.c4
-rw-r--r--include/video/omapdss.h3
9 files changed, 24 insertions, 30 deletions
diff --git a/drivers/video/omap2/dss/apply.c b/drivers/video/omap2/dss/apply.c
index c634c986293d..414cbd907239 100644
--- a/drivers/video/omap2/dss/apply.c
+++ b/drivers/video/omap2/dss/apply.c
@@ -424,7 +424,7 @@ void dss_mgr_start_update(struct omap_overlay_manager *mgr)
424 mc->shadow_dirty = false; 424 mc->shadow_dirty = false;
425 } 425 }
426 426
427 mgr->enable(mgr); 427 dispc_mgr_enable(mgr->id, true);
428} 428}
429 429
430static void dss_apply_irq_handler(void *data, u32 mask) 430static void dss_apply_irq_handler(void *data, u32 mask)
@@ -654,3 +654,13 @@ int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
654 return r; 654 return r;
655} 655}
656 656
657void dss_mgr_enable(struct omap_overlay_manager *mgr)
658{
659 dispc_mgr_enable(mgr->id, true);
660}
661
662void dss_mgr_disable(struct omap_overlay_manager *mgr)
663{
664 dispc_mgr_enable(mgr->id, false);
665}
666
diff --git a/drivers/video/omap2/dss/dpi.c b/drivers/video/omap2/dss/dpi.c
index 976ac23dcd0c..79c4df3c9a88 100644
--- a/drivers/video/omap2/dss/dpi.c
+++ b/drivers/video/omap2/dss/dpi.c
@@ -223,7 +223,7 @@ int omapdss_dpi_display_enable(struct omap_dss_device *dssdev)
223 223
224 mdelay(2); 224 mdelay(2);
225 225
226 dssdev->manager->enable(dssdev->manager); 226 dss_mgr_enable(dssdev->manager);
227 227
228 return 0; 228 return 0;
229 229
@@ -249,7 +249,7 @@ EXPORT_SYMBOL(omapdss_dpi_display_enable);
249 249
250void omapdss_dpi_display_disable(struct omap_dss_device *dssdev) 250void omapdss_dpi_display_disable(struct omap_dss_device *dssdev)
251{ 251{
252 dssdev->manager->disable(dssdev->manager); 252 dss_mgr_disable(dssdev->manager);
253 253
254 if (dpi_use_dsi_pll(dssdev)) { 254 if (dpi_use_dsi_pll(dssdev)) {
255 dss_select_dispc_clk_source(OMAP_DSS_CLK_SRC_FCK); 255 dss_select_dispc_clk_source(OMAP_DSS_CLK_SRC_FCK);
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index 101e3b8e178b..9358afa2a77e 100644
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -4010,7 +4010,7 @@ int dsi_video_mode_enable(struct omap_dss_device *dssdev, int channel)
4010 dsi_vc_enable(dsidev, channel, true); 4010 dsi_vc_enable(dsidev, channel, true);
4011 dsi_if_enable(dsidev, true); 4011 dsi_if_enable(dsidev, true);
4012 4012
4013 dssdev->manager->enable(dssdev->manager); 4013 dss_mgr_enable(dssdev->manager);
4014 4014
4015 return 0; 4015 return 0;
4016} 4016}
@@ -4029,7 +4029,7 @@ void dsi_video_mode_disable(struct omap_dss_device *dssdev, int channel)
4029 dsi_vc_enable(dsidev, channel, true); 4029 dsi_vc_enable(dsidev, channel, true);
4030 dsi_if_enable(dsidev, true); 4030 dsi_if_enable(dsidev, true);
4031 4031
4032 dssdev->manager->disable(dssdev->manager); 4032 dss_mgr_disable(dssdev->manager);
4033} 4033}
4034EXPORT_SYMBOL(dsi_video_mode_disable); 4034EXPORT_SYMBOL(dsi_video_mode_disable);
4035 4035
diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
index e6f961aa4362..03c724475bcc 100644
--- a/drivers/video/omap2/dss/dss.h
+++ b/drivers/video/omap2/dss/dss.h
@@ -169,6 +169,8 @@ int dss_mgr_wait_for_go(struct omap_overlay_manager *mgr);
169int dss_mgr_wait_for_go_ovl(struct omap_overlay *ovl); 169int dss_mgr_wait_for_go_ovl(struct omap_overlay *ovl);
170void dss_mgr_start_update(struct omap_overlay_manager *mgr); 170void dss_mgr_start_update(struct omap_overlay_manager *mgr);
171int omap_dss_mgr_apply(struct omap_overlay_manager *mgr); 171int omap_dss_mgr_apply(struct omap_overlay_manager *mgr);
172void dss_mgr_enable(struct omap_overlay_manager *mgr);
173void dss_mgr_disable(struct omap_overlay_manager *mgr);
172 174
173/* display */ 175/* display */
174int dss_suspend_all_devices(void); 176int dss_suspend_all_devices(void);
diff --git a/drivers/video/omap2/dss/hdmi.c b/drivers/video/omap2/dss/hdmi.c
index c56378c555b0..e245a2bbba9d 100644
--- a/drivers/video/omap2/dss/hdmi.c
+++ b/drivers/video/omap2/dss/hdmi.c
@@ -333,7 +333,7 @@ static int hdmi_power_on(struct omap_dss_device *dssdev)
333 if (r) 333 if (r)
334 return r; 334 return r;
335 335
336 dispc_mgr_enable(OMAP_DSS_CHANNEL_DIGIT, 0); 336 dss_mgr_disable(dssdev->manager);
337 337
338 p = &dssdev->panel.timings; 338 p = &dssdev->panel.timings;
339 339
@@ -387,7 +387,7 @@ static int hdmi_power_on(struct omap_dss_device *dssdev)
387 387
388 hdmi.ip_data.ops->video_enable(&hdmi.ip_data, 1); 388 hdmi.ip_data.ops->video_enable(&hdmi.ip_data, 1);
389 389
390 dispc_mgr_enable(OMAP_DSS_CHANNEL_DIGIT, 1); 390 dss_mgr_enable(dssdev->manager);
391 391
392 return 0; 392 return 0;
393err: 393err:
@@ -397,7 +397,7 @@ err:
397 397
398static void hdmi_power_off(struct omap_dss_device *dssdev) 398static void hdmi_power_off(struct omap_dss_device *dssdev)
399{ 399{
400 dispc_mgr_enable(OMAP_DSS_CHANNEL_DIGIT, 0); 400 dss_mgr_disable(dssdev->manager);
401 401
402 hdmi.ip_data.ops->video_enable(&hdmi.ip_data, 0); 402 hdmi.ip_data.ops->video_enable(&hdmi.ip_data, 0);
403 hdmi.ip_data.ops->phy_disable(&hdmi.ip_data); 403 hdmi.ip_data.ops->phy_disable(&hdmi.ip_data);
diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
index f9e691b4ba4a..780a307c815e 100644
--- a/drivers/video/omap2/dss/manager.c
+++ b/drivers/video/omap2/dss/manager.c
@@ -585,18 +585,6 @@ static void omap_dss_mgr_get_info(struct omap_overlay_manager *mgr,
585 *info = mgr->info; 585 *info = mgr->info;
586} 586}
587 587
588static int dss_mgr_enable(struct omap_overlay_manager *mgr)
589{
590 dispc_mgr_enable(mgr->id, 1);
591 return 0;
592}
593
594static int dss_mgr_disable(struct omap_overlay_manager *mgr)
595{
596 dispc_mgr_enable(mgr->id, 0);
597 return 0;
598}
599
600static void omap_dss_add_overlay_manager(struct omap_overlay_manager *manager) 588static void omap_dss_add_overlay_manager(struct omap_overlay_manager *manager)
601{ 589{
602 ++num_managers; 590 ++num_managers;
@@ -640,9 +628,6 @@ int dss_init_overlay_managers(struct platform_device *pdev)
640 mgr->wait_for_go = &dss_mgr_wait_for_go; 628 mgr->wait_for_go = &dss_mgr_wait_for_go;
641 mgr->wait_for_vsync = &dss_mgr_wait_for_vsync; 629 mgr->wait_for_vsync = &dss_mgr_wait_for_vsync;
642 630
643 mgr->enable = &dss_mgr_enable;
644 mgr->disable = &dss_mgr_disable;
645
646 mgr->caps = 0; 631 mgr->caps = 0;
647 mgr->supported_displays = 632 mgr->supported_displays =
648 dss_feat_get_supported_displays(mgr->id); 633 dss_feat_get_supported_displays(mgr->id);
diff --git a/drivers/video/omap2/dss/sdi.c b/drivers/video/omap2/dss/sdi.c
index 40305ad7841e..02da8beb7304 100644
--- a/drivers/video/omap2/dss/sdi.c
+++ b/drivers/video/omap2/dss/sdi.c
@@ -123,7 +123,7 @@ int omapdss_sdi_display_enable(struct omap_dss_device *dssdev)
123 goto err_sdi_enable; 123 goto err_sdi_enable;
124 mdelay(2); 124 mdelay(2);
125 125
126 dssdev->manager->enable(dssdev->manager); 126 dss_mgr_enable(dssdev->manager);
127 127
128 return 0; 128 return 0;
129 129
@@ -145,7 +145,7 @@ EXPORT_SYMBOL(omapdss_sdi_display_enable);
145 145
146void omapdss_sdi_display_disable(struct omap_dss_device *dssdev) 146void omapdss_sdi_display_disable(struct omap_dss_device *dssdev)
147{ 147{
148 dssdev->manager->disable(dssdev->manager); 148 dss_mgr_disable(dssdev->manager);
149 149
150 dss_sdi_disable(); 150 dss_sdi_disable();
151 151
diff --git a/drivers/video/omap2/dss/venc.c b/drivers/video/omap2/dss/venc.c
index 7533458ba4d2..101fcd77a50d 100644
--- a/drivers/video/omap2/dss/venc.c
+++ b/drivers/video/omap2/dss/venc.c
@@ -447,7 +447,7 @@ static void venc_power_on(struct omap_dss_device *dssdev)
447 if (dssdev->platform_enable) 447 if (dssdev->platform_enable)
448 dssdev->platform_enable(dssdev); 448 dssdev->platform_enable(dssdev);
449 449
450 dssdev->manager->enable(dssdev->manager); 450 dss_mgr_enable(dssdev->manager);
451} 451}
452 452
453static void venc_power_off(struct omap_dss_device *dssdev) 453static void venc_power_off(struct omap_dss_device *dssdev)
@@ -455,7 +455,7 @@ static void venc_power_off(struct omap_dss_device *dssdev)
455 venc_write_reg(VENC_OUTPUT_CONTROL, 0); 455 venc_write_reg(VENC_OUTPUT_CONTROL, 0);
456 dss_set_dac_pwrdn_bgz(0); 456 dss_set_dac_pwrdn_bgz(0);
457 457
458 dssdev->manager->disable(dssdev->manager); 458 dss_mgr_disable(dssdev->manager);
459 459
460 if (dssdev->platform_disable) 460 if (dssdev->platform_disable)
461 dssdev->platform_disable(dssdev); 461 dssdev->platform_disable(dssdev);
diff --git a/include/video/omapdss.h b/include/video/omapdss.h
index 60bf4260253b..04741cd4c32a 100644
--- a/include/video/omapdss.h
+++ b/include/video/omapdss.h
@@ -448,9 +448,6 @@ struct omap_overlay_manager {
448 int (*apply)(struct omap_overlay_manager *mgr); 448 int (*apply)(struct omap_overlay_manager *mgr);
449 int (*wait_for_go)(struct omap_overlay_manager *mgr); 449 int (*wait_for_go)(struct omap_overlay_manager *mgr);
450 int (*wait_for_vsync)(struct omap_overlay_manager *mgr); 450 int (*wait_for_vsync)(struct omap_overlay_manager *mgr);
451
452 int (*enable)(struct omap_overlay_manager *mgr);
453 int (*disable)(struct omap_overlay_manager *mgr);
454}; 451};
455 452
456struct omap_dss_device { 453struct omap_dss_device {