RE: [PATCH 3/3] drm/i915/mtl: Rename the link_bit_rate to clock in C20 pll_state

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi. 
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Sripada,
> Radhakrishna
> Sent: Friday, December 8, 2023 9:30 PM
> To: Kahola, Mika <mika.kahola@xxxxxxxxx>; intel-gfx@xxxxxxxxxxxxxxxxxxxxx
> Subject: RE: [PATCH 3/3] drm/i915/mtl: Rename the link_bit_rate to clock in C20
> pll_state
> 
> Thank you for the review. With clean CI pushed the patches upstream.
It seems these patches are causing some issues on certain MTL system and need to be re-thought? 
Mika, Imre? 

Should we revert or fix? 

> 
> Regards,
> Radhakrishna Sripada
> 
> > -----Original Message-----
> > From: Kahola, Mika <mika.kahola@xxxxxxxxx>
> > Sent: Friday, December 8, 2023 4:01 AM
> > To: Sripada, Radhakrishna <radhakrishna.sripada@xxxxxxxxx>; intel-
> > gfx@xxxxxxxxxxxxxxxxxxxxx
> > Cc: Taylor, Clinton A <clinton.a.taylor@xxxxxxxxx>
> > Subject: RE: [PATCH 3/3] drm/i915/mtl: Rename the link_bit_rate to
> > clock in C20 pll_state
> >
> > > -----Original Message-----
> > > From: Sripada, Radhakrishna <radhakrishna.sripada@xxxxxxxxx>
> > > Sent: Friday, December 8, 2023 12:10 AM
> > > To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx
> > > Cc: Sripada, Radhakrishna <radhakrishna.sripada@xxxxxxxxx>; Taylor,
> > > Clinton A
> > <clinton.a.taylor@xxxxxxxxx>; Kahola, Mika
> > > <mika.kahola@xxxxxxxxx>
> > > Subject: [PATCH 3/3] drm/i915/mtl: Rename the link_bit_rate to clock
> > > in C20
> > pll_state
> > >
> > > With the cleanup of the misleading clock value to avoid extra
> > > calculations to
> > convert between link_bit_rate and clock, use one
> > > standard "clock" field for the c20 pll which works with
> > > crtc_state->port_clock
> > field.
> > >
> > > Cc: Clint Taylor <clinton.a.taylor@xxxxxxxxx>
> > > Cc: Mika Kahola <mika.kahola@xxxxxxxxx>
> >
> > Reviewed-by: Mika Kahola <mika.kahola@xxxxxxxxx>
> >
> > > Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@xxxxxxxxx>
> > > ---
> > >  drivers/gpu/drm/i915/display/intel_cx0_phy.c  | 42 +++++++++----------
> > >  .../drm/i915/display/intel_display_types.h    |  2 +-
> > >  2 files changed, 22 insertions(+), 22 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/display/intel_cx0_phy.c
> > b/drivers/gpu/drm/i915/display/intel_cx0_phy.c
> > > index d518b55d5150..4e6ea71ff629 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_cx0_phy.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_cx0_phy.c
> > > @@ -745,7 +745,7 @@ static const struct intel_c10pll_state * const
> > mtl_c10_edp_tables[] = {
> > >
> > >  /* C20 basic DP 1.4 tables */
> > >  static const struct intel_c20pll_state mtl_c20_dp_rbr = {
> > > -	.link_bit_rate = 162000,
> > > +	.clock = 162000,
> > >  	.tx = {	0xbe88, /* tx cfg0 */
> > >  		0x5800, /* tx cfg1 */
> > >  		0x0000, /* tx cfg2 */
> > > @@ -770,7 +770,7 @@ static const struct intel_c20pll_state
> > > mtl_c20_dp_rbr =
> > {  };
> > >
> > >  static const struct intel_c20pll_state mtl_c20_dp_hbr1 = {
> > > -	.link_bit_rate = 270000,
> > > +	.clock = 270000,
> > >  	.tx = {	0xbe88, /* tx cfg0 */
> > >  		0x4800, /* tx cfg1 */
> > >  		0x0000, /* tx cfg2 */
> > > @@ -795,7 +795,7 @@ static const struct intel_c20pll_state
> > > mtl_c20_dp_hbr1
> > = {  };
> > >
> > >  static const struct intel_c20pll_state mtl_c20_dp_hbr2 = {
> > > -	.link_bit_rate = 540000,
> > > +	.clock = 540000,
> > >  	.tx = {	0xbe88, /* tx cfg0 */
> > >  		0x4800, /* tx cfg1 */
> > >  		0x0000, /* tx cfg2 */
> > > @@ -820,7 +820,7 @@ static const struct intel_c20pll_state
> > > mtl_c20_dp_hbr2
> > = {  };
> > >
> > >  static const struct intel_c20pll_state mtl_c20_dp_hbr3 = {
> > > -	.link_bit_rate = 810000,
> > > +	.clock = 810000,
> > >  	.tx = {	0xbe88, /* tx cfg0 */
> > >  		0x4800, /* tx cfg1 */
> > >  		0x0000, /* tx cfg2 */
> > > @@ -846,7 +846,7 @@ static const struct intel_c20pll_state
> > > mtl_c20_dp_hbr3
> > = {
> > >
> > >  /* C20 basic DP 2.0 tables */
> > >  static const struct intel_c20pll_state mtl_c20_dp_uhbr10 = {
> > > -	.link_bit_rate = 1000000, /* 10 Gbps */
> > > +	.clock = 1000000, /* 10 Gbps */
> > >  	.tx = {	0xbe21, /* tx cfg0 */
> > >  		0x4800, /* tx cfg1 */
> > >  		0x0000, /* tx cfg2 */
> > > @@ -870,7 +870,7 @@ static const struct intel_c20pll_state
> > mtl_c20_dp_uhbr10 = {  };
> > >
> > >  static const struct intel_c20pll_state mtl_c20_dp_uhbr13_5 = {
> > > -	.link_bit_rate = 1350000, /* 13.5 Gbps */
> > > +	.clock = 1350000, /* 13.5 Gbps */
> > >  	.tx = {	0xbea0, /* tx cfg0 */
> > >  		0x4800, /* tx cfg1 */
> > >  		0x0000, /* tx cfg2 */
> > > @@ -895,7 +895,7 @@ static const struct intel_c20pll_state
> > mtl_c20_dp_uhbr13_5 = {  };
> > >
> > >  static const struct intel_c20pll_state mtl_c20_dp_uhbr20 = {
> > > -	.link_bit_rate = 2000000, /* 20 Gbps */
> > > +	.clock = 2000000, /* 20 Gbps */
> > >  	.tx = {	0xbe20, /* tx cfg0 */
> > >  		0x4800, /* tx cfg1 */
> > >  		0x0000, /* tx cfg2 */
> > > @@ -1514,7 +1514,7 @@ static const struct intel_c10pll_state * const
> > mtl_c10_hdmi_tables[] = {  };
> > >
> > >  static const struct intel_c20pll_state mtl_c20_hdmi_25_175 = {
> > > -	.link_bit_rate = 25175,
> > > +	.clock = 25175,
> > >  	.tx = {  0xbe88, /* tx cfg0 */
> > >  		  0x9800, /* tx cfg1 */
> > >  		  0x0000, /* tx cfg2 */
> > > @@ -1539,7 +1539,7 @@ static const struct intel_c20pll_state
> > mtl_c20_hdmi_25_175 = {  };
> > >
> > >  static const struct intel_c20pll_state mtl_c20_hdmi_27_0 = {
> > > -	.link_bit_rate = 27000,
> > > +	.clock = 27000,
> > >  	.tx = {  0xbe88, /* tx cfg0 */
> > >  		  0x9800, /* tx cfg1 */
> > >  		  0x0000, /* tx cfg2 */
> > > @@ -1564,7 +1564,7 @@ static const struct intel_c20pll_state
> > mtl_c20_hdmi_27_0 = {  };
> > >
> > >  static const struct intel_c20pll_state mtl_c20_hdmi_74_25 = {
> > > -	.link_bit_rate = 74250,
> > > +	.clock = 74250,
> > >  	.tx = {  0xbe88, /* tx cfg0 */
> > >  		  0x9800, /* tx cfg1 */
> > >  		  0x0000, /* tx cfg2 */
> > > @@ -1589,7 +1589,7 @@ static const struct intel_c20pll_state
> > mtl_c20_hdmi_74_25 = {  };
> > >
> > >  static const struct intel_c20pll_state mtl_c20_hdmi_148_5 = {
> > > -	.link_bit_rate = 148500,
> > > +	.clock = 148500,
> > >  	.tx = {  0xbe88, /* tx cfg0 */
> > >  		  0x9800, /* tx cfg1 */
> > >  		  0x0000, /* tx cfg2 */
> > > @@ -1614,7 +1614,7 @@ static const struct intel_c20pll_state
> > mtl_c20_hdmi_148_5 = {  };
> > >
> > >  static const struct intel_c20pll_state mtl_c20_hdmi_594 = {
> > > -	.link_bit_rate = 594000,
> > > +	.clock = 594000,
> > >  	.tx = {  0xbe88, /* tx cfg0 */
> > >  		  0x9800, /* tx cfg1 */
> > >  		  0x0000, /* tx cfg2 */
> > > @@ -1639,7 +1639,7 @@ static const struct intel_c20pll_state
> > mtl_c20_hdmi_594 = {  };
> > >
> > >  static const struct intel_c20pll_state mtl_c20_hdmi_300 = {
> > > -	.link_bit_rate = 3000000,
> > > +	.clock = 3000000,
> > >  	.tx = {  0xbe98, /* tx cfg0 */
> > >  		  0x9800, /* tx cfg1 */
> > >  		  0x0000, /* tx cfg2 */
> > > @@ -1664,7 +1664,7 @@ static const struct intel_c20pll_state
> > mtl_c20_hdmi_300 = {  };
> > >
> > >  static const struct intel_c20pll_state mtl_c20_hdmi_600 = {
> > > -	.link_bit_rate = 6000000,
> > > +	.clock = 6000000,
> > >  	.tx = {  0xbe98, /* tx cfg0 */
> > >  		  0x9800, /* tx cfg1 */
> > >  		  0x0000, /* tx cfg2 */
> > > @@ -1689,7 +1689,7 @@ static const struct intel_c20pll_state
> > mtl_c20_hdmi_600 = {  };
> > >
> > >  static const struct intel_c20pll_state mtl_c20_hdmi_800 = {
> > > -	.link_bit_rate = 8000000,
> > > +	.clock = 8000000,
> > >  	.tx = {  0xbe98, /* tx cfg0 */
> > >  		  0x9800, /* tx cfg1 */
> > >  		  0x0000, /* tx cfg2 */
> > > @@ -1714,7 +1714,7 @@ static const struct intel_c20pll_state
> > mtl_c20_hdmi_800 = {  };
> > >
> > >  static const struct intel_c20pll_state mtl_c20_hdmi_1000 = {
> > > -	.link_bit_rate = 10000000,
> > > +	.clock = 10000000,
> > >  	.tx = {  0xbe98, /* tx cfg0 */
> > >  		  0x9800, /* tx cfg1 */
> > >  		  0x0000, /* tx cfg2 */
> > > @@ -1739,7 +1739,7 @@ static const struct intel_c20pll_state
> > mtl_c20_hdmi_1000 = {  };
> > >
> > >  static const struct intel_c20pll_state mtl_c20_hdmi_1200 = {
> > > -	.link_bit_rate = 12000000,
> > > +	.clock = 12000000,
> > >  	.tx = {  0xbe98, /* tx cfg0 */
> > >  		  0x9800, /* tx cfg1 */
> > >  		  0x0000, /* tx cfg2 */
> > > @@ -1988,7 +1988,7 @@ static int intel_c20_compute_hdmi_tmds_pll(u64
> > pixel_clock, struct intel_c20pll_
> > >  	else
> > >  		mpllb_ana_freq_vco = MPLLB_ANA_FREQ_VCO_0;
> > >
> > > -	pll_state->link_bit_rate	= pixel_clock;
> > > +	pll_state->clock	= pixel_clock;
> > >  	pll_state->tx[0]	= 0xbe88;
> > >  	pll_state->tx[1]	= 0x9800;
> > >  	pll_state->tx[2]	= 0x0000;
> > > @@ -2024,7 +2024,7 @@ static int
> > > intel_c20_phy_check_hdmi_link_rate(int
> > clock)
> > >  	int i;
> > >
> > >  	for (i = 0; tables[i]; i++) {
> > > -		if (clock == tables[i]->link_bit_rate)
> > > +		if (clock == tables[i]->clock)
> > >  			return MODE_OK;
> > >  	}
> > >
> > > @@ -2076,7 +2076,7 @@ static int intel_c20pll_calc_state(struct
> > intel_crtc_state *crtc_state,
> > >  		return -EINVAL;
> > >
> > >  	for (i = 0; tables[i]; i++) {
> > > -		if (crtc_state->port_clock == tables[i]->link_bit_rate) {
> > > +		if (crtc_state->port_clock == tables[i]->clock) {
> > >  			crtc_state->cx0pll_state.c20 = *tables[i];
> > >  			return 0;
> > >  		}
> > > @@ -2174,7 +2174,7 @@ void intel_c20pll_dump_hw_state(struct
> > drm_i915_private *i915,
> > >  	drm_dbg_kms(&i915->drm, "cmn[0] = 0x%.4x, cmn[1] = 0x%.4x, cmn[2]
> > = 0x%.4x, cmn[3] = 0x%.4x\n",
> > >  		    hw_state->cmn[0], hw_state->cmn[1], hw_state->cmn[2],
> > hw_state->cmn[3]);
> > >
> > > -	if (intel_c20_use_mplla(hw_state->link_bit_rate)) {
> > > +	if (intel_c20_use_mplla(hw_state->clock)) {
> > >  		for (i = 0; i < ARRAY_SIZE(hw_state->mplla); i++)
> > >  			drm_dbg_kms(&i915->drm, "mplla[%d] = 0x%.4x\n", i,
> > hw_state->mplla[i]);
> > >  	} else {
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
> > b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > index 6b348d329957..2616bb6267a1 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > @@ -1022,7 +1022,7 @@ struct intel_c10pll_state {  };
> > >
> > >  struct intel_c20pll_state {
> > > -	u32 link_bit_rate; /* in kHz */
> > > +	u32 clock; /* in kHz */
> > >  	u16 tx[3];
> > >  	u16 cmn[4];
> > >  	union {
> > > --
> > > 2.34.1





[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux