[Intel-gfx] [PATCH] drm/i915: Add Wa_18028616096

Chauhan, Shekhar shekhar.chauhan at intel.com
Fri Sep 22 04:04:36 UTC 2023


Quoting Gustavo Sousa:

On 9/22/2023 02:31, Gustavo Sousa wrote:
> Quoting Shekhar Chauhan (2023-09-21 11:30:28-03:00)
>> Drop UGM per set fragment threshold to 3
>>
>> BSpec: 54833
>> Signed-off-by: Shekhar Chauhan<shekhar.chauhan at intel.com>
>> ---
>> drivers/gpu/drm/i915/gt/intel_gt_regs.h     | 1 +
>> drivers/gpu/drm/i915/gt/intel_workarounds.c | 3 +++
>> 2 files changed, 4 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_regs.h b/drivers/gpu/drm/i915/gt/intel_gt_regs.h
>> index a00ff51c681d..431c575c532b 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_gt_regs.h
>> +++ b/drivers/gpu/drm/i915/gt/intel_gt_regs.h
>> @@ -1230,6 +1230,7 @@
>> #define   DISABLE_D8_D16_COASLESCE                REG_BIT(30)
>> #define   FORCE_1_SUB_MESSAGE_PER_FRAGMENT        REG_BIT(15)
>> #define LSC_CHICKEN_BIT_0_UDW                        MCR_REG(0xe7c8 + 4)
>> +#define   UGM_FRAGMENT_THRESHOLD_TO_3                REG_BIT(58 - 32)
>> #define   DIS_CHAIN_2XSIMD8                        REG_BIT(55 - 32)
>> #define   FORCE_SLM_FENCE_SCOPE_TO_TILE                REG_BIT(42 - 32)
>> #define   FORCE_UGM_FENCE_SCOPE_TO_TILE                REG_BIT(41 - 32)
>> diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c
>> index 660d4f358eab..992041e3776c 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
>> +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
>> @@ -2914,6 +2914,9 @@ general_render_compute_wa_init(struct intel_engine_cs *engine, struct i915_wa_li
>>                   * Wa_22015475538:dg2
>>                   */
>>                  wa_mcr_write_or(wal, LSC_CHICKEN_BIT_0_UDW, DIS_CHAIN_2XSIMD8);
>> +
>> +                /* Wa_18028616096:dg2 */
> This is not a blocker, but I would prefer to remove the ":dg2" suffix.
>
> There was an effort to remove them from our driver[1], but it kinda of
> stalled. I myself agree that we would be better off without them.
>
> [1]https://lore.kernel.org/all/20221222082557.1364711-1-lucas.demarchi@intel.com
Ack'ed in the new version.
>
>> +                wa_mcr_write_or(wal, LSC_CHICKEN_BIT_0_UDW, UGM_FRAGMENT_THRESHOLD_TO_3);
> This workaround applies to (i) DG2 G10 from stepping C0 to forever and
> (ii) any stepping of DG2 G12. Here you are applying this workaround to
> any variant of DG2.
>
> It should be moved out of this "if" statement and rather be guarded by
> something like:
>
> 	if ((IS_DG2_G10(i915) && IS_GRAPHICS_STEP(i915, STEP_C0, STEP_FOREVER)) ||
> 	    IS_DG2_G12(i915))
>
> Note that we are there is still a pending decision for G11, so we may
> need to update this in the future.

I believe we're only supporting production steppings for DG2, 
henceforth, not really interacting with the "older" steppings.

Please have a look:

https://lore.kernel.org/intel-gfx/20230816214201.534095-7-matthew.d.roper@intel.com/

Although, I could be wrong, if I am, I'll send in another version, 
modifying the patch as you've suggested.

> --
> Gustavo Sousa
>
>>          }
>>
>>          if (IS_DG2_G11(i915)) {
>> -- 
>> 2.34.1
>>
-- 
-shekhar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20230922/b86a83d4/attachment-0001.htm>


More information about the Intel-gfx mailing list