diff options
Diffstat (limited to 'drivers/video/omap2/dss/overlay.c')
-rw-r--r-- | drivers/video/omap2/dss/overlay.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/video/omap2/dss/overlay.c b/drivers/video/omap2/dss/overlay.c index 456efef03c20..f1aca6d04011 100644 --- a/drivers/video/omap2/dss/overlay.c +++ b/drivers/video/omap2/dss/overlay.c | |||
@@ -490,7 +490,7 @@ static int omap_dss_set_manager(struct omap_overlay *ovl, | |||
490 | 490 | ||
491 | ovl->manager = mgr; | 491 | ovl->manager = mgr; |
492 | 492 | ||
493 | dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1); | 493 | dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK); |
494 | /* XXX: on manual update display, in auto update mode, a bug happens | 494 | /* XXX: on manual update display, in auto update mode, a bug happens |
495 | * here. When an overlay is first enabled on LCD, then it's disabled, | 495 | * here. When an overlay is first enabled on LCD, then it's disabled, |
496 | * and the manager is changed to TV, we sometimes get SYNC_LOST_DIGIT | 496 | * and the manager is changed to TV, we sometimes get SYNC_LOST_DIGIT |
@@ -499,7 +499,7 @@ static int omap_dss_set_manager(struct omap_overlay *ovl, | |||
499 | * but I don't understand how or why. */ | 499 | * but I don't understand how or why. */ |
500 | msleep(40); | 500 | msleep(40); |
501 | dispc_set_channel_out(ovl->id, mgr->id); | 501 | dispc_set_channel_out(ovl->id, mgr->id); |
502 | dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1); | 502 | dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK); |
503 | 503 | ||
504 | return 0; | 504 | return 0; |
505 | } | 505 | } |
@@ -679,7 +679,8 @@ void dss_recheck_connections(struct omap_dss_device *dssdev, bool force) | |||
679 | lcd2_mgr->set_device(lcd2_mgr, dssdev); | 679 | lcd2_mgr->set_device(lcd2_mgr, dssdev); |
680 | mgr = lcd2_mgr; | 680 | mgr = lcd2_mgr; |
681 | } | 681 | } |
682 | } else if (dssdev->type != OMAP_DISPLAY_TYPE_VENC) { | 682 | } else if (dssdev->type != OMAP_DISPLAY_TYPE_VENC |
683 | && dssdev->type != OMAP_DISPLAY_TYPE_HDMI) { | ||
683 | if (!lcd_mgr->device || force) { | 684 | if (!lcd_mgr->device || force) { |
684 | if (lcd_mgr->device) | 685 | if (lcd_mgr->device) |
685 | lcd_mgr->unset_device(lcd_mgr); | 686 | lcd_mgr->unset_device(lcd_mgr); |
@@ -688,7 +689,8 @@ void dss_recheck_connections(struct omap_dss_device *dssdev, bool force) | |||
688 | } | 689 | } |
689 | } | 690 | } |
690 | 691 | ||
691 | if (dssdev->type == OMAP_DISPLAY_TYPE_VENC) { | 692 | if (dssdev->type == OMAP_DISPLAY_TYPE_VENC |
693 | || dssdev->type == OMAP_DISPLAY_TYPE_HDMI) { | ||
692 | if (!tv_mgr->device || force) { | 694 | if (!tv_mgr->device || force) { |
693 | if (tv_mgr->device) | 695 | if (tv_mgr->device) |
694 | tv_mgr->unset_device(tv_mgr); | 696 | tv_mgr->unset_device(tv_mgr); |