On Tue, Jul 14, 2015 at 11:18:50AM +0530, Sonika Jindal wrote: > As per bspec, on BXT A0/A1, sw needs to activate DDIA HPD logic > and interrupts to check the external panel connection and DDIC HPD > logic for edp panel. > > Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Yeah I think this is much clearer. Will pull in as soon as there's an r-b on these two. Thanks, Daniel > --- > drivers/gpu/drm/i915/intel_dp.c | 18 ++++++++++++++++-- > drivers/gpu/drm/i915/intel_hdmi.c | 9 ++++++++- > 2 files changed, 24 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 7b54b9d..c32f3d3 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -5869,10 +5869,24 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port, > /* Set up the hotplug pin. */ > switch (port) { > case PORT_A: > - intel_encoder->hpd_pin = HPD_PORT_A; > + /* > + * On BXT A0/A1, sw needs to activate DDIC HPD logic and > + * interrupts to check the eDP panel connection. > + */ > + if (IS_BROXTON(dev_priv) && (INTEL_REVID(dev) < BXT_REVID_B0)) > + intel_encoder->hpd_pin = HPD_PORT_C; > + else > + intel_encoder->hpd_pin = HPD_PORT_A; > break; > case PORT_B: > - intel_encoder->hpd_pin = HPD_PORT_B; > + /* > + * On BXT A0/A1, sw needs to activate DDIA HPD logic and > + * interrupts to check the external panel connection. > + */ > + if (IS_BROXTON(dev_priv) && (INTEL_REVID(dev) < BXT_REVID_B0)) > + intel_encoder->hpd_pin = HPD_PORT_A; > + else > + intel_encoder->hpd_pin = HPD_PORT_B; > break; > case PORT_C: > intel_encoder->hpd_pin = HPD_PORT_C; > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c > index 44e7160..121e626 100644 > --- a/drivers/gpu/drm/i915/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/intel_hdmi.c > @@ -2011,7 +2011,14 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port, > intel_hdmi->ddc_bus = GMBUS_PIN_1_BXT; > else > intel_hdmi->ddc_bus = GMBUS_PIN_DPB; > - intel_encoder->hpd_pin = HPD_PORT_B; > + /* > + * On BXT A0/A1, sw needs to activate DDIA HPD logic and > + * interrupts to check the external panel connection. > + */ > + if (IS_BROXTON(dev_priv) && (INTEL_REVID(dev) < BXT_REVID_B0)) > + intel_encoder->hpd_pin = HPD_PORT_A; > + else > + intel_encoder->hpd_pin = HPD_PORT_B; > break; > case PORT_C: > if (IS_BROXTON(dev_priv)) > -- > 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