[Intel-gfx] [PATCH v2] drm/i915/lspcon: Switch back to PCON mode after output replug

Ville Syrjälä ville.syrjala at linux.intel.com
Thu Feb 23 18:15:28 UTC 2017


On Wed, Feb 22, 2017 at 05:10:52PM +0200, Imre Deak wrote:
> At least a ParadTech PS175 LSPCON chip/firmware uses long instead of
> short pulses to signal output unplug/plug events. This is contrary to
> how branch devices normally work which use short HPD signaling. This
> chip will also switch to LS mode after an unplug event, which could be
> the consequence of the long HPD signaling semantics and an effort to
> save power automatically. Because of this we'll fail to do AUX and
> detect the output after a replug event.
> 
> To fix this make sure we are in PCON mode during connector detection.
> 
> v2:
> - Switch the mode in the proper spot.
> 
> Cc: raptorteak at gmail.com
> Cc: Shashank Sharma <shashank.sharma at intel.com>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98912
> Reported-and-tested-by: raptorteak at gmail.com
> Signed-off-by: Imre Deak <imre.deak at intel.com>

lgtm

Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

> ---
>  drivers/gpu/drm/i915/intel_dp.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 024798a..e1529ff 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -4326,9 +4326,13 @@ intel_dp_short_pulse(struct intel_dp *intel_dp)
>  static enum drm_connector_status
>  intel_dp_detect_dpcd(struct intel_dp *intel_dp)
>  {
> +	struct intel_lspcon *lspcon = dp_to_lspcon(intel_dp);
>  	uint8_t *dpcd = intel_dp->dpcd;
>  	uint8_t type;
>  
> +	if (lspcon->active)
> +		lspcon_resume(lspcon);
> +
>  	if (!intel_dp_get_dpcd(intel_dp))
>  		return connector_status_disconnected;
>  
> -- 
> 2.5.0

-- 
Ville Syrjälä
Intel OTC


More information about the Intel-gfx mailing list