Message ID | 1464818821-5736-5-git-send-email-daniel.vetter@ffwll.ch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Op 02-06-16 om 00:06 schreef Daniel Vetter: > We want to hide drm_atomic_state internals better. > > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > --- > drivers/gpu/drm/rcar-du/rcar_du_kms.c | 8 ++++---- > drivers/gpu/drm/rcar-du/rcar_du_plane.c | 20 ++++++++------------ > 2 files changed, 12 insertions(+), 16 deletions(-) > > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.c b/drivers/gpu/drm/rcar-du/rcar_du_kms.c > index e70a4f33d970..f315c55c1f65 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c > @@ -288,6 +288,8 @@ static int rcar_du_atomic_commit(struct drm_device *dev, > { > struct rcar_du_device *rcdu = dev->dev_private; > struct rcar_du_commit *commit; > + struct drm_crtc *crtc; > + struct drm_crtc_state *crtc_state; > unsigned int i; > int ret; > > @@ -309,10 +311,8 @@ static int rcar_du_atomic_commit(struct drm_device *dev, > /* Wait until all affected CRTCs have completed previous commits and > * mark them as pending. > */ > - for (i = 0; i < dev->mode_config.num_crtc; ++i) { > - if (state->crtcs[i]) > - commit->crtcs |= 1 << drm_crtc_index(state->crtcs[i]); > - } > + for_each_crtc_in_state(state, crtc, crtc_state, i) > + commit->crtcs |= 1 << drm_crtc_index(crtc); > Maybe also change this one to _mask, either way. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
On Thu, Jun 02, 2016 at 03:14:30PM +0200, Maarten Lankhorst wrote: > Op 02-06-16 om 00:06 schreef Daniel Vetter: > > We want to hide drm_atomic_state internals better. > > > > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > > --- > > drivers/gpu/drm/rcar-du/rcar_du_kms.c | 8 ++++---- > > drivers/gpu/drm/rcar-du/rcar_du_plane.c | 20 ++++++++------------ > > 2 files changed, 12 insertions(+), 16 deletions(-) > > > > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.c b/drivers/gpu/drm/rcar-du/rcar_du_kms.c > > index e70a4f33d970..f315c55c1f65 100644 > > --- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c > > +++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c > > @@ -288,6 +288,8 @@ static int rcar_du_atomic_commit(struct drm_device *dev, > > { > > struct rcar_du_device *rcdu = dev->dev_private; > > struct rcar_du_commit *commit; > > + struct drm_crtc *crtc; > > + struct drm_crtc_state *crtc_state; > > unsigned int i; > > int ret; > > > > @@ -309,10 +311,8 @@ static int rcar_du_atomic_commit(struct drm_device *dev, > > /* Wait until all affected CRTCs have completed previous commits and > > * mark them as pending. > > */ > > - for (i = 0; i < dev->mode_config.num_crtc; ++i) { > > - if (state->crtcs[i]) > > - commit->crtcs |= 1 << drm_crtc_index(state->crtcs[i]); > > - } > > + for_each_crtc_in_state(state, crtc, crtc_state, i) > > + commit->crtcs |= 1 << drm_crtc_index(crtc); > > > Maybe also change this one to _mask, > either way. > > Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Fixed up&applied, thanks for the review. -Daniel
Hi Daniel, Thank you for the patch. On Thursday 02 Jun 2016 00:06:27 Daniel Vetter wrote: > We want to hide drm_atomic_state internals better. > > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > drivers/gpu/drm/rcar-du/rcar_du_kms.c | 8 ++++---- > drivers/gpu/drm/rcar-du/rcar_du_plane.c | 20 ++++++++------------ > 2 files changed, 12 insertions(+), 16 deletions(-) > > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.c > b/drivers/gpu/drm/rcar-du/rcar_du_kms.c index e70a4f33d970..f315c55c1f65 > 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c > @@ -288,6 +288,8 @@ static int rcar_du_atomic_commit(struct drm_device *dev, > { > struct rcar_du_device *rcdu = dev->dev_private; > struct rcar_du_commit *commit; > + struct drm_crtc *crtc; > + struct drm_crtc_state *crtc_state; > unsigned int i; > int ret; > > @@ -309,10 +311,8 @@ static int rcar_du_atomic_commit(struct drm_device > *dev, /* Wait until all affected CRTCs have completed previous commits and > * mark them as pending. > */ > - for (i = 0; i < dev->mode_config.num_crtc; ++i) { > - if (state->crtcs[i]) > - commit->crtcs |= 1 << drm_crtc_index(state->crtcs[i]); > - } > + for_each_crtc_in_state(state, crtc, crtc_state, i) > + commit->crtcs |= 1 << drm_crtc_index(crtc); > > spin_lock(&rcdu->commit.wait.lock); > ret = wait_event_interruptible_locked(rcdu->commit.wait, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c > b/drivers/gpu/drm/rcar-du/rcar_du_plane.c index d445e67f78e1..bfe31ca870cc > 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c > @@ -140,18 +140,17 @@ int rcar_du_atomic_check_planes(struct drm_device > *dev, bool needs_realloc = false; > unsigned int groups = 0; > unsigned int i; > + struct drm_plane *drm_plane; > + struct drm_plane_state *drm_plane_state; > > /* Check if hardware planes need to be reallocated. */ > - for (i = 0; i < dev->mode_config.num_total_plane; ++i) { > + for_each_plane_in_state(state, drm_plane, drm_plane_state, i) { > struct rcar_du_plane_state *plane_state; > struct rcar_du_plane *plane; > unsigned int index; > > - if (!state->planes[i]) > - continue; > - > - plane = to_rcar_plane(state->planes[i]); > - plane_state = to_rcar_plane_state(state->plane_states[i]); > + plane = to_rcar_plane(drm_plane); > + plane_state = to_rcar_plane_state(drm_plane_state); > > dev_dbg(rcdu->dev, "%s: checking plane (%u,%tu)\n", __func__, > plane->group->index, plane - plane->group->planes); > @@ -247,18 +246,15 @@ int rcar_du_atomic_check_planes(struct drm_device > *dev, } > > /* Reallocate hardware planes for each plane that needs it. */ > - for (i = 0; i < dev->mode_config.num_total_plane; ++i) { > + for_each_plane_in_state(state, drm_plane, drm_plane_state, i) { > struct rcar_du_plane_state *plane_state; > struct rcar_du_plane *plane; > unsigned int crtc_planes; > unsigned int free; > int idx; > > - if (!state->planes[i]) > - continue; > - > - plane = to_rcar_plane(state->planes[i]); > - plane_state = to_rcar_plane_state(state->plane_states[i]); > + plane = to_rcar_plane(drm_plane); > + plane_state = to_rcar_plane_state(drm_plane_state); > > dev_dbg(rcdu->dev, "%s: allocating plane (%u,%tu)\n", __func__, > plane->group->index, plane - plane->group->planes);
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.c b/drivers/gpu/drm/rcar-du/rcar_du_kms.c index e70a4f33d970..f315c55c1f65 100644 --- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c +++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c @@ -288,6 +288,8 @@ static int rcar_du_atomic_commit(struct drm_device *dev, { struct rcar_du_device *rcdu = dev->dev_private; struct rcar_du_commit *commit; + struct drm_crtc *crtc; + struct drm_crtc_state *crtc_state; unsigned int i; int ret; @@ -309,10 +311,8 @@ static int rcar_du_atomic_commit(struct drm_device *dev, /* Wait until all affected CRTCs have completed previous commits and * mark them as pending. */ - for (i = 0; i < dev->mode_config.num_crtc; ++i) { - if (state->crtcs[i]) - commit->crtcs |= 1 << drm_crtc_index(state->crtcs[i]); - } + for_each_crtc_in_state(state, crtc, crtc_state, i) + commit->crtcs |= 1 << drm_crtc_index(crtc); spin_lock(&rcdu->commit.wait.lock); ret = wait_event_interruptible_locked(rcdu->commit.wait, diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c b/drivers/gpu/drm/rcar-du/rcar_du_plane.c index d445e67f78e1..bfe31ca870cc 100644 --- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c +++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c @@ -140,18 +140,17 @@ int rcar_du_atomic_check_planes(struct drm_device *dev, bool needs_realloc = false; unsigned int groups = 0; unsigned int i; + struct drm_plane *drm_plane; + struct drm_plane_state *drm_plane_state; /* Check if hardware planes need to be reallocated. */ - for (i = 0; i < dev->mode_config.num_total_plane; ++i) { + for_each_plane_in_state(state, drm_plane, drm_plane_state, i) { struct rcar_du_plane_state *plane_state; struct rcar_du_plane *plane; unsigned int index; - if (!state->planes[i]) - continue; - - plane = to_rcar_plane(state->planes[i]); - plane_state = to_rcar_plane_state(state->plane_states[i]); + plane = to_rcar_plane(drm_plane); + plane_state = to_rcar_plane_state(drm_plane_state); dev_dbg(rcdu->dev, "%s: checking plane (%u,%tu)\n", __func__, plane->group->index, plane - plane->group->planes); @@ -247,18 +246,15 @@ int rcar_du_atomic_check_planes(struct drm_device *dev, } /* Reallocate hardware planes for each plane that needs it. */ - for (i = 0; i < dev->mode_config.num_total_plane; ++i) { + for_each_plane_in_state(state, drm_plane, drm_plane_state, i) { struct rcar_du_plane_state *plane_state; struct rcar_du_plane *plane; unsigned int crtc_planes; unsigned int free; int idx; - if (!state->planes[i]) - continue; - - plane = to_rcar_plane(state->planes[i]); - plane_state = to_rcar_plane_state(state->plane_states[i]); + plane = to_rcar_plane(drm_plane); + plane_state = to_rcar_plane_state(drm_plane_state); dev_dbg(rcdu->dev, "%s: allocating plane (%u,%tu)\n", __func__, plane->group->index, plane - plane->group->planes);
We want to hide drm_atomic_state internals better. Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> --- drivers/gpu/drm/rcar-du/rcar_du_kms.c | 8 ++++---- drivers/gpu/drm/rcar-du/rcar_du_plane.c | 20 ++++++++------------ 2 files changed, 12 insertions(+), 16 deletions(-)