Skip to content

Commit f7d3b92

Browse files
vsyrjalarodrigovivi
authored andcommitted
drm/i915/vrr: Generate VRR "safe window" for DSB
Looks like TRANS_CHICKEN bit 31 means something totally different depending on the platform: TGL: generate VRR "safe window" for DSB ADL/DG2: make TRANS_SET_CONTEXT_LATENCY effective with VRR So far we've only set this on ADL/DG2, but when using DSB+VRR we also need to set it on TGL. And a quick test on MTL says it doesn't need this bit for either of those purposes, even though it's still documented as valid in bspec. Cc: [email protected] Fixes: 34d8311 ("drm/i915/dsb: Re-instate DSB for LUT updates") Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/9927 Signed-off-by: Ville Syrjälä <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Reviewed-by: Animesh Manna <[email protected]> (cherry picked from commit 810e451) Signed-off-by: Rodrigo Vivi <[email protected]>
1 parent 0f8c7a7 commit f7d3b92

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -187,10 +187,11 @@ void intel_vrr_set_transcoder_timings(const struct intel_crtc_state *crtc_state)
187187
enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
188188

189189
/*
190-
* TRANS_SET_CONTEXT_LATENCY with VRR enabled
191-
* requires this chicken bit on ADL/DG2.
190+
* This bit seems to have two meanings depending on the platform:
191+
* TGL: generate VRR "safe window" for DSB vblank waits
192+
* ADL/DG2: make TRANS_SET_CONTEXT_LATENCY effective with VRR
192193
*/
193-
if (DISPLAY_VER(dev_priv) == 13)
194+
if (IS_DISPLAY_VER(dev_priv, 12, 13))
194195
intel_de_rmw(dev_priv, CHICKEN_TRANS(cpu_transcoder),
195196
0, PIPE_VBLANK_WITH_DELAY);
196197

drivers/gpu/drm/i915/i915_reg.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4599,7 +4599,7 @@
45994599
#define MTL_CHICKEN_TRANS(trans) _MMIO_TRANS((trans), \
46004600
_MTL_CHICKEN_TRANS_A, \
46014601
_MTL_CHICKEN_TRANS_B)
4602-
#define PIPE_VBLANK_WITH_DELAY REG_BIT(31) /* ADL/DG2 */
4602+
#define PIPE_VBLANK_WITH_DELAY REG_BIT(31) /* tgl+ */
46034603
#define SKL_UNMASK_VBL_TO_PIPE_IN_SRD REG_BIT(30) /* skl+ */
46044604
#define HSW_FRAME_START_DELAY_MASK REG_GENMASK(28, 27)
46054605
#define HSW_FRAME_START_DELAY(x) REG_FIELD_PREP(HSW_FRAME_START_DELAY_MASK, x)

0 commit comments

Comments
 (0)