[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