drm: rcar-du: Embed rcar_du_planes structure into rcar_du_group

The rcar_du_planes structure contains a single field and is only
instantiated in the rcar_du_group structure. Embed it directly and
remove the rcar_du_planes structure.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
This commit is contained in:
Laurent Pinchart 2015-04-29 00:05:56 +03:00
parent 9f6aee952b
commit 99caede11d
5 changed files with 10 additions and 15 deletions

View File

@ -213,8 +213,8 @@ static void rcar_du_crtc_update_planes(struct rcar_du_crtc *rcrtc)
u32 dptsr = 0;
u32 dspr = 0;
for (i = 0; i < ARRAY_SIZE(rcrtc->group->planes.planes); ++i) {
struct rcar_du_plane *plane = &rcrtc->group->planes.planes[i];
for (i = 0; i < ARRAY_SIZE(rcrtc->group->planes); ++i) {
struct rcar_du_plane *plane = &rcrtc->group->planes[i];
unsigned int j;
if (plane->plane.state->crtc != &rcrtc->crtc)
@ -427,8 +427,8 @@ void rcar_du_crtc_resume(struct rcar_du_crtc *rcrtc)
rcar_du_crtc_start(rcrtc);
/* Commit the planes state. */
for (i = 0; i < ARRAY_SIZE(rcrtc->group->planes.planes); ++i) {
struct rcar_du_plane *plane = &rcrtc->group->planes.planes[i];
for (i = 0; i < ARRAY_SIZE(rcrtc->group->planes); ++i) {
struct rcar_du_plane *plane = &rcrtc->group->planes[i];
if (plane->plane.state->crtc != &rcrtc->crtc)
continue;
@ -592,7 +592,7 @@ int rcar_du_crtc_create(struct rcar_du_group *rgrp, unsigned int index)
rcrtc->enabled = false;
ret = drm_crtc_init_with_planes(rcdu->ddev, crtc,
&rgrp->planes.planes[index % 2].plane,
&rgrp->planes[index % 2].plane,
NULL, &crtc_funcs);
if (ret < 0)
return ret;

View File

@ -40,7 +40,7 @@ struct rcar_du_group {
struct mutex lock;
struct rcar_du_planes planes;
struct rcar_du_plane planes[RCAR_DU_NUM_KMS_PLANES];
};
u32 rcar_du_group_read(struct rcar_du_group *rgrp, u32 reg);

View File

@ -291,7 +291,7 @@ static int rcar_du_atomic_check(struct drm_device *dev,
* plane(s) as freed.
*/
if (!plane_state->format) {
index = plane - plane->group->planes.planes;
index = plane - plane->group->planes;
group_freed_planes[plane->group->index] |= 1 << index;
plane_state->hwindex = -1;
continue;
@ -304,7 +304,7 @@ static int rcar_du_atomic_check(struct drm_device *dev,
groups |= 1 << plane->group->index;
needs_realloc = true;
index = plane - plane->group->planes.planes;
index = plane - plane->group->planes;
group_freed_planes[plane->group->index] |= 1 << index;
plane_state->hwindex = -1;
}
@ -327,7 +327,7 @@ static int rcar_du_atomic_check(struct drm_device *dev,
unsigned int used_planes = 0;
for (i = 0; i < RCAR_DU_NUM_KMS_PLANES; ++i) {
struct rcar_du_plane *plane = &group->planes.planes[i];
struct rcar_du_plane *plane = &group->planes[i];
struct rcar_du_plane_state *plane_state;
struct drm_plane_state *s;

View File

@ -389,7 +389,6 @@ static const uint32_t formats[] = {
int rcar_du_planes_init(struct rcar_du_group *rgrp)
{
struct rcar_du_planes *planes = &rgrp->planes;
struct rcar_du_device *rcdu = rgrp->dev;
unsigned int num_planes;
unsigned int num_crtcs;
@ -409,7 +408,7 @@ int rcar_du_planes_init(struct rcar_du_group *rgrp)
enum drm_plane_type type = i < num_crtcs
? DRM_PLANE_TYPE_PRIMARY
: DRM_PLANE_TYPE_OVERLAY;
struct rcar_du_plane *plane = &planes->planes[i];
struct rcar_du_plane *plane = &rgrp->planes[i];
plane->group = rgrp;

View File

@ -38,10 +38,6 @@ static inline struct rcar_du_plane *to_rcar_plane(struct drm_plane *plane)
return container_of(plane, struct rcar_du_plane, plane);
}
struct rcar_du_planes {
struct rcar_du_plane planes[RCAR_DU_NUM_KMS_PLANES];
};
/**
* struct rcar_du_plane_state - Driver-specific plane state
* @state: base DRM plane state