aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss/manager.c
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@nokia.com>2010-01-08 10:14:53 -0500
committerTomi Valkeinen <tomi.valkeinen@nokia.com>2010-02-24 07:31:27 -0500
commita2faee84f6d8e35150d60514c6638d223509fa13 (patch)
tree6af54db0ab5a67c0fc068146cf03c77f85225d41 /drivers/video/omap2/dss/manager.c
parent3f71cbe736e7e9909559fcc4463f43e4b4b348a8 (diff)
OMAP: DSS2: move enable/disable_channel to overlay manager
Move enable/disable_channel() from omap_dss_device to overlay manager. This is part of a larger patch-set, which moves the control from omapdss driver to the display driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Diffstat (limited to 'drivers/video/omap2/dss/manager.c')
-rw-r--r--drivers/video/omap2/dss/manager.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
index 486cd4aec652..4ede519c0a31 100644
--- a/drivers/video/omap2/dss/manager.c
+++ b/drivers/video/omap2/dss/manager.c
@@ -1077,7 +1077,7 @@ void dss_start_update(struct omap_dss_device *dssdev)
1077 mc->shadow_dirty = false; 1077 mc->shadow_dirty = false;
1078 } 1078 }
1079 1079
1080 dispc_enable_lcd_out(1); 1080 dssdev->manager->enable(dssdev->manager);
1081} 1081}
1082 1082
1083static void dss_apply_irq_handler(void *data, u32 mask) 1083static void dss_apply_irq_handler(void *data, u32 mask)
@@ -1364,6 +1364,18 @@ static void omap_dss_mgr_get_info(struct omap_overlay_manager *mgr,
1364 *info = mgr->info; 1364 *info = mgr->info;
1365} 1365}
1366 1366
1367static int dss_mgr_enable(struct omap_overlay_manager *mgr)
1368{
1369 dispc_enable_channel(mgr->id, 1);
1370 return 0;
1371}
1372
1373static int dss_mgr_disable(struct omap_overlay_manager *mgr)
1374{
1375 dispc_enable_channel(mgr->id, 0);
1376 return 0;
1377}
1378
1367static void omap_dss_add_overlay_manager(struct omap_overlay_manager *manager) 1379static void omap_dss_add_overlay_manager(struct omap_overlay_manager *manager)
1368{ 1380{
1369 ++num_managers; 1381 ++num_managers;
@@ -1409,6 +1421,9 @@ int dss_init_overlay_managers(struct platform_device *pdev)
1409 mgr->wait_for_go = &dss_mgr_wait_for_go; 1421 mgr->wait_for_go = &dss_mgr_wait_for_go;
1410 mgr->wait_for_vsync = &dss_mgr_wait_for_vsync; 1422 mgr->wait_for_vsync = &dss_mgr_wait_for_vsync;
1411 1423
1424 mgr->enable = &dss_mgr_enable;
1425 mgr->disable = &dss_mgr_disable;
1426
1412 mgr->caps = OMAP_DSS_OVL_MGR_CAP_DISPC; 1427 mgr->caps = OMAP_DSS_OVL_MGR_CAP_DISPC;
1413 1428
1414 dss_overlay_setup_dispc_manager(mgr); 1429 dss_overlay_setup_dispc_manager(mgr);