[Intel-gfx] [PATCH] drm/i915/vlv: DP_SINK_COUNT is not reliable for valleyview platform.

Wang, Quanxian quanxian.wang at intel.com
Mon Jun 16 03:54:41 CEST 2014


Thanks for your comment.

> -----Original Message-----
> From: Chris Wilson [mailto:chris at chris-wilson.co.uk]
> Sent: Friday, June 13, 2014 2:55 PM
> To: Wang, Quanxian
> Cc: intel-gfx at lists.freedesktop.org
> Subject: Re: [Intel-gfx] [PATCH] drm/i915/vlv: DP_SINK_COUNT is not
> reliable for valleyview platform.
> 
> On Fri, Jun 13, 2014 at 02:52:04PM +0800, Quanxian Wang wrote:
> > DP connector will be disconnected after chvt to another console for 10
> > minutes or more on valleyview platform VTC1010.
> >
> > Signed-off-by: Quanxian Wang <quanxian.wang at intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_dp.c | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_dp.c
> > b/drivers/gpu/drm/i915/intel_dp.c index 2688f6d..0d127a5 100644
> > --- a/drivers/gpu/drm/i915/intel_dp.c
> > +++ b/drivers/gpu/drm/i915/intel_dp.c
> > @@ -2942,6 +2942,7 @@ intel_dp_check_link_status(struct intel_dp
> > *intel_dp)  static enum drm_connector_status
> > intel_dp_detect_dpcd(struct intel_dp *intel_dp)  {
> > +	struct drm_device *dev = intel_dp_to_dev(intel_dp);
> >  	uint8_t *dpcd = intel_dp->dpcd;
> >  	uint8_t type;
> >
> > @@ -2953,7 +2954,8 @@ intel_dp_detect_dpcd(struct intel_dp *intel_dp)
> >  		return connector_status_connected;
> >
> >  	/* If we're HPD-aware, SINK_COUNT changes dynamically */
> > -	if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11 &&
> > +	if (!IS_VALLEYVIEW(dev) &&
> > +	    intel_dp->dpcd[DP_DPCD_REV] >= 0x11 &&
> >  	    intel_dp->downstream_ports[0] & DP_DS_PORT_HPD) {
> 
>   static bool intel_dp_supports_hpd(struct intel_dp *intel_dp)
>   {
>     if (IS_VALLEYVIEW(intel_dp_to_dev(intel_dp))
>        /* SINK_COUNT is unreliable resulting in premature disconnects */
>        return false;
> 
>     if (intel_dp->dpcd[DP_DPCD_REV] < 0x11)
>       return false;
> 
>     return intel_dp->downstream_ports[0] & DP_DS_PORT_HPD;
>   }
> 
> would have been a much preferable patch. Please always consider the next
> person to read the code and try to figure out the random predicates.
[Wang, Quanxian] Thanks
> 
> Is the issue transient? Is there a way to keep the hpd but do a automatic
> verification?
[Wang, Quanxian] If the issue happens, from my testing, it will always be there. (Could not start Weston because of no connector is available)
Not found the way. Still need more spec to make sure what is hardware process. Sorry about that.
> -Chris
> 
> --
> Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list