[PATCH 8/9] drm/i915/wcl: C10 phy connected to port A and B

Bhadane, Dnyaneshwar dnyaneshwar.bhadane at intel.com
Tue Jun 10 13:49:01 UTC 2025



> -----Original Message-----
> From: Roper, Matthew D <matthew.d.roper at intel.com>
> Sent: Monday, June 9, 2025 8:35 PM
> To: Bhadane, Dnyaneshwar <dnyaneshwar.bhadane at intel.com>
> Cc: intel-xe at lists.freedesktop.org
> Subject: Re: [PATCH 8/9] drm/i915/wcl: C10 phy connected to port A and B
> 
> On Sat, Jun 07, 2025 at 01:21:03AM +0530, Dnyaneshwar Bhadane wrote:
> > WCL added a c10 phy connected to port B. PTL code is currently
> > restricting c10 to phy_a only.
> 
> This seems like it's a characteristic of the platform rather than the IP itself.  We
> should probably go ahead and break WCL out into its own display platform that
> we can match against rather than assuming WCL only uses display 30.02 and
> vice-versa.  Or maybe we can just update the existing PTL condition if this
> function would never be called on PTL with a non-existent PHY B?
Hi Matt, 
1. We could add the WCL as display platform. But for now, there is not much reason to add the WCL display platform define for single instance. Thoughts ?

2. We could not extend the condition directly with display->platform.pantherlake && phy < PHY_C as it will wrongly select the c10 PHY type for the PTL itself.
	
	But can be done
		 if ((display->platform.pantherlake && phy == PHY_A) ||
		 ((DISPLAY_VERx100(display) == 3002) && phy == PHY_B) )
			return true;

Dnyaneshwar, 
> 
> 
> Matt
> 
> >
> > Signed-off-by: Dnyaneshwar Bhadane <dnyaneshwar.bhadane at intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_cx0_phy.c | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_cx0_phy.c
> > b/drivers/gpu/drm/i915/display/intel_cx0_phy.c
> > index 75caccb65513..59eee0edef79 100644
> > --- a/drivers/gpu/drm/i915/display/intel_cx0_phy.c
> > +++ b/drivers/gpu/drm/i915/display/intel_cx0_phy.c
> > @@ -40,6 +40,9 @@ bool intel_encoder_is_c10phy(struct intel_encoder
> *encoder)
> >  	struct intel_display *display = to_intel_display(encoder);
> >  	enum phy phy = intel_encoder_to_phy(encoder);
> >
> > +	if ((DISPLAY_VERx100(display) == 3002) && phy < PHY_C)
> > +		return true;
> > +
> >  	if (display->platform.pantherlake && phy == PHY_A)
> >  		return true;
> >
> > --
> > 2.34.1
> >
> 
> --
> Matt Roper
> Graphics Software Engineer
> Linux GPU Platform Enablement
> Intel Corporation


More information about the Intel-xe mailing list