[Mesa-dev] [Mesa-stable] [PATCH] i965/bxt: Add 2x6 variant
Emil Velikov
emil.l.velikov at gmail.com
Fri Jun 10 13:41:00 UTC 2016
On 26 May 2016 at 20:03, Francisco Jerez <currojerez at riseup.net> wrote:
> Kristian Høgsberg <krh at bitplanet.net> writes:
>
>> On Thu, May 26, 2016 at 8:08 AM, Ben Widawsky <ben at bwidawsk.net> wrote:
>>> Cc: mesa-stable at lists.freedesktop.org
>>> Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
>>
>> The numbers check out.
>>
>> Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
>>
>>> ---
>>> include/pci_ids/i965_pci_ids.h | 2 ++
>>> src/mesa/drivers/dri/i965/brw_device_info.c | 22 ++++++++++++++++++++++
>>> 2 files changed, 24 insertions(+)
>>>
>>> diff --git a/include/pci_ids/i965_pci_ids.h b/include/pci_ids/i965_pci_ids.h
>>> index bd645fa..fce00da 100644
>>> --- a/include/pci_ids/i965_pci_ids.h
>>> +++ b/include/pci_ids/i965_pci_ids.h
>>> @@ -162,4 +162,6 @@ CHIPSET(0x22B2, chv, "Intel(R) HD Graphics (Cherryview)")
>>> CHIPSET(0x22B3, chv, "Intel(R) HD Graphics (Cherryview)")
>>> CHIPSET(0x0A84, bxt, "Intel(R) HD Graphics (Broxton)")
>>> CHIPSET(0x1A84, bxt, "Intel(R) HD Graphics (Broxton)")
>>> +CHIPSET(0x1A85, bxt_2x6, "Intel(R) HD Graphics (Broxton 2x6)")
>>> CHIPSET(0x5A84, bxt, "Intel(R) HD Graphics (Broxton)")
>>> +CHIPSET(0x5A85, bxt_2x6, "Intel(R) HD Graphics (Broxton 2x6)")
>>> diff --git a/src/mesa/drivers/dri/i965/brw_device_info.c b/src/mesa/drivers/dri/i965/brw_device_info.c
>>> index 3666190..77bbe78 100644
>>> --- a/src/mesa/drivers/dri/i965/brw_device_info.c
>>> +++ b/src/mesa/drivers/dri/i965/brw_device_info.c
>>> @@ -401,6 +401,28 @@ static const struct brw_device_info brw_device_info_bxt = {
>>> }
>>> };
>>>
>>> +static const struct brw_device_info brw_device_info_bxt_2x6 = {
>>> + GEN9_FEATURES,
>>> + .is_broxton = 1,
>>> + .gt = 1,
>>> + .has_llc = false,
>>> +
>>> + .num_slices = 1,
>>> + .max_vs_threads = 56, /* XXX: guess */
>>> + .max_hs_threads = 56, /* XXX: guess */
>>> + .max_ds_threads = 56,
>>> + .max_gs_threads = 56,
>>> + .max_wm_threads = 64 * 2,
>>> + .max_cs_threads = 6 * 6,
>>> + .urb = {
>>> + .size = 128,
>>> + .min_vs_entries = 34,
>>> + .max_vs_entries = 352,
>>> + .max_hs_entries = 128,
>>> + .max_ds_entries = 208,
>>> + .max_gs_entries = 128,
>>> + }
>>> +};
>
>
> For this part to work I believe you'll have to add a new L3
> configuration table to the driver because IIRC the 2x6 model has a
> completely different L3 layout with a single huge L3 bank instead of two
> banks as in the 3x6 model, otherwise the L3 programming code will use
> the CHV-like tables (which should work fine on the normal BXT) that I
> believe will leave almost half of the L3 cache unpartitioned on the 2x6
> model. Because it only has one bank the L3 way size will also be
> different (I expect 2KB instead of 4KB), so our URB size calculation and
> URB setup will be most likely incorrect right now.
>
Gents do we have a follow up on the above topic/suggestion ?
Francisco, my humble take on your explanation is that this will lead
to underutilisation of the hardware. Do you think that the
miscalculation can cause crashes and/or rendering problems ?
Thanks
Emil
More information about the mesa-dev
mailing list