[Intel-gfx] [PATCH v2] drm/i915: Add stub mmio read/write routines to mock device

Michal Wajdeczko michal.wajdeczko at intel.com
Wed Apr 12 09:36:15 UTC 2017


On Wed, Apr 12, 2017 at 10:21:43AM +0100, Chris Wilson wrote:
> Provide dummy function pointers for the mock device in case we do hit
> mmio during testing.
> 
> v2: Use ASSIGN_READ/WRITE_MMIO_FUNCS macros
> 
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Reviewed-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com> #v1
> ---
>  drivers/gpu/drm/i915/intel_uncore.c              | 47 ++++++++++++------------
>  drivers/gpu/drm/i915/selftests/mock_gem_device.c |  2 +
>  drivers/gpu/drm/i915/selftests/mock_uncore.c     | 46 +++++++++++++++++++++++
>  drivers/gpu/drm/i915/selftests/mock_uncore.h     | 30 +++++++++++++++
>  4 files changed, 101 insertions(+), 24 deletions(-)
>  create mode 100644 drivers/gpu/drm/i915/selftests/mock_uncore.c
>  create mode 100644 drivers/gpu/drm/i915/selftests/mock_uncore.h
> 
> diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
> index fb38c7692fc2..0cd56bf00650 100644
> --- a/drivers/gpu/drm/i915/intel_uncore.c
> +++ b/drivers/gpu/drm/i915/intel_uncore.c
> @@ -1108,19 +1108,19 @@ __gen6_write(32)
>  #undef GEN6_WRITE_FOOTER
>  #undef GEN6_WRITE_HEADER
>  
> -#define ASSIGN_WRITE_MMIO_VFUNCS(x) \
> +#define ASSIGN_WRITE_MMIO_VFUNCS(i915, x) \

Hmm, this seems to be little inconsistent with other macros:
we either use implicit "dev_priv" (like in I915_READ) or
use "dev_priv" as explicit param (like in IS_GEN).


>  do { \
> -	dev_priv->uncore.funcs.mmio_writeb = x##_write8; \
> -	dev_priv->uncore.funcs.mmio_writew = x##_write16; \
> -	dev_priv->uncore.funcs.mmio_writel = x##_write32; \
> +	(i915)->uncore.funcs.mmio_writeb = x##_write8; \
> +	(i915)->uncore.funcs.mmio_writew = x##_write16; \
> +	(i915)->uncore.funcs.mmio_writel = x##_write32; \
>  } while (0)
>  

<snip>

> +void mock_uncore_init(struct drm_i915_private *i915)
> +{
> +	ASSIGN_WRITE_MMIO_VFUNCS(i915, nop);
> +	ASSIGN_READ_MMIO_VFUNCS(i915, nop);
> +}

If you use "dev_priv" as name for the function param then
you can reuse existing ASSIGN_xxx_MMIO_VFUNC without any
change in their signature...

-Michal



More information about the Intel-gfx mailing list