[Mesa-dev] [PATCH] Add missing platform information for KBL

Kristian Høgsberg Kristensen krh at bitplanet.net
Sat Jan 9 11:57:38 PST 2016


Mark Janes <mark.a.janes at intel.com> writes:

> Sarah Sharp <sarah.a.sharp at intel.com> writes:
>
>> On Fri, Jan 08, 2016 at 04:30:20PM -0800, Mark Janes wrote:
>>> In testing KBL, I found:
>>> 
>>>  - urb size was not set for slices gt1.5, gt2, and gt3.  The value I
>>>    used for these slices (384) was taken from an earlier patch authored
>>>    by Ben Widawsky.
>>> 
>>>  - slice count was missing.  This field was added by
>>>    a403ad4f5a034e52a3cd845e91c4aa3e6927b731
>>> 
>>> With this commit, KBL passes piglit at parity with SKL.
>>
>> Thanks for catching this Mark!
>>
>> Looking at the docs, I'm not sure the URB size is correct for GT4. The
>> Device Attributes page shows the GT4 URB size should be 1152K (divided
>> by the number of slices, that's 384K). However, another table says to
>> limit the URB size to 1008K for "SKL+" and it doesn't say to exclude
>> KBL. Yay conflicting documentation!
>
> Unfortunately, Ben doesn't get back until Wednesday.
>
> Since this patch doesn't modify the GT4 URB size, does it make sense to
> use it to enable the other skus?  GT4 can be addressed later.

The patch looks good to me, though urb.size is already set in the
GEN9_FEATURES macro:

   ...
   .urb = {                                         \
      .size = 384,                                  \
   ...

which looks correct for all SKUs, except GT1 and GT4, which both
override it to the correct value. As for GT4 urb size, it wont matter
for a while, but 1088 / 3 is the safe choice.

With the .urb.size assignments removed, this patch is

Reviewed-by: Kristian Høgsberg Kristensen <kristian.h.kristensen at intel.com>

>> I'll talk this over with Ben when he gets back on Monday.
>>
>> Sarah Sharp
>>
>>> Signed-off-by: Mark Janes <mark.a.janes at intel.com>
>>> ---
>>>  src/mesa/drivers/dri/i965/brw_device_info.c | 8 ++++++++
>>>  1 file changed, 8 insertions(+)
>>> 
>>> diff --git a/src/mesa/drivers/dri/i965/brw_device_info.c b/src/mesa/drivers/dri/i965/brw_device_info.c
>>> index 42bcb98..3ca522b 100644
>>> --- a/src/mesa/drivers/dri/i965/brw_device_info.c
>>> +++ b/src/mesa/drivers/dri/i965/brw_device_info.c
>>> @@ -420,6 +420,7 @@ static const struct brw_device_info brw_device_info_kbl_gt1 = {
>>>     .max_cs_threads = 7 * 6,
>>>     .max_wm_threads = KBL_MAX_THREADS_PER_PSD * 2,
>>>     .urb.size = 192,
>>> +   .num_slices = 1,
>>>  };
>>>  
>>>  static const struct brw_device_info brw_device_info_kbl_gt1_5 = {
>>> @@ -428,6 +429,8 @@ static const struct brw_device_info brw_device_info_kbl_gt1_5 = {
>>>  
>>>     .max_cs_threads = 7 * 6,
>>>     .max_wm_threads = KBL_MAX_THREADS_PER_PSD * 3,
>>> +   .urb.size = 384,
>>> +   .num_slices = 1,
>>>  };
>>>  
>>>  static const struct brw_device_info brw_device_info_kbl_gt2 = {
>>> @@ -435,6 +438,8 @@ static const struct brw_device_info brw_device_info_kbl_gt2 = {
>>>     .gt = 2,
>>>  
>>>     .max_wm_threads = KBL_MAX_THREADS_PER_PSD * 3,
>>> +   .urb.size = 384,
>>> +   .num_slices = 1,
>>>  };
>>>  
>>>  static const struct brw_device_info brw_device_info_kbl_gt3 = {
>>> @@ -442,6 +447,8 @@ static const struct brw_device_info brw_device_info_kbl_gt3 = {
>>>     .gt = 3,
>>>  
>>>     .max_wm_threads = KBL_MAX_THREADS_PER_PSD * 6,
>>> +   .urb.size = 384,
>>> +   .num_slices = 2,
>>>  };
>>>  
>>>  static const struct brw_device_info brw_device_info_kbl_gt4 = {
>>> @@ -460,6 +467,7 @@ static const struct brw_device_info brw_device_info_kbl_gt4 = {
>>>      *  will be used."
>>>      */
>>>     .urb.size = 1008 / 3,
>>> +   .num_slices = 3,
>>>  };
>>>  
>>>  const struct brw_device_info *
>>> -- 
>>> 2.6.1
>>> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list