[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