Skip to content

Commit

Permalink
drm: rcar-du: Replace plane crtc and enabled fields by plane state
Browse files Browse the repository at this point in the history
The crtc and enabled fields duplicates information stored in the plane
state. Use the plane state instead and remove the fields.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
  • Loading branch information
Laurent Pinchart committed Mar 3, 2015
1 parent f398f34 commit 4709419
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 19 deletions.
6 changes: 2 additions & 4 deletions drivers/gpu/drm/rcar-du/rcar_du_crtc.c
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ static void rcar_du_crtc_update_planes(struct drm_crtc *crtc)
struct rcar_du_plane *plane = &rcrtc->group->planes.planes[i];
unsigned int j;

if (plane->crtc != &rcrtc->crtc || !plane->enabled)
if (plane->plane.state->crtc != &rcrtc->crtc)
continue;

/* Insert the plane in the sorted planes array. */
Expand Down Expand Up @@ -379,7 +379,7 @@ static void rcar_du_crtc_start(struct rcar_du_crtc *rcrtc)
for (i = 0; i < ARRAY_SIZE(rcrtc->group->planes.planes); ++i) {
struct rcar_du_plane *plane = &rcrtc->group->planes.planes[i];

if (plane->crtc != crtc || !plane->enabled)
if (plane->plane.state->crtc != crtc)
continue;

rcar_du_plane_setup(plane);
Expand Down Expand Up @@ -608,8 +608,6 @@ int rcar_du_crtc_create(struct rcar_du_group *rgrp, unsigned int index)
rcrtc->enabled = false;
rcrtc->plane = &rgrp->planes.planes[index % 2];

rcrtc->plane->crtc = crtc;

ret = drm_crtc_init_with_planes(rcdu->ddev, crtc, &rcrtc->plane->plane,
NULL, &crtc_funcs);
if (ret < 0)
Expand Down
15 changes: 3 additions & 12 deletions drivers/gpu/drm/rcar-du/rcar_du_plane.c
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,8 @@ static void rcar_du_plane_setup_fb(struct rcar_du_plane *plane)
bool interlaced;
u32 mwr;

interlaced = plane->crtc->mode.flags & DRM_MODE_FLAG_INTERLACE;
interlaced = plane->plane.state->crtc->state->adjusted_mode.flags
& DRM_MODE_FLAG_INTERLACE;

/* Memory pitch (expressed in pixels). Must be doubled for interlaced
* operation with 32bpp formats.
Expand Down Expand Up @@ -354,16 +355,11 @@ static int rcar_du_plane_atomic_check(struct drm_plane *plane,

static void rcar_du_plane_disable(struct rcar_du_plane *rplane)
{
if (!rplane->enabled)
if (!rplane->plane.state->crtc)
return;

mutex_lock(&rplane->group->planes.lock);
rplane->enabled = false;
mutex_unlock(&rplane->group->planes.lock);

rcar_du_plane_release(rplane);

rplane->crtc = NULL;
rplane->format = NULL;
}

Expand Down Expand Up @@ -391,14 +387,9 @@ static void rcar_du_plane_atomic_update(struct drm_plane *plane,
rcar_du_plane_reserve(rplane, format);
}

rplane->crtc = state->crtc;
rplane->format = format;

rcar_du_plane_setup(rplane);

mutex_lock(&rplane->group->planes.lock);
rplane->enabled = true;
mutex_unlock(&rplane->group->planes.lock);
}

static const struct drm_plane_helper_funcs rcar_du_plane_helper_funcs = {
Expand Down
3 changes: 0 additions & 3 deletions drivers/gpu/drm/rcar-du/rcar_du_plane.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,6 @@ struct rcar_du_plane {
struct drm_plane plane;

struct rcar_du_group *group;
struct drm_crtc *crtc;

bool enabled;

int hwindex; /* 0-based, -1 means unused */

Expand Down

0 comments on commit 4709419

Please sign in to comment.