diff mbox

[3/6] drm/i915/dp: Read the HPD status before trying to read the DPCD

Message ID 1355414944-1494-3-git-send-email-damien.lespiau@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Damien Lespiau Dec. 13, 2012, 4:09 p.m. UTC
From: Damien Lespiau <damien.lespiau@intel.com>

Just like:

  Author: Damien Lespiau <damien.lespiau@intel.com>
  Date:   Wed Dec 12 19:37:22 2012 +0000

      drm/i915/hdmi: Read the HPD status before trying to read the EDID

But this time for DiplayPort.

v2: Adapt to the ibx_ name change and don't add commit hash (Chris
Wilson, Jani Nikula)

Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
 drivers/gpu/drm/i915/intel_dp.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Daniel Vetter Dec. 14, 2012, 10:17 a.m. UTC | #1
On Thu, Dec 13, 2012 at 04:09:01PM +0000, Damien Lespiau wrote:
> From: Damien Lespiau <damien.lespiau@intel.com>
> 
> Just like:
> 
>   Author: Damien Lespiau <damien.lespiau@intel.com>
>   Date:   Wed Dec 12 19:37:22 2012 +0000
> 
>       drm/i915/hdmi: Read the HPD status before trying to read the EDID
> 
> But this time for DiplayPort.
> 
> v2: Adapt to the ibx_ name change and don't add commit hash (Chris
> Wilson, Jani Nikula)
> 
> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_dp.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index b2130bc..19a0d89 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -2248,6 +2248,8 @@ static enum drm_connector_status
>  ironlake_dp_detect(struct intel_dp *intel_dp)
>  {
>  	struct drm_device *dev = intel_dp_to_dev(intel_dp);
> +	struct drm_i915_private *dev_priv = dev->dev_private;
> +	struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp);
>  	enum drm_connector_status status;
>  
>  	/* Can't disconnect eDP, but you can close the lid... */
> @@ -2258,6 +2260,9 @@ ironlake_dp_detect(struct intel_dp *intel_dp)
>  		return status;
>  	}
>  
> +	if (!ibx_digital_port_connected(dev_priv, intel_dig_port))
> +		return connector_status_disconnected;

Can I volunteer you to do the same nice unification with
g4x_digital_port_connected? Despite the different names between hdmi and
dp, they're the same bits. I have a g4x here, so can test whether it
breaks.
-Daniel

> +
>  	return intel_dp_detect_dpcd(intel_dp);
>  }
>  
> -- 
> 1.7.11.7
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index b2130bc..19a0d89 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -2248,6 +2248,8 @@  static enum drm_connector_status
 ironlake_dp_detect(struct intel_dp *intel_dp)
 {
 	struct drm_device *dev = intel_dp_to_dev(intel_dp);
+	struct drm_i915_private *dev_priv = dev->dev_private;
+	struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp);
 	enum drm_connector_status status;
 
 	/* Can't disconnect eDP, but you can close the lid... */
@@ -2258,6 +2260,9 @@  ironlake_dp_detect(struct intel_dp *intel_dp)
 		return status;
 	}
 
+	if (!ibx_digital_port_connected(dev_priv, intel_dig_port))
+		return connector_status_disconnected;
+
 	return intel_dp_detect_dpcd(intel_dp);
 }