diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2011-11-04 04:22:46 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2011-12-02 01:54:31 -0500 |
commit | 7797c6da64852b06b585b7eca8d3f657bfc9fa47 (patch) | |
tree | 560338e72d4a498e9a0164dbf0da8b54ff4ae3a1 | |
parent | 58f2554807a7dc627f1583d1d4363b85758cf685 (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.c | 12 | ||||
-rw-r--r-- | drivers/video/omap2/dss/dpi.c | 4 | ||||
-rw-r--r-- | drivers/video/omap2/dss/dsi.c | 4 | ||||
-rw-r--r-- | drivers/video/omap2/dss/dss.h | 2 | ||||
-rw-r--r-- | drivers/video/omap2/dss/hdmi.c | 6 | ||||
-rw-r--r-- | drivers/video/omap2/dss/manager.c | 15 | ||||
-rw-r--r-- | drivers/video/omap2/dss/sdi.c | 4 | ||||
-rw-r--r-- | drivers/video/omap2/dss/venc.c | 4 | ||||
-rw-r--r-- | include/video/omapdss.h | 3 |
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 | ||
430 | static void dss_apply_irq_handler(void *data, u32 mask) | 430 | static 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 | ||
657 | void dss_mgr_enable(struct omap_overlay_manager *mgr) | ||
658 | { | ||
659 | dispc_mgr_enable(mgr->id, true); | ||
660 | } | ||
661 | |||
662 | void 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 | ||
250 | void omapdss_dpi_display_disable(struct omap_dss_device *dssdev) | 250 | void 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 | } |
4034 | EXPORT_SYMBOL(dsi_video_mode_disable); | 4034 | EXPORT_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); | |||
169 | int dss_mgr_wait_for_go_ovl(struct omap_overlay *ovl); | 169 | int dss_mgr_wait_for_go_ovl(struct omap_overlay *ovl); |
170 | void dss_mgr_start_update(struct omap_overlay_manager *mgr); | 170 | void dss_mgr_start_update(struct omap_overlay_manager *mgr); |
171 | int omap_dss_mgr_apply(struct omap_overlay_manager *mgr); | 171 | int omap_dss_mgr_apply(struct omap_overlay_manager *mgr); |
172 | void dss_mgr_enable(struct omap_overlay_manager *mgr); | ||
173 | void dss_mgr_disable(struct omap_overlay_manager *mgr); | ||
172 | 174 | ||
173 | /* display */ | 175 | /* display */ |
174 | int dss_suspend_all_devices(void); | 176 | int 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; |
393 | err: | 393 | err: |
@@ -397,7 +397,7 @@ err: | |||
397 | 397 | ||
398 | static void hdmi_power_off(struct omap_dss_device *dssdev) | 398 | static 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 | ||
588 | static int dss_mgr_enable(struct omap_overlay_manager *mgr) | ||
589 | { | ||
590 | dispc_mgr_enable(mgr->id, 1); | ||
591 | return 0; | ||
592 | } | ||
593 | |||
594 | static int dss_mgr_disable(struct omap_overlay_manager *mgr) | ||
595 | { | ||
596 | dispc_mgr_enable(mgr->id, 0); | ||
597 | return 0; | ||
598 | } | ||
599 | |||
600 | static void omap_dss_add_overlay_manager(struct omap_overlay_manager *manager) | 588 | static 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 | ||
146 | void omapdss_sdi_display_disable(struct omap_dss_device *dssdev) | 146 | void 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 | ||
453 | static void venc_power_off(struct omap_dss_device *dssdev) | 453 | static 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 | ||
456 | struct omap_dss_device { | 453 | struct omap_dss_device { |