[Intel-gfx] [PATCH v2 07/12] drm/i915/selftests: eliminate use of gen_mask
Jani Nikula
jani.nikula at linux.intel.com
Tue Apr 13 09:38:39 UTC 2021
On Mon, 12 Apr 2021, Lucas De Marchi <lucas.demarchi at intel.com> wrote:
> Remove the remaining uses of INTEL_GEN_MASK() and the correspondent
> gen_mask in struct intel_device_info. This will allow the removal of
> gen_mask later since it's incompatible with the new per-IP versioning
> scheme.
>
> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
> ---
> drivers/gpu/drm/i915/intel_uncore.c | 8 +++++---
> drivers/gpu/drm/i915/selftests/intel_uncore.c | 8 +++++---
> 2 files changed, 10 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
> index 661b50191f2b..ed5abe7be498 100644
> --- a/drivers/gpu/drm/i915/intel_uncore.c
> +++ b/drivers/gpu/drm/i915/intel_uncore.c
> @@ -2008,12 +2008,14 @@ void intel_uncore_fini_mmio(struct intel_uncore *uncore)
> static const struct reg_whitelist {
> i915_reg_t offset_ldw;
> i915_reg_t offset_udw;
> - u16 gen_mask;
> + u8 min_graphics_ver;
> + u8 max_graphics_ver;
> u8 size;
> } reg_read_whitelist[] = { {
> .offset_ldw = RING_TIMESTAMP(RENDER_RING_BASE),
> .offset_udw = RING_TIMESTAMP_UDW(RENDER_RING_BASE),
> - .gen_mask = INTEL_GEN_MASK(4, 12),
> + .min_graphics_ver = 4,
> + .max_graphics_ver = 12,
> .size = 8
> } };
>
> @@ -2038,7 +2040,7 @@ int i915_reg_read_ioctl(struct drm_device *dev,
> GEM_BUG_ON(entry->size > 8);
> GEM_BUG_ON(entry_offset & (entry->size - 1));
>
> - if (INTEL_INFO(i915)->gen_mask & entry->gen_mask &&
> + if (IS_GRAPHICS_VER(i915, entry->min_graphics_ver, entry->max_graphics_ver) &&
> entry_offset == (reg->offset & -entry->size))
> break;
> entry++;
> diff --git a/drivers/gpu/drm/i915/selftests/intel_uncore.c b/drivers/gpu/drm/i915/selftests/intel_uncore.c
> index 0e4e6be0101d..f76c9bcec735 100644
> --- a/drivers/gpu/drm/i915/selftests/intel_uncore.c
> +++ b/drivers/gpu/drm/i915/selftests/intel_uncore.c
> @@ -125,17 +125,19 @@ static int live_forcewake_ops(void *arg)
> {
> static const struct reg {
> const char *name;
> + u8 min_graphics_ver;
> + u8 max_graphics_ver;
> unsigned long platforms;
> unsigned int offset;
> } registers[] = {
> {
> "RING_START",
> - INTEL_GEN_MASK(6, 7),
> + 6, 7,
> 0x38,
> },
> {
> "RING_MI_MODE",
> - INTEL_GEN_MASK(8, BITS_PER_LONG),
> + 8, U8_MAX,
Makes me wonder if we should add VER_MAX. Can be done later if needed.
Reviewed-by: Jani Nikula <jani.nikula at intel.com>
> 0x9c,
> }
> };
> @@ -170,7 +172,7 @@ static int live_forcewake_ops(void *arg)
>
> /* We have to pick carefully to get the exact behaviour we need */
> for (r = registers; r->name; r++)
> - if (r->platforms & INTEL_INFO(gt->i915)->gen_mask)
> + if (IS_GRAPHICS_VER(gt->i915, r->min_graphics_ver, r->max_graphics_ver))
> break;
> if (!r->name) {
> pr_debug("Forcewaked register not known for %s; skipping\n",
--
Jani Nikula, Intel Open Source Graphics Center
More information about the Intel-gfx
mailing list