On Wed, 26 Aug 2015, "Jindal, Sonika" <sonika.jindal@xxxxxxxxx> wrote: > Oh, bxt is here..:) Spoke too soon.. > But will need to make it based upon intel_encoder->hpd_pin because of the A0/A1 WA for BXT. That should anyway be a separate patch changing the port->port to a port acquired from pin_to_port. We'll take it out after we don't need to support A0/A1. Also, that should have a comment there. > Also, we need to make intel_digital_port_connected global to be accessed from intel_hdmi.c Trivial addition in your series. BR, Jani. > > Regards, > Sonika > > -----Original Message----- > From: Intel-gfx [mailto:intel-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx] On Behalf Of Jani Nikula > Sent: Thursday, August 20, 2015 1:18 PM > To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Nikula, Jani > Subject: [PATCH v2 7/7] drm/i915/bxt: Use correct live status register for BXT platform > > BXT platform uses live status bits from 0x44440 register to obtain DP status on hotplug. The existing g4x_digital_port_connected() uses a different register and hence misses DP hotplug events on BXT platform. This patch fixes it by using the appropriate register(0x44440) and live status bits(3:5). > > Based on a patch by Durgadoss R <durgadoss.r@xxxxxxxxx>, from whom the commit message is shamelessly copy pasted. > > Reported-by: Durgadoss R <durgadoss.r@xxxxxxxxx> > Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_dp.c | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 36291838409b..508156cc750d 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -4569,6 +4569,29 @@ static bool vlv_digital_port_connected(struct drm_i915_private *dev_priv, > return I915_READ(PORT_HOTPLUG_STAT) & bit; } > > +static bool bxt_digital_port_connected(struct drm_i915_private *dev_priv, > + struct intel_digital_port *port) { > + u32 bit; > + > + switch (port->port) { > + case PORT_A: > + bit = BXT_DE_PORT_HP_DDIA; > + break; > + case PORT_B: > + bit = BXT_DE_PORT_HP_DDIB; > + break; > + case PORT_C: > + bit = BXT_DE_PORT_HP_DDIC; > + break; > + default: > + MISSING_CASE(port->port); > + return false; > + } > + > + return I915_READ(GEN8_DE_PORT_ISR) & bit; } > + > /* > * intel_digital_port_connected - is the specified port connected? > * @dev_priv: i915 private structure > @@ -4583,6 +4606,8 @@ static bool intel_digital_port_connected(struct drm_i915_private *dev_priv, > return ibx_digital_port_connected(dev_priv, port); > if (HAS_PCH_SPLIT(dev_priv)) > return cpt_digital_port_connected(dev_priv, port); > + else if (IS_BROXTON(dev_priv)) > + return bxt_digital_port_connected(dev_priv, port); > else if (IS_VALLEYVIEW(dev_priv)) > return vlv_digital_port_connected(dev_priv, port); > else > -- > 2.1.4 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx