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

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

OMAPDSS: APPLY: skip enable/disable if already enabled/disabled



Add checks to dss_mgr_enable, dss_mgr_disable, dss_ovl_enable,
dss_ovl_disable that check if the state is already the same as given in
the parameters, and exit if so.

Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent 841c09c7
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -724,6 +724,9 @@ void dss_mgr_enable(struct omap_overlay_manager *mgr)

	mutex_lock(&apply_lock);

	if (mp->enabled)
		goto out;

	spin_lock_irqsave(&data_lock, flags);

	mp->enabled = true;
@@ -740,6 +743,7 @@ void dss_mgr_enable(struct omap_overlay_manager *mgr)
	if (!mgr_manual_update(mgr))
		dispc_mgr_enable(mgr->id, true);

out:
	mutex_unlock(&apply_lock);
}

@@ -750,6 +754,9 @@ void dss_mgr_disable(struct omap_overlay_manager *mgr)

	mutex_lock(&apply_lock);

	if (!mp->enabled)
		goto out;

	if (!mgr_manual_update(mgr))
		dispc_mgr_enable(mgr->id, false);

@@ -760,6 +767,7 @@ void dss_mgr_disable(struct omap_overlay_manager *mgr)

	spin_unlock_irqrestore(&data_lock, flags);

out:
	mutex_unlock(&apply_lock);
}

@@ -1005,6 +1013,11 @@ int dss_ovl_enable(struct omap_overlay *ovl)

	mutex_lock(&apply_lock);

	if (op->enabled) {
		r = 0;
		goto err;
	}

	if (ovl->manager == NULL || ovl->manager->device == NULL) {
		r = -EINVAL;
		goto err;
@@ -1036,6 +1049,11 @@ int dss_ovl_disable(struct omap_overlay *ovl)

	mutex_lock(&apply_lock);

	if (!op->enabled) {
		r = 0;
		goto err;
	}

	if (ovl->manager == NULL || ovl->manager->device == NULL) {
		r = -EINVAL;
		goto err;