From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
To: dri-devel@lists.freedesktop.org
Cc: linux-renesas-soc@vger.kernel.org,
intel-gfx@lists.freedesktop.org,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Subject: [PATCH 07/16] drm/rcar-du: Use new iterator macros
Date: Wed, 12 Jul 2017 10:13:35 +0200 [thread overview]
Message-ID: <20170712081344.25495-8-maarten.lankhorst@linux.intel.com> (raw)
In-Reply-To: <20170712081344.25495-1-maarten.lankhorst@linux.intel.com>
for_each_obj_in_state is about to be removed, so use the correct new
iterator macros.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: linux-renesas-soc@vger.kernel.org
---
drivers/gpu/drm/rcar-du/rcar_du_plane.c | 41 ++++++++++++++++-----------------
1 file changed, 20 insertions(+), 21 deletions(-)
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c b/drivers/gpu/drm/rcar-du/rcar_du_plane.c
index dcde6288da6c..dfd84e3c8c25 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c
@@ -51,12 +51,9 @@
*/
static bool rcar_du_plane_needs_realloc(struct rcar_du_plane *plane,
+ const struct rcar_du_plane_state *cur_state,
struct rcar_du_plane_state *new_state)
{
- struct rcar_du_plane_state *cur_state;
-
- cur_state = to_rcar_plane_state(plane->plane.state);
-
/* Lowering the number of planes doesn't strictly require reallocation
* as the extra hardware plane will be freed when committing, but doing
* so could lead to more fragmentation.
@@ -141,16 +138,17 @@ int rcar_du_atomic_check_planes(struct drm_device *dev,
unsigned int groups = 0;
unsigned int i;
struct drm_plane *drm_plane;
- struct drm_plane_state *drm_plane_state;
+ struct drm_plane_state *old_drm_plane_state, *new_drm_plane_state;
/* Check if hardware planes need to be reallocated. */
- for_each_plane_in_state(state, drm_plane, drm_plane_state, i) {
- struct rcar_du_plane_state *plane_state;
+ for_each_oldnew_plane_in_state(state, drm_plane, old_drm_plane_state, new_drm_plane_state, i) {
+ struct rcar_du_plane_state *old_plane_state, *new_plane_state;
struct rcar_du_plane *plane;
unsigned int index;
plane = to_rcar_plane(drm_plane);
- plane_state = to_rcar_plane_state(drm_plane_state);
+ old_plane_state = to_rcar_plane_state(old_drm_plane_state);
+ new_plane_state = to_rcar_plane_state(new_drm_plane_state);
dev_dbg(rcdu->dev, "%s: checking plane (%u,%tu)\n", __func__,
plane->group->index, plane - plane->group->planes);
@@ -159,19 +157,19 @@ int rcar_du_atomic_check_planes(struct drm_device *dev,
* the full reallocation procedure. Just mark the hardware
* plane(s) as freed.
*/
- if (!plane_state->format) {
+ if (!new_plane_state->format) {
dev_dbg(rcdu->dev, "%s: plane is being disabled\n",
__func__);
index = plane - plane->group->planes;
group_freed_planes[plane->group->index] |= 1 << index;
- plane_state->hwindex = -1;
+ new_plane_state->hwindex = -1;
continue;
}
/* If the plane needs to be reallocated mark it as such, and
* mark the hardware plane(s) as free.
*/
- if (rcar_du_plane_needs_realloc(plane, plane_state)) {
+ if (rcar_du_plane_needs_realloc(plane, old_plane_state, new_plane_state)) {
dev_dbg(rcdu->dev, "%s: plane needs reallocation\n",
__func__);
groups |= 1 << plane->group->index;
@@ -179,7 +177,7 @@ int rcar_du_atomic_check_planes(struct drm_device *dev,
index = plane - plane->group->planes;
group_freed_planes[plane->group->index] |= 1 << index;
- plane_state->hwindex = -1;
+ new_plane_state->hwindex = -1;
}
}
@@ -226,16 +224,16 @@ int rcar_du_atomic_check_planes(struct drm_device *dev,
continue;
}
- plane_state = to_rcar_plane_state(plane->plane.state);
+ new_plane_state = to_rcar_plane_state(plane->plane.state);
used_planes |= rcar_du_plane_hwmask(plane_state);
dev_dbg(rcdu->dev,
"%s: plane (%u,%tu) uses %u hwplanes (index %d)\n",
__func__, plane->group->index,
plane - plane->group->planes,
- plane_state->format ?
- plane_state->format->planes : 0,
- plane_state->hwindex);
+ new_plane_state->format ?
+ new_plane_state->format->planes : 0,
+ new_plane_state->hwindex);
}
group_free_planes[index] = 0xff & ~used_planes;
@@ -246,15 +244,16 @@ int rcar_du_atomic_check_planes(struct drm_device *dev,
}
/* Reallocate hardware planes for each plane that needs it. */
- for_each_plane_in_state(state, drm_plane, drm_plane_state, i) {
- struct rcar_du_plane_state *plane_state;
+ for_each_oldnew_plane_in_state(state, drm_plane, old_drm_plane_state, new_drm_plane_state, i) {
+ struct rcar_du_plane_state *old_plane_state, *new_plane_state;
struct rcar_du_plane *plane;
unsigned int crtc_planes;
unsigned int free;
int idx;
plane = to_rcar_plane(drm_plane);
- plane_state = to_rcar_plane_state(drm_plane_state);
+ old_plane_state = to_rcar_plane_state(old_drm_plane_state);
+ new_plane_state = to_rcar_plane_state(new_drm_plane_state);
dev_dbg(rcdu->dev, "%s: allocating plane (%u,%tu)\n", __func__,
plane->group->index, plane - plane->group->planes);
@@ -263,7 +262,7 @@ int rcar_du_atomic_check_planes(struct drm_device *dev,
* reallocated.
*/
if (!plane_state->format ||
- !rcar_du_plane_needs_realloc(plane, plane_state))
+ !rcar_du_plane_needs_realloc(plane, old_plane_state, new_plane_state))
continue;
/* Try to allocate the plane from the free planes currently
@@ -279,7 +278,7 @@ int rcar_du_atomic_check_planes(struct drm_device *dev,
idx = rcar_du_plane_hwalloc(plane, plane_state,
free & crtc_planes);
if (idx < 0)
- idx = rcar_du_plane_hwalloc(plane, plane_state,
+ idx = rcar_du_plane_hwalloc(plane, new_plane_state,
free);
if (idx < 0) {
dev_dbg(rcdu->dev, "%s: no available hardware plane\n",
--
2.11.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2017-07-12 8:13 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-12 8:13 [PATCH 00/16] drm/atomic: Remove deprecated atomic iterator macros Maarten Lankhorst
2017-07-12 8:13 ` [PATCH 01/16] drm/simple-kms-helper: Fix the check for the mismatch between plane and CRTC enabled Maarten Lankhorst
2017-07-12 9:01 ` Daniel Vetter
2017-07-12 8:13 ` [PATCH 02/16] drm/atomic: Use the correct iterator macro in atomic_remove_fb Maarten Lankhorst
2017-07-12 9:01 ` Daniel Vetter
2017-07-12 8:13 ` [PATCH 03/16] drm/atomic: Use the new helpers in drm_atomic_helper_disable_all() Maarten Lankhorst
2017-07-12 9:03 ` Daniel Vetter
2017-07-12 8:13 ` [PATCH 04/16] drm/atomic: Use new iterator macros in drm_atomic_helper_wait_for_flip_done Maarten Lankhorst
2017-07-12 9:07 ` [Intel-gfx] " Daniel Vetter
2017-07-12 8:13 ` [PATCH 05/16] drm/vmwgfx: Make check_modeset() use the new atomic iterator macros Maarten Lankhorst
2017-07-12 8:33 ` Sinclair Yeh
2017-07-12 9:09 ` [Intel-gfx] " Daniel Vetter
2017-07-12 9:11 ` Sinclair Yeh
2017-07-12 8:13 ` [PATCH 06/16] drm/i915: Use correct iterator macro Maarten Lankhorst
2017-07-12 9:10 ` Daniel Vetter
2017-07-12 8:13 ` Maarten Lankhorst [this message]
2017-07-12 9:15 ` [PATCH 07/16] drm/rcar-du: Use new iterator macros Daniel Vetter
2017-07-12 10:43 ` [PATCH v2 07/16] drm/rcar-du: Use new iterator macros, v2 Maarten Lankhorst
2017-07-12 8:13 ` [PATCH 08/16] drm/atmel-hlcdec: Use for_each_new_connector_in_state Maarten Lankhorst
2017-07-12 9:17 ` Daniel Vetter
2017-07-12 9:22 ` Boris Brezillon
2017-07-12 8:13 ` [PATCH 09/16] drm/rockchip: Use for_each_oldnew_plane_in_state in vop_crtc_atomic_flush Maarten Lankhorst
2017-07-12 9:21 ` Daniel Vetter
2017-07-12 9:41 ` Mark yao
2017-07-12 8:13 ` [PATCH 10/16] drm/omapdrm: Fix omap_atomic_wait_for_completion Maarten Lankhorst
2017-07-12 9:23 ` Daniel Vetter
2017-07-12 8:13 ` [PATCH 11/16] drm/mali: Use new atomic iterator macros Maarten Lankhorst
2017-07-12 9:25 ` [Intel-gfx] " Daniel Vetter
2017-07-12 9:44 ` Liviu Dudau
2017-07-12 10:00 ` Maarten Lankhorst
2017-07-12 10:06 ` Liviu Dudau
2017-07-12 8:13 ` [PATCH 12/16] drm/imx: Use " Maarten Lankhorst
2017-07-12 9:26 ` Daniel Vetter
2017-07-12 10:00 ` Philipp Zabel
2017-07-12 8:13 ` [PATCH 13/16] drm/mediatek: Convert to new " Maarten Lankhorst
2017-07-12 9:45 ` Daniel Vetter
2017-07-13 16:00 ` Maarten Lankhorst
2017-07-12 10:01 ` Philipp Zabel
[not found] ` <20170712081344.25495-1-maarten.lankhorst-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-07-12 8:13 ` [PATCH 14/16] drm/msm: Convert to use " Maarten Lankhorst
2017-07-12 9:48 ` [Intel-gfx] " Daniel Vetter
[not found] ` <20170712094823.2akjrev3v7ckxb7b-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2017-07-12 10:45 ` [PATCH 14/16] drm/msm: Convert to use new iterator macros, v2 Maarten Lankhorst
[not found] ` <de5e7892-71a0-d160-6619-e8267d793897-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-07-19 9:25 ` Archit Taneja
2017-07-12 8:13 ` [PATCH 15/16] drm/nouveau: Convert nouveau to use new iterator macros Maarten Lankhorst
2017-07-13 12:33 ` [Intel-gfx] " Daniel Vetter
2017-07-13 13:51 ` Maarten Lankhorst
2017-07-12 8:13 ` [PATCH 16/16] drm/atomic: Remove deprecated accessor macros Maarten Lankhorst
2017-07-12 9:50 ` Daniel Vetter
2017-07-12 11:48 ` Maarten Lankhorst
2017-07-12 8:33 ` ✓ Fi.CI.BAT: success for drm/atomic: Remove deprecated atomic iterator macros Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170712081344.25495-8-maarten.lankhorst@linux.intel.com \
--to=maarten.lankhorst@linux.intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-renesas-soc@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox