i965/skl/gt4: Fix URB programming restriction.
authorBen Widawsky <benjamin.widawsky@intel.com>
Sat, 7 Nov 2015 02:12:27 +0000 (18:12 -0800)
committerBen Widawsky <benjamin.widawsky@intel.com>
Thu, 12 Nov 2015 02:13:19 +0000 (18:13 -0800)
The comment in the code details the restriction. Thanks to Ken for having a very
helpful conversation with me, and spotting the blurb in the link I sent him :P.

There are still stability problems for me on GT4, but this definitely helps with
some of the failures.

v2: Comment fixes

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_device_info.c

index 2ebc08453001b8d0bd414699943915b1a98e2469..45505507be73fc89488d962538b9ed33fedc2ba4 100644 (file)
@@ -337,6 +337,15 @@ static const struct brw_device_info brw_device_info_skl_gt3 = {
 
 static const struct brw_device_info brw_device_info_skl_gt4 = {
    GEN9_FEATURES, .gt = 4,
+   /* From the "L3 Allocation and Programming" documentation:
+    *
+    * "URB is limited to 1008KB due to programming restrictions.  This is not a
+    * restriction of the L3 implementation, but of the FF and other clients.
+    * Therefore, in a GT4 implementation it is possible for the programmed
+    * allocation of the L3 data array to provide 3*384KB=1152KB for URB, but
+    * only 1008KB of this will be used."
+    */
+   .urb.size = 1008 / 3,
 };
 
 static const struct brw_device_info brw_device_info_bxt = {