summaryrefslogtreecommitdiff
path: root/src/sna
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-09-13 22:32:47 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-09-13 22:47:32 +0100
commit35d81d97b38d05f132a4823e57fff4012e966504 (patch)
tree13399194dfab827231804ce70e8d5f584ae82136 /src/sna
parent3fbdedbf9d509c5ca58ae0a01fe8e54dcc990cf8 (diff)
sna/gen7: Defensively program default GT values
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna')
-rw-r--r--src/sna/gen7_render.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index 53fcb2a3..383caa45 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -83,6 +83,13 @@ struct gt_info {
} urb;
};
+static const struct gt_info ivb_gt_info = {
+ .max_vs_threads = 16,
+ .max_gs_threads = 16,
+ .max_wm_threads = (16-1) << IVB_PS_MAX_THREADS_SHIFT,
+ .urb = { 128, 64, 64 },
+};
+
static const struct gt_info ivb_gt1_info = {
.max_vs_threads = 36,
.max_gs_threads = 36,
@@ -4255,9 +4262,12 @@ static bool gen7_render_setup(struct sna *sna)
int i, j, k, l, m;
if (sna->kgem.gen == 70) {
- state->info = &ivb_gt1_info;
- if (DEVICE_ID(sna->PciInfo) & 0x20)
- state->info = &ivb_gt2_info; /* XXX requires GT_MODE WiZ disabled */
+ state->info = &ivb_gt_info;
+ if (DEVICE_ID(sna->PciInfo) & 0xf) {
+ state->info = &ivb_gt1_info;
+ if (DEVICE_ID(sna->PciInfo) & 0x20)
+ state->info = &ivb_gt2_info; /* XXX requires GT_MODE WiZ disabled */
+ }
} else if (sna->kgem.gen == 75) {
state->info = &hsw_gt_info;
} else