> -----Original Message-----
> From: Intel-xe <[email protected]> On Behalf Of
> Animesh Manna
> Sent: Tuesday, February 3, 2026 7:14 PM
> To: [email protected]; [email protected]
> Cc: Dibin Moolakadan Subrahmanian
> <[email protected]>; Nikula, Jani
> <[email protected]>; Manna, Animesh <[email protected]>
> Subject: [PATCH v2 07/10] drm/i915/cmtg: program sync to port for cmtg
* CMTG
>
> Program Cmtg Sync to Port Sync. Set before enabling the timing generator.
> While cmtg start running this bit will be cleared.
* CMTG
Bspec link
>
> 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 12a081dd7e4d..3af4aefc760e 100644
> --- a/drivers/gpu/drm/i915/display/intel_cmtg.c
> +++ b/drivers/gpu/drm/i915/display/intel_cmtg.c
> @@ -258,4 +258,7 @@ void intel_cmtg_enable(const struct intel_crtc_state
> *crtc_state)
> intel_de_read(display,
> TRANS_SET_CONTEXT_LATENCY(display, cpu_transcoder)));
>
> 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 b766ded8686c..0ed767a797c0 100644
> --- a/drivers/gpu/drm/i915/display/intel_cmtg_regs.h
> +++ b/drivers/gpu/drm/i915/display/intel_cmtg_regs.h
> @@ -18,7 +18,9 @@
>
> #define TRANS_CMTG_CTL_A _MMIO(0x6fa88)
> #define TRANS_CMTG_CTL_B _MMIO(0x6fb88)
> +#define TRANS_CMTG_CTL(id) _MMIO(0x6fa88 + (id) * 0x100)
What's the point of defining TRANS_CMTG_CTL_A/B if you are not going to use it
Also have a look at how _TRANS_MMIO works
Use that a lot of you register definitions can use that without having to use a
formula for
Every def.
Regards,
Suraj Kandpal
> #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