aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMichał Winiarski <michal.winiarski@intel.com>2017-12-13 17:13:49 -0500
committerChris Wilson <chris@chris-wilson.co.uk>2017-12-14 03:06:58 -0500
commitaeb950bd97e1f66a109430e05a3066e547bce916 (patch)
tree32fd212e122e4083d17d274e5c33cc4c1482a1f6 /drivers
parent61b5c1587dd82a8493d7838bb2f9289fd0903364 (diff)
drm/i915/guc: Call invalidate after changing the vfunc
To make this operation a bit cleaner, we should make sure that the HW can catch up by calling the new implementation right away. Note that currently we're only touching the vfunc at module load time (before GuC is even loaded), so this shouldn't cause any functional changes. Suggested-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Michał Winiarski <michal.winiarski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20171213221352.7173-4-michal.winiarski@intel.com
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/i915_gem_gtt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
index a0579b0c8581..c5f393870532 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -3552,6 +3552,8 @@ void i915_ggtt_enable_guc(struct drm_i915_private *i915)
3552 GEM_BUG_ON(i915->ggtt.invalidate != gen6_ggtt_invalidate); 3552 GEM_BUG_ON(i915->ggtt.invalidate != gen6_ggtt_invalidate);
3553 3553
3554 i915->ggtt.invalidate = guc_ggtt_invalidate; 3554 i915->ggtt.invalidate = guc_ggtt_invalidate;
3555
3556 i915_ggtt_invalidate(i915);
3555} 3557}
3556 3558
3557void i915_ggtt_disable_guc(struct drm_i915_private *i915) 3559void i915_ggtt_disable_guc(struct drm_i915_private *i915)
@@ -3560,6 +3562,8 @@ void i915_ggtt_disable_guc(struct drm_i915_private *i915)
3560 GEM_BUG_ON(i915->ggtt.invalidate != guc_ggtt_invalidate); 3562 GEM_BUG_ON(i915->ggtt.invalidate != guc_ggtt_invalidate);
3561 3563
3562 i915->ggtt.invalidate = gen6_ggtt_invalidate; 3564 i915->ggtt.invalidate = gen6_ggtt_invalidate;
3565
3566 i915_ggtt_invalidate(i915);
3563} 3567}
3564 3568
3565void i915_gem_restore_gtt_mappings(struct drm_i915_private *dev_priv) 3569void i915_gem_restore_gtt_mappings(struct drm_i915_private *dev_priv)