On Fri, Sep 11, 2015 at 04:58:32PM +0530, Sonika Jindal wrote: > Using intel_encoder's hpd_pin to check the live status > because of BXT A0/A1 WA for HPD pins and hpd_pin contains the > updated pin for the corresponding port. > > Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_dp.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 796f930..bf17030 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -4663,11 +4663,14 @@ static bool vlv_digital_port_connected(struct drm_i915_private *dev_priv, > } > > static bool bxt_digital_port_connected(struct drm_i915_private *dev_priv, > - struct intel_digital_port *port) > + struct intel_digital_port *intel_dig_port) > { > + struct intel_encoder *intel_encoder = &intel_dig_port->base; > + enum port port; > u32 bit; > > - switch (port->port) { > + intel_hpd_pin_to_port(intel_encoder->hpd_pin, &port); This looks very wrong - the function you're calling here maps from hpd_pin to the port, but what you actually want is to map from port to pin. That mapping is in intel_encoder->hpd_pin. -Daniel > + switch (port) { > case PORT_A: > bit = BXT_DE_PORT_HP_DDIA; > break; > @@ -4678,7 +4681,7 @@ static bool bxt_digital_port_connected(struct drm_i915_private *dev_priv, > bit = BXT_DE_PORT_HP_DDIC; > break; > default: > - MISSING_CASE(port->port); > + MISSING_CASE(port); > return false; > } > > -- > 1.7.10.4 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx