diff options
Diffstat (limited to 'drivers/gpu')
| -rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 89834ce19acd..d276fb302d4e 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c | |||
| @@ -5416,6 +5416,7 @@ static int __intel_engines_record_defaults(struct drm_i915_private *i915) | |||
| 5416 | 5416 | ||
| 5417 | for_each_engine(engine, i915, id) { | 5417 | for_each_engine(engine, i915, id) { |
| 5418 | struct i915_vma *state; | 5418 | struct i915_vma *state; |
| 5419 | void *vaddr; | ||
| 5419 | 5420 | ||
| 5420 | state = to_intel_context(ctx, engine)->state; | 5421 | state = to_intel_context(ctx, engine)->state; |
| 5421 | if (!state) | 5422 | if (!state) |
| @@ -5438,6 +5439,16 @@ static int __intel_engines_record_defaults(struct drm_i915_private *i915) | |||
| 5438 | goto err_active; | 5439 | goto err_active; |
| 5439 | 5440 | ||
| 5440 | engine->default_state = i915_gem_object_get(state->obj); | 5441 | engine->default_state = i915_gem_object_get(state->obj); |
| 5442 | |||
| 5443 | /* Check we can acquire the image of the context state */ | ||
| 5444 | vaddr = i915_gem_object_pin_map(engine->default_state, | ||
| 5445 | I915_MAP_WB); | ||
| 5446 | if (IS_ERR(vaddr)) { | ||
| 5447 | err = PTR_ERR(vaddr); | ||
| 5448 | goto err_active; | ||
| 5449 | } | ||
| 5450 | |||
| 5451 | i915_gem_object_unpin_map(engine->default_state); | ||
| 5441 | } | 5452 | } |
| 5442 | 5453 | ||
| 5443 | if (IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM)) { | 5454 | if (IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM)) { |
