[Intel-gfx] [PATCH] drm/i915: Fixed VS thread distribution between slices
Ben Widawsky
ben at bwidawsk.net
Tue Apr 10 06:10:24 CEST 2012
From: "bernard.r.kilarski" <your-user-name at intel.com>
Full disclosure: my IVB hangs on nexuiz both before, and after this patch, and
I haven't done any debug
This patch was given to me by Bernard, by way of Daniel. The patch came
with very little description, and I haven't really spent too much time
in the spec to make much sense out of it.
The improvement (IVB only) with my nexuiz configuration is almost
unbelievable. It has a more humble improvement on OpenArena. I'll throw
other tests at it, and try to debug the hangs a bit, but given the
nexuiz results, I was compelled to post this sooner, rather than later.
I see about a 2% improvement on OA
and about a 40$% improvement on nexuiz
CC: Daniel Vetter <daniel.vetter at ffwll.ch>
Signed-off-by: Ben Widawsky <benjamin.widawsky at intel.com>
---
drivers/gpu/drm/i915/i915_reg.h | 3 +++
drivers/gpu/drm/i915/intel_display.c | 3 +++
2 files changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index cb55444..755bdff 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -682,6 +682,9 @@
#define GEN6_BSD_RNCID 0x12198
+#define GEN7_FF_THREAD_MODE 0x20a0
+#define GEN7_FF_THREAD_SIMPLE_SCHED 0x28a00010
+
/*
* Framebuffer compression (915+ only)
*/
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 6ec81b4..bbd5f46 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -8893,6 +8893,9 @@ static void ivybridge_init_clock_gating(struct drm_device *dev)
DISPPLANE_TRICKLE_FEED_DISABLE);
intel_flush_display_plane(dev_priv, pipe);
}
+
+ /* Fix vertex load balancing */
+ I915_WRITE(GEN7_FF_THREAD_MODE,GEN7_FF_THREAD_SIMPLE_SCHED);
}
static void valleyview_init_clock_gating(struct drm_device *dev)
--
1.7.10
More information about the Intel-gfx
mailing list