[Intel-gfx] [PATCH] drm/i915: Update bits to check in device class from VBT to detect eDP

Ville Syrjälä ville.syrjala at linux.intel.com
Thu Jun 5 15:09:29 CEST 2014


On Thu, Jun 05, 2014 at 06:25:13PM +0530, Shobhit Kumar wrote:
> The DEVICE_TYPE_eDP has been changed to 0x1806 in case of BYT which
> can causes wrong detection failures for eDP. Reduce the number of bits
> of interest in DEVICE_TYPE_eDP_BITS to just check most relevant and
> conclusive ones and ensure they are set in device_class from VBT. This
> will ensure that eDP detection works across platforms

The current bits will match correctly for 0x1806. I don't have a problem
with the patch per-say but would be nice to know what the troublesome
device type really was, if indeed there was one. I'm just slightly
worried that we might start to get false positives on some platforms if
we make it too relaxed.

> 
> Signed-off-by: Shobhit Kumar <shobhit.kumar at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_bios.h | 10 +---------
>  drivers/gpu/drm/i915/intel_dp.c   |  4 ++--
>  2 files changed, 3 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_bios.h b/drivers/gpu/drm/i915/intel_bios.h
> index b986677..30d02b7 100644
> --- a/drivers/gpu/drm/i915/intel_bios.h
> +++ b/drivers/gpu/drm/i915/intel_bios.h
> @@ -710,16 +710,8 @@ int intel_parse_bios(struct drm_device *dev);
>   */
>  #define DEVICE_TYPE_eDP_BITS \
>  	(DEVICE_TYPE_INTERNAL_CONNECTOR | \
> -	 DEVICE_TYPE_NOT_HDMI_OUTPUT | \
> -	 DEVICE_TYPE_MIPI_OUTPUT | \
> -	 DEVICE_TYPE_COMPOSITE_OUTPUT | \
> -	 DEVICE_TYPE_DUAL_CHANNEL | \
> -	 DEVICE_TYPE_LVDS_SINGALING | \
> -	 DEVICE_TYPE_TMDS_DVI_SIGNALING | \
> -	 DEVICE_TYPE_VIDEO_SIGNALING | \
>  	 DEVICE_TYPE_DISPLAYPORT_OUTPUT | \
> -	 DEVICE_TYPE_DIGITAL_OUTPUT | \
> -	 DEVICE_TYPE_ANALOG_OUTPUT)
> +	 DEVICE_TYPE_DIGITAL_OUTPUT)
>  
>  /* define the DVO port for HDMI output type */
>  #define		DVO_B		1
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index dad3780..68f7380 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -3842,8 +3842,8 @@ bool intel_dp_is_edp(struct drm_device *dev, enum port port)
>  		p_child = dev_priv->vbt.child_dev + i;
>  
>  		if (p_child->common.dvo_port == port_mapping[port] &&
> -		    (p_child->common.device_type & DEVICE_TYPE_eDP_BITS) ==
> -		    (DEVICE_TYPE_eDP & DEVICE_TYPE_eDP_BITS))
> +		    ((p_child->common.device_type & DEVICE_TYPE_eDP_BITS) ==
> +		     DEVICE_TYPE_eDP_BITS))
>  			return true;
>  	}
>  	return false;
> -- 
> 1.9.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC



More information about the Intel-gfx mailing list