aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/video/omap2/dss/manager.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
index d0d23157110b..d2bdd652d595 100644
--- a/drivers/video/omap2/dss/manager.c
+++ b/drivers/video/omap2/dss/manager.c
@@ -1114,23 +1114,28 @@ static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
1114 spin_lock_irqsave(&dss_cache.lock, flags); 1114 spin_lock_irqsave(&dss_cache.lock, flags);
1115 1115
1116 /* Configure overlays */ 1116 /* Configure overlays */
1117 for (i = 0; i < omap_dss_get_num_overlays(); ++i) { 1117 for (i = 0; i < mgr->num_overlays; ++i) {
1118 struct omap_overlay *ovl; 1118 struct omap_overlay *ovl;
1119 1119
1120 ovl = omap_dss_get_overlay(i); 1120 ovl = mgr->overlays[i];
1121
1122 if (ovl->manager != mgr)
1123 continue;
1121 1124
1122 omap_dss_mgr_apply_ovl(ovl); 1125 omap_dss_mgr_apply_ovl(ovl);
1123 } 1126 }
1124 1127
1125 /* Configure managers */ 1128 /* Configure manager */
1126 list_for_each_entry(mgr, &manager_list, list) 1129 omap_dss_mgr_apply_mgr(mgr);
1127 omap_dss_mgr_apply_mgr(mgr);
1128 1130
1129 /* Configure overlay fifos */ 1131 /* Configure overlay fifos */
1130 for (i = 0; i < omap_dss_get_num_overlays(); ++i) { 1132 for (i = 0; i < mgr->num_overlays; ++i) {
1131 struct omap_overlay *ovl; 1133 struct omap_overlay *ovl;
1132 1134
1133 ovl = omap_dss_get_overlay(i); 1135 ovl = mgr->overlays[i];
1136
1137 if (ovl->manager != mgr)
1138 continue;
1134 1139
1135 omap_dss_mgr_apply_ovl_fifos(ovl); 1140 omap_dss_mgr_apply_ovl_fifos(ovl);
1136 } 1141 }