Skip to content

Commit e4a0251

Browse files
johnharr-inteldceraolo
authored andcommitted
drm/i915/guc: Extend w/a 14019159160
There is a new part to an existing workaround, so enable that piece as well. v2: Extend even further. v3: Drop DG2 as there are CI failures still to resolve. Also re-order the parameters to a function to reduce excessive line wrapping. Signed-off-by: John Harrison <[email protected]> Reviewed-by: Vinay Belgaumkar <[email protected]> Signed-off-by: Daniele Ceraolo Spurio <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent 104bcfa commit e4a0251

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ enum {
107107
enum {
108108
GUC_WORKAROUND_KLV_SERIALIZED_RA_MODE = 0x9001,
109109
GUC_WORKAROUND_KLV_BLOCK_INTERRUPTS_WHEN_MGSR_BLOCKED = 0x9002,
110+
GUC_WORKAROUND_KLV_AVOID_GFX_CLEAR_WHILE_ACTIVE = 0x9006,
110111
};
111112

112113
#endif /* _ABI_GUC_KLVS_ABI_H */

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

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -815,8 +815,7 @@ guc_capture_prep_lists(struct intel_guc *guc)
815815
return PAGE_ALIGN(total_size);
816816
}
817817

818-
static void guc_waklv_enable_simple(struct intel_guc *guc,
819-
u32 klv_id, u32 *offset, u32 *remain)
818+
static void guc_waklv_enable_simple(struct intel_guc *guc, u32 *offset, u32 *remain, u32 klv_id)
820819
{
821820
u32 size;
822821
u32 klv_entry[] = {
@@ -850,19 +849,20 @@ static void guc_waklv_init(struct intel_guc *guc)
850849
remain = guc_ads_waklv_size(guc);
851850

852851
/* Wa_14019159160 */
853-
if (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 74)))
854-
guc_waklv_enable_simple(guc,
855-
GUC_WORKAROUND_KLV_SERIALIZED_RA_MODE,
856-
&offset, &remain);
852+
if (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 74))) {
853+
guc_waklv_enable_simple(guc, &offset, &remain,
854+
GUC_WORKAROUND_KLV_SERIALIZED_RA_MODE);
855+
guc_waklv_enable_simple(guc, &offset, &remain,
856+
GUC_WORKAROUND_KLV_AVOID_GFX_CLEAR_WHILE_ACTIVE);
857+
}
857858

858859
/* Wa_16021333562 */
859860
if ((GUC_FIRMWARE_VER(guc) >= MAKE_GUC_VER(70, 21, 1)) &&
860861
(IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 74)) ||
861862
IS_MEDIA_GT_IP_RANGE(gt, IP_VER(13, 0), IP_VER(13, 0)) ||
862863
IS_DG2(gt->i915)))
863-
guc_waklv_enable_simple(guc,
864-
GUC_WORKAROUND_KLV_BLOCK_INTERRUPTS_WHEN_MGSR_BLOCKED,
865-
&offset, &remain);
864+
guc_waklv_enable_simple(guc, &offset, &remain,
865+
GUC_WORKAROUND_KLV_BLOCK_INTERRUPTS_WHEN_MGSR_BLOCKED);
866866

867867
size = guc_ads_waklv_size(guc) - remain;
868868
if (!size)

0 commit comments

Comments
 (0)