diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ringbuffer.c')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_ringbuffer.c | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c index 51e9c9e718c..cb3508f78bc 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c @@ -220,9 +220,13 @@ static int init_render_ring(struct drm_device *dev,  {  	drm_i915_private_t *dev_priv = dev->dev_private;  	int ret = init_ring_common(dev, ring); +	int mode; +  	if (IS_I9XX(dev) && !IS_GEN3(dev)) { -		I915_WRITE(MI_MODE, -				(VS_TIMER_DISPATCH) << 16 | VS_TIMER_DISPATCH); +		mode = VS_TIMER_DISPATCH << 16 | VS_TIMER_DISPATCH; +		if (IS_GEN6(dev)) +			mode |= MI_FLUSH_ENABLE << 16 | MI_FLUSH_ENABLE; +		I915_WRITE(MI_MODE, mode);  	}  	return ret;  } | 
