Program Cmtg Sync to Port Sync. Set before enabling the timing generator. While cmtg start running this bit will be cleared.
Signed-off-by: Animesh Manna <[email protected]> --- drivers/gpu/drm/i915/display/intel_cmtg.c | 3 +++ drivers/gpu/drm/i915/display/intel_cmtg_regs.h | 2 ++ 2 files changed, 5 insertions(+) diff --git a/drivers/gpu/drm/i915/display/intel_cmtg.c b/drivers/gpu/drm/i915/display/intel_cmtg.c index 0a804554f16d..d5793842815f 100644 --- a/drivers/gpu/drm/i915/display/intel_cmtg.c +++ b/drivers/gpu/drm/i915/display/intel_cmtg.c @@ -274,4 +274,7 @@ void intel_cmtg_enable(const struct intel_crtc_state *crtc_state) /* Program CMTG MN */ intel_cpu_cmtg_transcoder_set_m_n(crtc_state); + + /* Program Cmtg Sync to Port Sync, TRANS_CMTG_CTL */ + intel_de_rmw(display, TRANS_CMTG_CTL(cpu_transcoder), CMTG_SYNC_TO_PORT, CMTG_SYNC_TO_PORT); } diff --git a/drivers/gpu/drm/i915/display/intel_cmtg_regs.h b/drivers/gpu/drm/i915/display/intel_cmtg_regs.h index 1bbdb66ee587..aace1490a741 100644 --- a/drivers/gpu/drm/i915/display/intel_cmtg_regs.h +++ b/drivers/gpu/drm/i915/display/intel_cmtg_regs.h @@ -24,7 +24,9 @@ enum cmtg { #define TRANS_CMTG_CTL_A _MMIO(0x6fa88) #define TRANS_CMTG_CTL_B _MMIO(0x6fb88) +#define TRANS_CMTG_CTL(id) _MMIO(0x6fa88 + (id) * 0x100) #define CMTG_ENABLE REG_BIT(31) +#define CMTG_SYNC_TO_PORT REG_BIT(29) #define TRANS_HTOTAL_CMTG(id) _MMIO(0x6F000 + (id) * 0x100) #define TRANS_HBLANK_CMTG(id) _MMIO(0x6F004 + (id) * 0x100) -- 2.29.0
