> -----Original Message-----
> From: Ville Syrjälä <[email protected]>
> Sent: Friday, May 29, 2026 4:22 PM
> To: Manna, Animesh <[email protected]>
> Cc: [email protected]; [email protected]; Shankar,
> Uma <[email protected]>; Dibin Moolakadan Subrahmanian
> <[email protected]>; Nikula, Jani
> <[email protected]>
> Subject: Re: [PATCH v7 08/15] drm/i915/cmtg: Add a hook to make eDP
> transcoder secondary
> 
> On Tue, May 26, 2026 at 07:08:04PM +0530, Animesh Manna wrote:
> > Program DDI_FUNC_CTL2 to configure the eDP transcoder as secondary to
> > the CMTG transcoder.
> >
> > v2:
> > - Update commit header to be more clear. [Uma]
> >
> > Reviewed-by: Uma Shankar <[email protected]>
> > Signed-off-by: Animesh Manna <[email protected]>
> > ---
> >  drivers/gpu/drm/i915/display/intel_cmtg.c | 13 +++++++++++++
> > drivers/gpu/drm/i915/display/intel_cmtg.h |  1 +
> >  2 files changed, 14 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_cmtg.c
> > b/drivers/gpu/drm/i915/display/intel_cmtg.c
> > index 63e430f7e63b..34715280d65d 100644
> > --- a/drivers/gpu/drm/i915/display/intel_cmtg.c
> > +++ b/drivers/gpu/drm/i915/display/intel_cmtg.c
> > @@ -359,3 +359,16 @@ void intel_cmtg_enable_sync(const struct
> intel_crtc_state *crtc_state)
> >                      transcoder_name(cpu_transcoder));
> >     }
> >  }
> > +
> > +void intel_cmtg_enable_ddi(const struct intel_crtc_state *crtc_state)
> > +{
> > +   struct intel_display *display = to_intel_display(crtc_state);
> > +   enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
> > +
> > +   if (!intel_cmtg_is_allowed(crtc_state))
> > +           return;
> > +
> > +   intel_de_rmw(display, TRANS_DDI_FUNC_CTL2(display,
> cpu_transcoder),
> > +0, CMTG_SECONDARY_MODE);
> 
> We already have a place where we configure TRANS_DDI_FUNC_CTL2.
> Why is this not there?

The idea here to enable primary eDP transcoder first and then enable CMTG. 
Later make eDP transcoder secondary to CMTG.
So not added in intel_ddi_enable().

Regards,
Animesh
 
> 
> > +
> > +   drm_dbg_kms(display->drm, "CMTG: %s enabled\n",
> > +transcoder_name(cpu_transcoder)); }
> > diff --git a/drivers/gpu/drm/i915/display/intel_cmtg.h
> > b/drivers/gpu/drm/i915/display/intel_cmtg.h
> > index 64ff6a19948a..12abbafa7d08 100644
> > --- a/drivers/gpu/drm/i915/display/intel_cmtg.h
> > +++ b/drivers/gpu/drm/i915/display/intel_cmtg.h
> > @@ -11,6 +11,7 @@
> >  struct intel_display;
> >  struct intel_crtc_state;
> >
> > +void intel_cmtg_enable_ddi(const struct intel_crtc_state
> > +*crtc_state);
> >  void intel_cmtg_enable_sync(const struct intel_crtc_state
> > *crtc_state);  void intel_cmtg_set_m_n(const struct intel_crtc_state
> > *crtc_state);  void intel_cmtg_set_vrr_timings(const struct
> > intel_crtc_state *crtc_state);
> > --
> > 2.29.0
> 
> --
> Ville Syrjälä
> Intel

Reply via email to