Message ID | 1441373176-22302-4-git-send-email-sonika.jindal@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Sep 4, 2015 at 6:37 AM Sonika Jindal <sonika.jindal@intel.com> wrote: > This is to allow live status check for HDMI as well. > Also, using intel_encoder->hpd_pin to check the live status > for bxt because of BXT A0/A1 WA for HPD pins. > This is actually the only thing this patch does... So please use separated patch for this.... But the global intel_digital_port connected can be done in the same patch that uses it actually... > > Signed-off-by: Sonika Jindal <sonika.jindal@intel.com> > --- > drivers/gpu/drm/i915/intel_dp.c | 11 +++++++---- > drivers/gpu/drm/i915/intel_drv.h | 2 ++ > 2 files changed, 9 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c > b/drivers/gpu/drm/i915/intel_dp.c > index 796f930..fedf6d1 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); > + 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; > } > > @@ -4692,7 +4695,7 @@ static bool bxt_digital_port_connected(struct > drm_i915_private *dev_priv, > * > * Return %true if @port is connected, %false otherwise. > */ > -static bool intel_digital_port_connected(struct drm_i915_private > *dev_priv, > +bool intel_digital_port_connected(struct drm_i915_private *dev_priv, > struct intel_digital_port *port) > { > if (HAS_PCH_IBX(dev_priv)) > diff --git a/drivers/gpu/drm/i915/intel_drv.h > b/drivers/gpu/drm/i915/intel_drv.h > index b6c2c20..ac6d748 100644 > --- a/drivers/gpu/drm/i915/intel_drv.h > +++ b/drivers/gpu/drm/i915/intel_drv.h > @@ -1210,6 +1210,8 @@ void intel_edp_drrs_disable(struct intel_dp > *intel_dp); > void intel_edp_drrs_invalidate(struct drm_device *dev, > unsigned frontbuffer_bits); > void intel_edp_drrs_flush(struct drm_device *dev, unsigned > frontbuffer_bits); > +bool intel_digital_port_connected(struct drm_i915_private *dev_priv, > + struct intel_digital_port *port); > > /* intel_dp_mst.c */ > int intel_dp_mst_encoder_init(struct intel_digital_port *intel_dig_port, > int conn_id); > -- > 1.7.10.4 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx >
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 796f930..fedf6d1 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); + 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; } @@ -4692,7 +4695,7 @@ static bool bxt_digital_port_connected(struct drm_i915_private *dev_priv, * * Return %true if @port is connected, %false otherwise. */ -static bool intel_digital_port_connected(struct drm_i915_private *dev_priv, +bool intel_digital_port_connected(struct drm_i915_private *dev_priv, struct intel_digital_port *port) { if (HAS_PCH_IBX(dev_priv)) diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index b6c2c20..ac6d748 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h @@ -1210,6 +1210,8 @@ void intel_edp_drrs_disable(struct intel_dp *intel_dp); void intel_edp_drrs_invalidate(struct drm_device *dev, unsigned frontbuffer_bits); void intel_edp_drrs_flush(struct drm_device *dev, unsigned frontbuffer_bits); +bool intel_digital_port_connected(struct drm_i915_private *dev_priv, + struct intel_digital_port *port); /* intel_dp_mst.c */ int intel_dp_mst_encoder_init(struct intel_digital_port *intel_dig_port, int conn_id);
This is to allow live status check for HDMI as well. Also, using intel_encoder->hpd_pin to check the live status for bxt because of BXT A0/A1 WA for HPD pins. Signed-off-by: Sonika Jindal <sonika.jindal@intel.com> --- drivers/gpu/drm/i915/intel_dp.c | 11 +++++++---- drivers/gpu/drm/i915/intel_drv.h | 2 ++ 2 files changed, 9 insertions(+), 4 deletions(-)