spin_lock_irqsave(&dss_cache.lock, flags);
/* Configure overlays */
- for (i = 0; i < omap_dss_get_num_overlays(); ++i) {
+ for (i = 0; i < mgr->num_overlays; ++i) {
struct omap_overlay *ovl;
- ovl = omap_dss_get_overlay(i);
+ ovl = mgr->overlays[i];
+
+ if (ovl->manager != mgr)
+ continue;
omap_dss_mgr_apply_ovl(ovl);
}
- /* Configure managers */
- list_for_each_entry(mgr, &manager_list, list)
- omap_dss_mgr_apply_mgr(mgr);
+ /* Configure manager */
+ omap_dss_mgr_apply_mgr(mgr);
/* Configure overlay fifos */
- for (i = 0; i < omap_dss_get_num_overlays(); ++i) {
+ for (i = 0; i < mgr->num_overlays; ++i) {
struct omap_overlay *ovl;
- ovl = omap_dss_get_overlay(i);
+ ovl = mgr->overlays[i];
+
+ if (ovl->manager != mgr)
+ continue;
omap_dss_mgr_apply_ovl_fifos(ovl);
}