On Thu, Oct 10, 2024 at 03:43:08PM -0700, Matt Atwood wrote: > From: Suraj Kandpal <suraj.kandpal@xxxxxxxxx> > > From DISPLAY_VER() >= 30 C20 PHY consolidated programming table of > DP and eDP been merged and now use the same rates and values. eDP > over TypeC has also been introduced. > Moreover it allows more granular and higher rates. Add new table to > represent this change. > > Bspec: 68961 > Signed-off-by: Suraj Kandpal <suraj.kandpal@xxxxxxxxx> > Signed-off-by: Matt Atwood <matthew.s.atwood@xxxxxxxxx> > Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_cx0_phy.c | 24 ++++++++++++++++++-- > 1 file changed, 22 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_cx0_phy.c b/drivers/gpu/drm/i915/display/intel_cx0_phy.c > index f73d576fd99e..f1aea5ead41b 100644 > --- a/drivers/gpu/drm/i915/display/intel_cx0_phy.c > +++ b/drivers/gpu/drm/i915/display/intel_cx0_phy.c > @@ -1122,6 +1122,22 @@ static const struct intel_c20pll_state * const xe2hpd_c20_dp_tables[] = { > NULL, > }; > > +static const struct intel_c20pll_state * const xe3lpd_c20_dp_edp_tables[] = { > + &mtl_c20_dp_rbr, > + &xe2hpd_c20_edp_r216, > + &xe2hpd_c20_edp_r243, > + &mtl_c20_dp_hbr1, > + &xe2hpd_c20_edp_r324, > + &xe2hpd_c20_edp_r432, > + &mtl_c20_dp_hbr2, > + &xe2hpd_c20_edp_r675, > + &mtl_c20_dp_hbr3, > + &mtl_c20_dp_uhbr10, > + &xe2hpd_c20_dp_uhbr13_5, > + &mtl_c20_dp_uhbr20, > + NULL, > +}; > + > /* > * HDMI link rates with 38.4 MHz reference clock. > */ > @@ -2242,11 +2258,15 @@ intel_c20_pll_tables_get(struct intel_crtc_state *crtc_state, > struct drm_i915_private *i915 = to_i915(encoder->base.dev); > > if (intel_crtc_has_dp_encoder(crtc_state)) { > - if (intel_crtc_has_type(crtc_state, INTEL_OUTPUT_EDP)) > - return xe2hpd_c20_edp_tables; > + if (intel_crtc_has_type(crtc_state, INTEL_OUTPUT_EDP)) { > + if (DISPLAY_VER_FULL(i915) == IP_VER(14, 1)) It might be a bit simpler to && the conditions here instead of nesting if's. > + return xe2hpd_c20_edp_tables; > + } > > if (DISPLAY_VER_FULL(i915) == IP_VER(14, 1)) > return xe2hpd_c20_dp_tables; > + else if (DISPLAY_VER(i915) >= 30) Shouldn't this ladder be using the standard "newest platform first" ordering? Matt > + return xe3lpd_c20_dp_edp_tables; > else > return mtl_c20_dp_tables; > > -- > 2.45.0 > -- Matt Roper Graphics Software Engineer Linux GPU Platform Enablement Intel Corporation