From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Jani Nikula <jani.nikula@intel.com>
Cc: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org,
maarten.lankhorst@linux.intel.com
Subject: Re: [PATCH v2] drm/i915/selftests: use intel_gtt_view_is_*() helpers more
Date: Wed, 30 Sep 2026 16:29:16 +0300 [thread overview]
Message-ID: <ar0OrBrFi-7dpcIR@intel.com> (raw)
In-Reply-To: <20260930103427.883703-1-jani.nikula@intel.com>
On Wed, Sep 30, 2026 at 01:34:27PM +0300, Jani Nikula wrote:
> Prefer using the intel_gtt_view_is_*() helpers instead of comparing the
> view type directly.
>
> v2: Use view, not vma->gtt_view at the end (Sashiko)
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/selftests/i915_vma.c | 34 +++++++++++------------
> 1 file changed, 17 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/selftests/i915_vma.c b/drivers/gpu/drm/i915/selftests/i915_vma.c
> index b16297a6a4e8..f918ae18c4e1 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_vma.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_vma.c
> @@ -51,7 +51,7 @@ static bool assert_vma(struct i915_vma *vma,
> ok = false;
> }
>
> - if (vma->gtt_view.type != I915_GTT_VIEW_NORMAL) {
> + if (!intel_gtt_view_is_normal(&vma->gtt_view)) {
> pr_err("VMA created with wrong type [%d]\n",
> vma->gtt_view.type);
> ok = false;
> @@ -533,12 +533,12 @@ assert_remapped(struct drm_i915_gem_object *obj,
> return sg;
> }
>
> -static unsigned int remapped_size(enum intel_gtt_view_type view_type,
> +static unsigned int remapped_size(const struct intel_gtt_view *view,
> const struct intel_remapped_plane_info *a,
> const struct intel_remapped_plane_info *b)
> {
>
> - if (view_type == I915_GTT_VIEW_ROTATED)
> + if (intel_gtt_view_is_rotated(view))
> return a->dst_stride * a->width + b->dst_stride * b->width;
> else
> return a->dst_stride * a->height + b->dst_stride * b->height;
> @@ -606,11 +606,11 @@ static int igt_vma_rotate_remap(void *arg)
> max_offset = max_pages - max_offset;
>
> if (!plane_info[0].dst_stride)
> - plane_info[0].dst_stride = view.type == I915_GTT_VIEW_ROTATED ?
> + plane_info[0].dst_stride = intel_gtt_view_is_rotated(&view) ?
> plane_info[0].height :
> plane_info[0].width;
> if (!plane_info[1].dst_stride)
> - plane_info[1].dst_stride = view.type == I915_GTT_VIEW_ROTATED ?
> + plane_info[1].dst_stride = intel_gtt_view_is_rotated(&view) ?
> plane_info[1].height :
> plane_info[1].width;
>
> @@ -632,9 +632,9 @@ static int igt_vma_rotate_remap(void *arg)
> goto out_object;
> }
>
> - expected_pages = remapped_size(view.type, &plane_info[0], &plane_info[1]);
> + expected_pages = remapped_size(&view, &plane_info[0], &plane_info[1]);
>
> - if (view.type == I915_GTT_VIEW_ROTATED &&
> + if (intel_gtt_view_is_rotated(&view) &&
> vma->size != expected_pages * PAGE_SIZE) {
> pr_err("VMA is wrong size, expected %lu, found %llu\n",
> PAGE_SIZE * expected_pages, vma->size);
> @@ -642,7 +642,7 @@ static int igt_vma_rotate_remap(void *arg)
> goto out_object;
> }
>
> - if (view.type == I915_GTT_VIEW_REMAPPED &&
> + if (intel_gtt_view_is_remapped(&view) &&
> vma->size > expected_pages * PAGE_SIZE) {
> pr_err("VMA is wrong size, expected %lu, found %llu\n",
> PAGE_SIZE * expected_pages, vma->size);
> @@ -672,13 +672,13 @@ static int igt_vma_rotate_remap(void *arg)
>
> sg = vma->pages->sgl;
> for (n = 0; n < ARRAY_SIZE(view.rotated.plane); n++) {
> - if (view.type == I915_GTT_VIEW_ROTATED)
> + if (intel_gtt_view_is_rotated(&view))
> sg = assert_rotated(obj, &view.rotated, n, sg);
> else
> sg = assert_remapped(obj, &view.remapped, n, sg);
> if (IS_ERR(sg)) {
> pr_err("Inconsistent %s VMA pages for plane %d: [(%d, %d, %d, %d, %d), (%d, %d, %d, %d, %d)]\n",
> - view.type == I915_GTT_VIEW_ROTATED ?
> + intel_gtt_view_is_rotated(&view) ?
> "rotated" : "remapped", n,
> plane_info[0].width,
> plane_info[0].height,
> @@ -763,7 +763,7 @@ static bool assert_pin(struct i915_vma *vma,
> ok = false;
> }
>
> - if (view && view->type != I915_GTT_VIEW_NORMAL) {
> + if (view && !intel_gtt_view_is_normal(view)) {
> if (memcmp(&vma->gtt_view, view, sizeof(*view))) {
> pr_err("(%s) VMA mismatch upon creation!\n",
> name);
> @@ -776,7 +776,7 @@ static bool assert_pin(struct i915_vma *vma,
> ok = false;
> }
> } else {
> - if (vma->gtt_view.type != I915_GTT_VIEW_NORMAL) {
> + if (!intel_gtt_view_is_normal(&vma->gtt_view)) {
> pr_err("Not the normal ggtt view! Found %d\n",
> vma->gtt_view.type);
> ok = false;
> @@ -1017,7 +1017,7 @@ static int igt_vma_remapped_gtt(void *arg)
> goto out;
>
> if (!plane_info[0].dst_stride)
> - plane_info[0].dst_stride = *t == I915_GTT_VIEW_ROTATED ?
> + plane_info[0].dst_stride = intel_gtt_view_is_rotated(&view) ?
> p->height : p->width;
>
> vma = i915_gem_object_ggtt_pin(obj, &view, 0, 0, PIN_MAPPABLE);
> @@ -1040,7 +1040,7 @@ static int igt_vma_remapped_gtt(void *arg)
> unsigned int offset;
> u32 val = y << 16 | x;
>
> - if (*t == I915_GTT_VIEW_ROTATED)
> + if (intel_gtt_view_is_rotated(&vma->gtt_view))
Better use 'view' here too instead of 'vma->gtt_view'. Yes, the two
should be identical here, but I think it's clearer if the test logic
always uses the local data instead of digging into the vma internals.
> offset = (x * plane_info[0].dst_stride + y) * PAGE_SIZE;
> else
> offset = (y * plane_info[0].dst_stride + x) * PAGE_SIZE;
> @@ -1057,7 +1057,7 @@ static int igt_vma_remapped_gtt(void *arg)
> goto out;
> }
>
> - GEM_BUG_ON(vma->gtt_view.type != I915_GTT_VIEW_NORMAL);
> + GEM_BUG_ON(!intel_gtt_view_is_normal(&vma->gtt_view));
>
> map = i915_vma_pin_iomap(vma);
> i915_vma_unpin(vma);
> @@ -1072,7 +1072,7 @@ static int igt_vma_remapped_gtt(void *arg)
> u32 exp = y << 16 | x;
> u32 val;
>
> - if (*t == I915_GTT_VIEW_ROTATED)
> + if (intel_gtt_view_is_rotated(&view))
> src_idx = rotated_index(&view.rotated, 0, x, y);
> else
> src_idx = remapped_index(&view.remapped, 0, x, y);
> @@ -1081,7 +1081,7 @@ static int igt_vma_remapped_gtt(void *arg)
> val = ioread32(&map[offset / sizeof(*map)]);
> if (val != exp) {
> pr_err("%s VMA write test failed, expected 0x%x, found 0x%x\n",
> - *t == I915_GTT_VIEW_ROTATED ? "Rotated" : "Remapped",
> + intel_gtt_view_is_rotated(&view) ? "Rotated" : "Remapped",
> exp, val);
> i915_vma_unpin_iomap(vma);
> err = -EINVAL;
> --
> 2.47.3
--
Ville Syrjälä
Intel
next prev parent reply other threads:[~2026-09-30 13:29 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-15 20:09 [PATCH 00/10] drm/{i915,xe}: use a shared gtt_view_types.h header Jani Nikula
2026-09-15 20:09 ` [PATCH 01/10] drm/intel: move i915_gtt_view_types.h to include/drm/intel Jani Nikula
2026-09-30 13:34 ` Ville Syrjälä
2026-09-15 20:09 ` [PATCH 02/10] drm/intel: rename i915_gtt_view_is_*() helpers to intel_gtt_view_is_*() Jani Nikula
2026-09-15 20:09 ` [PATCH 03/10] drm/intel: rename i915_gtt_view* struct/enum to intel_gtt_view* Jani Nikula
2026-09-15 20:09 ` [PATCH 04/10] drm/intel: add intel_gtt_view_is_partial() for completeness Jani Nikula
2026-09-15 20:09 ` [PATCH 05/10] drm/xe/display: use intel_gtt_view_is_*() helpers more Jani Nikula
2026-09-15 20:09 ` [PATCH 06/10] drm/i915/gem: " Jani Nikula
2026-09-15 20:09 ` [PATCH 07/10] drm/i915/vma: " Jani Nikula
2026-09-15 20:09 ` [PATCH 08/10] drm/i915/selftests: " Jani Nikula
2026-09-15 20:14 ` sashiko-bot
2026-09-30 10:34 ` [PATCH v2] " Jani Nikula
2026-09-30 13:29 ` Ville Syrjälä [this message]
2026-09-15 20:09 ` [PATCH 09/10] drm/i915/debugfs: use the " Jani Nikula
2026-09-15 20:09 ` [PATCH 10/10] drm/intel: rename I915_GTT_VIEW_* enumerations to INTEL_GTT_VIEW_* Jani Nikula
2026-09-29 14:00 ` Maarten Lankhorst
2026-09-15 21:48 ` ✗ i915.CI.BAT: failure for drm/{i915,xe}: use a shared gtt_view_types.h header Patchwork
2026-09-28 12:40 ` [PATCH 00/10] drm/{i915, xe}: " Jani Nikula
2026-09-30 12:51 ` ✓ i915.CI.BAT: success for drm/{i915,xe}: use a shared gtt_view_types.h header (rev2) Patchwork
2026-09-30 13:38 ` [PATCH 00/10] drm/{i915, xe}: use a shared gtt_view_types.h header Ville Syrjälä
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=ar0OrBrFi-7dpcIR@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
--cc=maarten.lankhorst@linux.intel.com \
/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