Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d2bbb9bb authored by Tomi Valkeinen's avatar Tomi Valkeinen
Browse files

OMAPDSS: apply affects only one overlay manager



omap_dss_mgr_apply currently applies settings to all overlays and
overlay managers. The reason for this was to support cases where
configuration changes affecting multiple managers are made. However, the
current code doesn't support changing such configurations, so the
functionality is not needed.

Change the apply to affect only the manager given as an argument, and
the overlays attached to that manager.

Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent 20928501
Loading
Loading
Loading
Loading
+12 −7
Original line number Original line Diff line number Diff line
@@ -1114,23 +1114,28 @@ static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
	spin_lock_irqsave(&dss_cache.lock, flags);
	spin_lock_irqsave(&dss_cache.lock, flags);


	/* Configure overlays */
	/* Configure overlays */
	for (i = 0; i < omap_dss_get_num_overlays(); ++i) {
	for (i = 0; i < mgr->num_overlays; ++i) {
		struct omap_overlay *ovl;
		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);
		omap_dss_mgr_apply_ovl(ovl);
	}
	}


	/* Configure managers */
	/* Configure manager */
	list_for_each_entry(mgr, &manager_list, list)
	omap_dss_mgr_apply_mgr(mgr);
	omap_dss_mgr_apply_mgr(mgr);


	/* Configure overlay fifos */
	/* 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;
		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);
		omap_dss_mgr_apply_ovl_fifos(ovl);
	}
	}