[Intel-gfx] [PATCH 4/6] drm/i915: eDP can be present on DDI-E

Zhang, Xiong Y xiong.y.zhang at intel.com
Wed Aug 12 03:27:08 PDT 2015


> On Tue, 2015-08-11 at 11:47 +0200, Daniel Vetter wrote:
> > On Thu, Aug 06, 2015 at 03:51:39PM +0800, Xiong Zhang wrote:
> > > From: Rodrigo Vivi <rodrigo.vivi at intel.com>
> > >
> > > On Skylake we have eDP-to-VGA using DDI-E and another aux.
> > > So let's identify it properly.
> >
> > eDP means panel (the only difference in the code we have between eDP
> > and DP is the power panel sequncing). VGA very much means no panel.
> >
> > Is this some impressive hack (dp->vga dongle using panel power as it's
> > power source) or what's going on here? Or just confused commit
> > message?
> 
> That's a good question. I've heard from customer the embedded converter is
> eDP-to-VGA, not DP-to-VGA so I'm not sure what is behind and I have no
> machine here with me.
[Xiong, Zhang]: From vbt, it is a DP-to-VGA, not eDP-to-VGA
[  103.407648] [drm:parse_ddi_port] Port E VBT info: DP:1 HDMI:0 DVI:0 EDP:0 CRT:0
> 
> Xiong, could you please check with customer if everything works without this
> patch?
[Xiong, Zhang]: Everything works well without this patch on customer's machine. But if a eDP indeed connect to DDI-E without this patch, intel_dp_is_edp(PORT_E) will return false, then eDP on DDI-E couldn't work.
> 
> Thanks,
> Rodrigo.
> 
> > I'll punt on this for now.
> > -Daniel
> >
> > >
> > > Also let's remove duplicated definitions to avoid later confusion.
> > >
> > > Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/intel_bios.h | 5 -----
> > >  drivers/gpu/drm/i915/intel_dp.c   | 9 +++++----
> > >  2 files changed, 5 insertions(+), 9 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/intel_bios.h
> > > b/drivers/gpu/drm/i915/intel_bios.h
> > > index 02255d8..a2ef0df 100644
> > > --- a/drivers/gpu/drm/i915/intel_bios.h
> > > +++ b/drivers/gpu/drm/i915/intel_bios.h
> > > @@ -747,11 +747,6 @@ int intel_parse_bios(struct drm_device *dev);
> > >  #define		DVO_C		2
> > >  #define		DVO_D		3
> > >
> > > -/* define the PORT for DP output type */
> > > -#define		PORT_IDPB	7
> > > -#define		PORT_IDPC	8
> > > -#define		PORT_IDPD	9
> > > -
> > >  /* Possible values for the "DVO Port" field for versions >= 155:
> > > */
> > >  #define DVO_PORT_HDMIA	0
> > >  #define DVO_PORT_HDMIB	1
> > > diff --git a/drivers/gpu/drm/i915/intel_dp.c
> > > b/drivers/gpu/drm/i915/intel_dp.c index 7cd47bc..0643a91 100644
> > > --- a/drivers/gpu/drm/i915/intel_dp.c
> > > +++ b/drivers/gpu/drm/i915/intel_dp.c
> > > @@ -4978,16 +4978,17 @@ intel_trans_dp_port_sel(struct drm_crtc
> > > *crtc)
> > >  	return -1;
> > >  }
> > >
> > > -/* check the VBT to see whether the eDP is on DP-D port */
> > > +/* check the VBT to see whether the eDP is on another port */
> > >  bool intel_dp_is_edp(struct drm_device *dev, enum port port)  {
> > >  	struct drm_i915_private *dev_priv = dev->dev_private;
> > >  	union child_device_config *p_child;
> > >  	int i;
> > >  	static const short port_mapping[] = {
> > > -		[PORT_B] = PORT_IDPB,
> > > -		[PORT_C] = PORT_IDPC,
> > > -		[PORT_D] = PORT_IDPD,
> > > +		[PORT_B] = DVO_PORT_DPB,
> > > +		[PORT_C] = DVO_PORT_DPC,
> > > +		[PORT_D] = DVO_PORT_DPD,
> > > +		[PORT_E] = DVO_PORT_DPE,
> > >  	};
> > >
> > >  	if (port == PORT_A)
> > > --
> > > 2.1.4
> > >
> > > _______________________________________________
> > > Intel-gfx mailing list
> > > Intel-gfx at lists.freedesktop.org
> > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> >


More information about the Intel-gfx mailing list