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

Commit 0dce4d75 authored by Laurent Pinchart's avatar Laurent Pinchart
Browse files

drm: omapdrm: Don't setup planes manually from CRTC .enable()/.disable()



Planes setup is handled by the DRM core through the atomic helpers,
there's no need to duplicate the code in the CRTC .enable() and
.disable() operations.

Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent af6da31e
Loading
Loading
Loading
Loading
+0 −20
Original line number Original line Diff line number Diff line
@@ -391,41 +391,21 @@ static bool omap_crtc_mode_fixup(struct drm_crtc *crtc,


static void omap_crtc_enable(struct drm_crtc *crtc)
static void omap_crtc_enable(struct drm_crtc *crtc)
{
{
	struct omap_drm_private *priv = crtc->dev->dev_private;
	struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
	struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
	unsigned int i;


	DBG("%s", omap_crtc->name);
	DBG("%s", omap_crtc->name);


	/* Enable all planes associated with the CRTC. */
	for (i = 0; i < priv->num_planes; i++) {
		struct drm_plane *plane = priv->planes[i];

		if (plane->crtc == crtc)
			WARN_ON(omap_plane_setup(plane));
	}

	drm_crtc_vblank_on(crtc);
	drm_crtc_vblank_on(crtc);
}
}


static void omap_crtc_disable(struct drm_crtc *crtc)
static void omap_crtc_disable(struct drm_crtc *crtc)
{
{
	struct omap_drm_private *priv = crtc->dev->dev_private;
	struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
	struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
	unsigned int i;


	DBG("%s", omap_crtc->name);
	DBG("%s", omap_crtc->name);


	omap_crtc_wait_page_flip(crtc);
	omap_crtc_wait_page_flip(crtc);
	drm_crtc_vblank_off(crtc);
	drm_crtc_vblank_off(crtc);

	/* Disable all planes associated with the CRTC. */
	for (i = 0; i < priv->num_planes; i++) {
		struct drm_plane *plane = priv->planes[i];

		if (plane->crtc == crtc)
			WARN_ON(omap_plane_setup(plane));
	}
}
}


static void omap_crtc_mode_set_nofb(struct drm_crtc *crtc)
static void omap_crtc_mode_set_nofb(struct drm_crtc *crtc)
+0 −1
Original line number Original line Diff line number Diff line
@@ -150,7 +150,6 @@ struct drm_crtc *omap_crtc_init(struct drm_device *dev,


struct drm_plane *omap_plane_init(struct drm_device *dev,
struct drm_plane *omap_plane_init(struct drm_device *dev,
		int id, enum drm_plane_type type);
		int id, enum drm_plane_type type);
int omap_plane_setup(struct drm_plane *plane);
void omap_plane_install_properties(struct drm_plane *plane,
void omap_plane_install_properties(struct drm_plane *plane,
		struct drm_mode_object *obj);
		struct drm_mode_object *obj);


+1 −1
Original line number Original line Diff line number Diff line
@@ -58,7 +58,7 @@ to_omap_plane_state(struct drm_plane_state *state)
	return container_of(state, struct omap_plane_state, base);
	return container_of(state, struct omap_plane_state, base);
}
}


int omap_plane_setup(struct drm_plane *plane)
static int omap_plane_setup(struct drm_plane *plane)
{
{
	struct omap_plane *omap_plane = to_omap_plane(plane);
	struct omap_plane *omap_plane = to_omap_plane(plane);
	struct drm_plane_state *state = plane->state;
	struct drm_plane_state *state = plane->state;