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

Commit 794a65ff authored by Tomi Valkeinen's avatar Tomi Valkeinen Committed by Laurent Pinchart
Browse files

drm: omapdrm: if omap_plane_atomic_update fails, disable plane



omap_plane_atomic_update() calls dispc_ovl_setup(), which can fail (but
shouldn't). To make the code a bit more robust, make sure the plane gets
disabled if dispc_ovl_setup() fails, as otherwise we might get illegal
HW configuration leading to error interrupts.

Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
parent 11ffd031
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -132,8 +132,10 @@ static void omap_plane_atomic_update(struct drm_plane *plane,
	/* and finally, update omapdss: */
	/* and finally, update omapdss: */
	ret = dispc_ovl_setup(omap_plane->id, &info, false,
	ret = dispc_ovl_setup(omap_plane->id, &info, false,
			      omap_crtc_timings(state->crtc), false);
			      omap_crtc_timings(state->crtc), false);
	if (WARN_ON(ret))
	if (WARN_ON(ret)) {
		dispc_ovl_enable(omap_plane->id, false);
		return;
		return;
	}


	dispc_ovl_enable(omap_plane->id, true);
	dispc_ovl_enable(omap_plane->id, true);
}
}