Skip to content

Commit ff86866

Browse files
jbfildceraolo
authored andcommitted
drm/i915/guc: Enable DUAL_QUEUE_WA for newer platforms
For newer platforms (post DG2) hardware intentionally stalls on submisstion of concurrent submissions on RCS and CCS of different address spaces. With this workaround GuC will never schedule such conlicting contexts; preventing detection of a stall as a hang. GuC specs recommend to enable this for all platforms starting from MTL supporting CCS. v2: Use existing macros for version check. (Jani) v3: Reword explanation for clarity. Remove unneeded parens. Remove accidental comment change. (Daniele) Signed-off-by: Julia Filipchuk <[email protected]> Cc: Daniele Ceraolo Spurio <[email protected]> Reviewed-by: Daniele Ceraolo Spurio <[email protected]> Signed-off-by: Daniele Ceraolo Spurio <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent b2602a8 commit ff86866

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

drivers/gpu/drm/i915/gt/uc/intel_guc.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,8 +313,13 @@ static u32 guc_ctl_wa_flags(struct intel_guc *guc)
313313
*
314314
* The same WA bit is used for both and 22011391025 is applicable to
315315
* all DG2.
316+
*
317+
* Platforms post DG2 prevent this issue in hardware by stalling
318+
* submissions. With this flag GuC will schedule as to avoid such
319+
* stalls.
316320
*/
317-
if (IS_DG2(gt->i915))
321+
if (IS_DG2(gt->i915) ||
322+
(CCS_MASK(gt) && GRAPHICS_VER_FULL(gt->i915) >= IP_VER(12, 70)))
318323
flags |= GUC_WA_DUAL_QUEUE;
319324

320325
/* Wa_22011802037: graphics version 11/12 */

0 commit comments

Comments
 (0)