[Intel-gfx] [PATCH 14/53] drm/i915/bdw: Render moot context reset and switch when LRCs are enabled
oscar.mateo at intel.com
oscar.mateo at intel.com
Fri Jun 13 17:37:32 CEST 2014
From: Oscar Mateo <oscar.mateo at intel.com>
These two functions make no sense in an Logical Ring Context & Execlists
world.
Signed-off-by: Oscar Mateo <oscar.mateo at intel.com>
---
drivers/gpu/drm/i915/i915_gem_context.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
index 70bf6d0..685c346 100644
--- a/drivers/gpu/drm/i915/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/i915_gem_context.c
@@ -381,6 +381,9 @@ void i915_gem_context_reset(struct drm_device *dev)
struct drm_i915_private *dev_priv = dev->dev_private;
int i;
+ if (dev_priv->lrc_enabled)
+ return;
+
/* Prevent the hardware from restoring the last context (which hung) on
* the next switch */
for (i = 0; i < I915_NUM_RINGS; i++) {
@@ -514,6 +517,9 @@ int i915_gem_context_enable(struct drm_i915_private *dev_priv)
ppgtt->enable(ppgtt);
}
+ if (dev_priv->lrc_enabled)
+ return 0;
+
/* FIXME: We should make this work, even in reset */
if (i915_reset_in_progress(&dev_priv->gpu_error))
return 0;
@@ -769,6 +775,9 @@ int i915_switch_context(struct intel_engine_cs *ring,
{
struct drm_i915_private *dev_priv = ring->dev->dev_private;
+ if (dev_priv->lrc_enabled)
+ return 0;
+
WARN_ON(!mutex_is_locked(&dev_priv->dev->struct_mutex));
if (to->render_obj == NULL) { /* We have the fake context */
--
1.9.0
More information about the Intel-gfx
mailing list