Commit 4e18ca70 authored by Chris Wilson's avatar Chris Wilson

drm/i915/selftests: Distinguish mock device from no wakeref

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!
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Cc: Andi Shyti <andi.shyti@intel.com>
Reviewed-by: default avatarAndi Shyti <andi.shyti@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190927211749.2181-2-chris@chris-wilson.co.uk
parent 260e6b71
...@@ -57,7 +57,7 @@ int intel_gt_runtime_resume(struct intel_gt *gt); ...@@ -57,7 +57,7 @@ int intel_gt_runtime_resume(struct intel_gt *gt);
static inline bool is_mock_gt(const 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 */ #endif /* INTEL_GT_PM_H */
...@@ -182,6 +182,7 @@ struct drm_i915_private *mock_gem_device(void) ...@@ -182,6 +182,7 @@ struct drm_i915_private *mock_gem_device(void)
i915_gem_init__mm(i915); i915_gem_init__mm(i915);
intel_gt_init_early(&i915->gt, i915); intel_gt_init_early(&i915->gt, i915);
atomic_inc(&i915->gt.wakeref.count); /* disable; no hw support */ atomic_inc(&i915->gt.wakeref.count); /* disable; no hw support */
i915->gt.awake = -ENODEV;
i915->wq = alloc_ordered_workqueue("mock", 0); i915->wq = alloc_ordered_workqueue("mock", 0);
if (!i915->wq) if (!i915->wq)
...@@ -192,8 +193,6 @@ struct drm_i915_private *mock_gem_device(void) ...@@ -192,8 +193,6 @@ struct drm_i915_private *mock_gem_device(void)
INIT_DELAYED_WORK(&i915->gem.retire_work, mock_retire_work_handler); INIT_DELAYED_WORK(&i915->gem.retire_work, mock_retire_work_handler);
INIT_WORK(&i915->gem.idle_work, mock_idle_work_handler); INIT_WORK(&i915->gem.idle_work, mock_idle_work_handler);
i915->gt.awake = -1;
intel_timelines_init(i915); intel_timelines_init(i915);
mutex_lock(&i915->drm.struct_mutex); mutex_lock(&i915->drm.struct_mutex);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment