Skip to content

Commit 9556829

Browse files
committed
drm/i915/adlp: Implement workaround 16013190616
New workaround added to specification, requiring bit 15 of GEN8_CHICKEN_DCPR_1 to be programed before power well 1 is enabled. BSpec: 54369 Signed-off-by: José Roberto de Souza <[email protected]> Reviewed-by: Imre Deak <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent c34c1c4 commit 9556829

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

drivers/gpu/drm/i915/display/intel_display_power.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,11 @@ static void hsw_power_well_enable(struct drm_i915_private *dev_priv,
435435

436436
pg = DISPLAY_VER(dev_priv) >= 11 ? ICL_PW_CTL_IDX_TO_PG(pw_idx) :
437437
SKL_PW_CTL_IDX_TO_PG(pw_idx);
438+
439+
/* Wa_16013190616:adlp */
440+
if (IS_ALDERLAKE_P(dev_priv) && pg == SKL_PG1)
441+
intel_de_rmw(dev_priv, GEN8_CHICKEN_DCPR_1, 0, DISABLE_FLR_SRC);
442+
438443
/*
439444
* For PW1 we have to wait both for the PW0/PG0 fuse state
440445
* before enabling the power well and PW1/PG1's own fuse

drivers/gpu/drm/i915/i915_reg.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8308,9 +8308,10 @@ enum {
83088308
#define RESET_PCH_HANDSHAKE_ENABLE (1 << 4)
83098309

83108310
#define GEN8_CHICKEN_DCPR_1 _MMIO(0x46430)
8311-
#define SKL_SELECT_ALTERNATE_DC_EXIT (1 << 30)
8312-
#define ICL_DELAY_PMRSP (1 << 22)
8313-
#define MASK_WAKEMEM (1 << 13)
8311+
#define SKL_SELECT_ALTERNATE_DC_EXIT REG_BIT(30)
8312+
#define ICL_DELAY_PMRSP REG_BIT(22)
8313+
#define DISABLE_FLR_SRC REG_BIT(15)
8314+
#define MASK_WAKEMEM REG_BIT(13)
83148315

83158316
#define GEN11_CHICKEN_DCPR_2 _MMIO(0x46434)
83168317
#define DCPR_MASK_MAXLATENCY_MEMUP_CLR REG_BIT(27)

0 commit comments

Comments
 (0)