[Intel-gfx] [PATCH 2/3] drm/i915/selftests: Distinguish mock device from no wakeref

Andi Shyti andi.shyti at intel.com
Fri Sep 27 21:49:38 UTC 2019


On Fri, Sep 27, 2019 at 10:17:48PM +0100, Chris Wilson wrote:
> On systems that have no runtime-pm, we mark the wakeref as being -1. We
> therefore cannot use that value for the mock-gt indicator, so opt for
> -ENODEV instead. The wakeref should never be an error value -- one
> hopes!

-1 (EPERM) is an error value as well, -ENODEV looks cleaner and
more appropriate, in any case:

Reviewed-by: Andi Shyti <andi.shyti at intel.com>

Thanks,
Andi


> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Andi Shyti <andi.shyti at intel.com>
> ---
>  drivers/gpu/drm/i915/gt/intel_gt_pm.h            | 2 +-
>  drivers/gpu/drm/i915/selftests/mock_gem_device.c | 3 +--
>  2 files changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm.h b/drivers/gpu/drm/i915/gt/intel_gt_pm.h
> index ab794e853356..997770d3a968 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt_pm.h
> +++ b/drivers/gpu/drm/i915/gt/intel_gt_pm.h
> @@ -57,7 +57,7 @@ int intel_gt_runtime_resume(struct intel_gt *gt);
>  
>  static inline bool is_mock_gt(const struct intel_gt *gt)
>  {
> -	return I915_SELFTEST_ONLY(gt->awake == -1);
> +	return I915_SELFTEST_ONLY(gt->awake == -ENODEV);
>  }
>  
>  #endif /* INTEL_GT_PM_H */
> diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> index 91f15fa728cd..2448067822af 100644
> --- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> +++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> @@ -182,6 +182,7 @@ struct drm_i915_private *mock_gem_device(void)
>  	i915_gem_init__mm(i915);
>  	intel_gt_init_early(&i915->gt, i915);
>  	atomic_inc(&i915->gt.wakeref.count); /* disable; no hw support */
> +	i915->gt.awake = -ENODEV;
>  
>  	i915->wq = alloc_ordered_workqueue("mock", 0);
>  	if (!i915->wq)
> @@ -192,8 +193,6 @@ struct drm_i915_private *mock_gem_device(void)
>  	INIT_DELAYED_WORK(&i915->gem.retire_work, mock_retire_work_handler);
>  	INIT_WORK(&i915->gem.idle_work, mock_idle_work_handler);
>  
> -	i915->gt.awake = -1;
> -
>  	intel_timelines_init(i915);
>  
>  	mutex_lock(&i915->drm.struct_mutex);
> -- 
> 2.23.0


More information about the Intel-gfx mailing list