All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: "Sharma, Shashank" <shashank.sharma@intel.com>
Cc: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	stable@vger.kernel.org, Tore Anderson <tore@fud.no>,
	Paulo Zanoni <paulo.r.zanoni@intel.com>,
	Daniel Vetter <daniel.vetter@ffwll.ch>
Subject: Re: [PATCH v2 4/4] drm/i915: Determine DP++ type 1 DVI adaptor presence based on VBT
Date: Wed, 4 May 2016 14:29:22 +0300	[thread overview]
Message-ID: <20160504112922.GN4329@intel.com> (raw)
In-Reply-To: <5729CDE9.9040800@intel.com>

On Wed, May 04, 2016 at 03:54:41PM +0530, Sharma, Shashank wrote:
> 
> 
> On 5/3/2016 12:38 AM, ville.syrjala@linux.intel.com wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > DP dual mode type 1 DVI adaptors aren't required to implement any
> > registers, so it's a bit hard to detect them. The best way would
> > be to check the state of the CONFIG1 pin, but we have no way to
> > do that. So as a last resort, check the VBT to see if the HDMI
> > port is in fact a dual mode capable DP port.
> >
> > v2: Deal with VBT code reorganization
> >      Deal with DRM_DP_DUAL_MODE_UNKNOWN
> >      Reduce DEVICE_TYPE_DP_DUAL_MODE_BITS a bit
> >      Accept both DP and HDMI dvo_port in VBT as my BSW
> >      at least declare its DP port as HDMI :(
> >
> > Cc: stable@vger.kernel.org
> > Cc: Tore Anderson <tore@fud.no>
> > Reported-by: Tore Anderson <tore@fud.no>
> > Fixes: 7a0baa623446 ("Revert "drm/i915: Disable 12bpc hdmi for now"")
> > Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
> > Cc: Shashank Sharma <shashank.sharma@intel.com>
> > Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> >   drivers/gpu/drm/i915/i915_drv.h       |  1 +
> >   drivers/gpu/drm/i915/intel_bios.c     | 36 +++++++++++++++++++++++++++++++++++
> >   drivers/gpu/drm/i915/intel_hdmi.c     | 30 +++++++++++++++++++++++++----
> >   drivers/gpu/drm/i915/intel_vbt_defs.h | 13 +++++++++++++
> >   4 files changed, 76 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> > index ff6aaf0c4e1e..abe43922a08f 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.h
> > +++ b/drivers/gpu/drm/i915/i915_drv.h
> > @@ -3489,6 +3489,7 @@ bool intel_bios_is_valid_vbt(const void *buf, size_t size);
> >   bool intel_bios_is_tv_present(struct drm_i915_private *dev_priv);
> >   bool intel_bios_is_lvds_present(struct drm_i915_private *dev_priv, u8 *i2c_pin);
> >   bool intel_bios_is_port_edp(struct drm_i915_private *dev_priv, enum port port);
> > +bool intel_bios_is_port_dp_dual_mode(struct drm_i915_private *dev_priv, enum port port);
> >   bool intel_bios_is_dsi_present(struct drm_i915_private *dev_priv, enum port *port);
> >   bool intel_bios_is_port_hpd_inverted(struct drm_i915_private *dev_priv,
> >   				     enum port port);
> > diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
> > index 81518116e00d..8b68c4882fba 100644
> > --- a/drivers/gpu/drm/i915/intel_bios.c
> > +++ b/drivers/gpu/drm/i915/intel_bios.c
> > @@ -1597,6 +1597,42 @@ bool intel_bios_is_port_edp(struct drm_i915_private *dev_priv, enum port port)
> >   	return false;
> >   }
> >
> > +bool intel_bios_is_port_dp_dual_mode(struct drm_i915_private *dev_priv, enum port port)
> > +{
> > +	static const struct {
> > +		u16 dp, hdmi;
> > +	} port_mapping[] = {
> > +		/*
> > +		 * Buggy VBTs may declare DP ports as having
> > +		 * HDMI type dvo_port :( So let's check both.
> > +		 */
> > +		[PORT_B] = { DVO_PORT_DPB, DVO_PORT_HDMIB, },
> > +		[PORT_C] = { DVO_PORT_DPC, DVO_PORT_HDMIC, },
> > +		[PORT_D] = { DVO_PORT_DPD, DVO_PORT_HDMID, },
> > +		[PORT_E] = { DVO_PORT_DPE, DVO_PORT_HDMIE, },
> > +	};
> > +	int i;
> > +
> > +	if (port == PORT_A || port >= ARRAY_SIZE(port_mapping))
> > +		return false;
> > +
> > +	if (!dev_priv->vbt.child_dev_num)
> > +		return false;
> > +
> > +	for (i = 0; i < dev_priv->vbt.child_dev_num; i++) {
> > +		const union child_device_config *p_child =
> > +			&dev_priv->vbt.child_dev[i];
> > +
> > +		if ((p_child->common.dvo_port == port_mapping[port].dp ||
> > +		     p_child->common.dvo_port == port_mapping[port].hdmi) &&
> > +		    (p_child->common.device_type & DEVICE_TYPE_DP_DUAL_MODE_BITS) ==
> > +		    (DEVICE_TYPE_DP_DUAL_MODE & DEVICE_TYPE_DP_DUAL_MODE_BITS))
> > +			return true;
> > +	}
> > +
> > +	return false;
> > +}
> > +
> >   /**
> >    * intel_bios_is_dsi_present - is DSI present in VBT
> >    * @dev_priv:	i915 device instance
> > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
> > index c4d93e6b4bed..6b52c6accf6a 100644
> > --- a/drivers/gpu/drm/i915/intel_hdmi.c
> > +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> > @@ -1396,16 +1396,38 @@ intel_hdmi_unset_edid(struct drm_connector *connector)
> >   }
> >
> >   static void
> > -intel_hdmi_dp_dual_mode_detect(struct drm_connector *connector)
> > +intel_hdmi_dp_dual_mode_detect(struct drm_connector *connector, bool has_edid)
> >   {
> >   	struct drm_i915_private *dev_priv = to_i915(connector->dev);
> >   	struct intel_hdmi *hdmi = intel_attached_hdmi(connector);
> > +	enum port port = hdmi_to_dig_port(hdmi)->port;
> >   	struct i2c_adapter *adapter =
> >   		intel_gmbus_get_adapter(dev_priv, hdmi->ddc_bus);
> >   	enum drm_dp_dual_mode_type type = drm_dp_dual_mode_detect(adapter);
> >
> > -	if (type == DRM_DP_DUAL_MODE_NONE ||
> > -	    type == DRM_DP_DUAL_MODE_UNKNOWN)
> > +	/*
> > +	 * Type 1 DVI adaptors are not required to implement any
> > +	 * registers, so we can't always detect their presence.
> > +	 * Ideally we should be able to check the state of the
> > +	 * CONFIG1 pin, but no such luck on our hardware.
> > +	 *
> > +	 * The only method left to us is to check the VBT to see
> > +	 * if the port is a dual mode capable DP port. But let's
> > +	 * only do that when we sucesfully read the EDID, to avoid
> > +	 * confusing log messages about DP dual mode adaptors when
> > +	 * there's nothing connected to the port.
> > +	 */
> > +	if (type == DRM_DP_DUAL_MODE_UNKNOWN) {
> > +		if (has_edid &&
> > +		    intel_bios_is_port_dp_dual_mode(dev_priv, port)) {
> > +			DRM_DEBUG_KMS("Assuming DP dual mode adaptor presence based on VBT\n");
> > +			type = DRM_DP_DUAL_MODE_TYPE1_DVI;
> > +		} else {
> > +			type = DRM_DP_DUAL_MODE_NONE;
> > +		}
> > +	}
> > +
> > +	if (type == DRM_DP_DUAL_MODE_NONE)
> >   		return;
> >
> >   	hdmi->dp_dual_mode.type = type;
> > @@ -1432,7 +1454,7 @@ intel_hdmi_set_edid(struct drm_connector *connector, bool force)
> >   				    intel_gmbus_get_adapter(dev_priv,
> >   				    intel_hdmi->ddc_bus));
> >
> > -		intel_hdmi_dp_dual_mode_detect(connector);
> > +		intel_hdmi_dp_dual_mode_detect(connector, edid != NULL);
> >
> >   		intel_display_power_put(dev_priv, POWER_DOMAIN_GMBUS);
> >   	}
> > diff --git a/drivers/gpu/drm/i915/intel_vbt_defs.h b/drivers/gpu/drm/i915/intel_vbt_defs.h
> > index a4a42f254c35..b1019e01e51d 100644
> > --- a/drivers/gpu/drm/i915/intel_vbt_defs.h
> > +++ b/drivers/gpu/drm/i915/intel_vbt_defs.h
> > @@ -746,6 +746,7 @@ struct bdb_psr {
> >   #define	 DEVICE_TYPE_INT_TV	0x1009
> >   #define	 DEVICE_TYPE_HDMI	0x60D2
> >   #define	 DEVICE_TYPE_DP		0x68C6
> > +#define	 DEVICE_TYPE_DP_DUAL_MODE	0x60D6
> >   #define	 DEVICE_TYPE_eDP	0x78C6
> >
> >   #define  DEVICE_TYPE_CLASS_EXTENSION	(1 << 15)
> > @@ -780,6 +781,18 @@ struct bdb_psr {
> >   	 DEVICE_TYPE_DISPLAYPORT_OUTPUT | \
> >   	 DEVICE_TYPE_ANALOG_OUTPUT)
> >
> > +#define DEVICE_TYPE_DP_DUAL_MODE_BITS \
> > +	(DEVICE_TYPE_INTERNAL_CONNECTOR | \
> > +	 DEVICE_TYPE_NOT_HDMI_OUTPUT | \
> Why do we need this one ? Shouldn't the others cover all the cases ?
> Is there a special case in your mind ?

Doh. That bit shouldn't be here. It's the only bit I was ignoring in
the previous version, and definitely we should ignore it still. I'll
send out a v3. Good catch there.

> 
> Regards
> Shashank
> > +	 DEVICE_TYPE_MIPI_OUTPUT | \
> > +	 DEVICE_TYPE_COMPOSITE_OUTPUT | \
> > +	 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)
> > +
> >   /* define the DVO port for HDMI output type */
> >   #define		DVO_B		1
> >   #define		DVO_C		2
> >

-- 
Ville Syrjälä
Intel OTC

WARNING: multiple messages have this Message-ID (diff)
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: "Sharma, Shashank" <shashank.sharma@intel.com>
Cc: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	stable@vger.kernel.org, Tore Anderson <tore@fud.no>,
	Paulo Zanoni <paulo.r.zanoni@intel.com>,
	Daniel Vetter <daniel.vetter@ffwll.ch>
Subject: Re: [PATCH v2 4/4] drm/i915: Determine DP++ type 1 DVI adaptor presence based on VBT
Date: Wed, 4 May 2016 14:29:22 +0300	[thread overview]
Message-ID: <20160504112922.GN4329@intel.com> (raw)
In-Reply-To: <5729CDE9.9040800@intel.com>

On Wed, May 04, 2016 at 03:54:41PM +0530, Sharma, Shashank wrote:
> 
> 
> On 5/3/2016 12:38 AM, ville.syrjala@linux.intel.com wrote:
> > From: Ville Syrj�l� <ville.syrjala@linux.intel.com>
> >
> > DP dual mode type 1 DVI adaptors aren't required to implement any
> > registers, so it's a bit hard to detect them. The best way would
> > be to check the state of the CONFIG1 pin, but we have no way to
> > do that. So as a last resort, check the VBT to see if the HDMI
> > port is in fact a dual mode capable DP port.
> >
> > v2: Deal with VBT code reorganization
> >      Deal with DRM_DP_DUAL_MODE_UNKNOWN
> >      Reduce DEVICE_TYPE_DP_DUAL_MODE_BITS a bit
> >      Accept both DP and HDMI dvo_port in VBT as my BSW
> >      at least declare its DP port as HDMI :(
> >
> > Cc: stable@vger.kernel.org
> > Cc: Tore Anderson <tore@fud.no>
> > Reported-by: Tore Anderson <tore@fud.no>
> > Fixes: 7a0baa623446 ("Revert "drm/i915: Disable 12bpc hdmi for now"")
> > Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
> > Cc: Shashank Sharma <shashank.sharma@intel.com>
> > Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Signed-off-by: Ville Syrj�l� <ville.syrjala@linux.intel.com>
> > ---
> >   drivers/gpu/drm/i915/i915_drv.h       |  1 +
> >   drivers/gpu/drm/i915/intel_bios.c     | 36 +++++++++++++++++++++++++++++++++++
> >   drivers/gpu/drm/i915/intel_hdmi.c     | 30 +++++++++++++++++++++++++----
> >   drivers/gpu/drm/i915/intel_vbt_defs.h | 13 +++++++++++++
> >   4 files changed, 76 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> > index ff6aaf0c4e1e..abe43922a08f 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.h
> > +++ b/drivers/gpu/drm/i915/i915_drv.h
> > @@ -3489,6 +3489,7 @@ bool intel_bios_is_valid_vbt(const void *buf, size_t size);
> >   bool intel_bios_is_tv_present(struct drm_i915_private *dev_priv);
> >   bool intel_bios_is_lvds_present(struct drm_i915_private *dev_priv, u8 *i2c_pin);
> >   bool intel_bios_is_port_edp(struct drm_i915_private *dev_priv, enum port port);
> > +bool intel_bios_is_port_dp_dual_mode(struct drm_i915_private *dev_priv, enum port port);
> >   bool intel_bios_is_dsi_present(struct drm_i915_private *dev_priv, enum port *port);
> >   bool intel_bios_is_port_hpd_inverted(struct drm_i915_private *dev_priv,
> >   				     enum port port);
> > diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
> > index 81518116e00d..8b68c4882fba 100644
> > --- a/drivers/gpu/drm/i915/intel_bios.c
> > +++ b/drivers/gpu/drm/i915/intel_bios.c
> > @@ -1597,6 +1597,42 @@ bool intel_bios_is_port_edp(struct drm_i915_private *dev_priv, enum port port)
> >   	return false;
> >   }
> >
> > +bool intel_bios_is_port_dp_dual_mode(struct drm_i915_private *dev_priv, enum port port)
> > +{
> > +	static const struct {
> > +		u16 dp, hdmi;
> > +	} port_mapping[] = {
> > +		/*
> > +		 * Buggy VBTs may declare DP ports as having
> > +		 * HDMI type dvo_port :( So let's check both.
> > +		 */
> > +		[PORT_B] = { DVO_PORT_DPB, DVO_PORT_HDMIB, },
> > +		[PORT_C] = { DVO_PORT_DPC, DVO_PORT_HDMIC, },
> > +		[PORT_D] = { DVO_PORT_DPD, DVO_PORT_HDMID, },
> > +		[PORT_E] = { DVO_PORT_DPE, DVO_PORT_HDMIE, },
> > +	};
> > +	int i;
> > +
> > +	if (port == PORT_A || port >= ARRAY_SIZE(port_mapping))
> > +		return false;
> > +
> > +	if (!dev_priv->vbt.child_dev_num)
> > +		return false;
> > +
> > +	for (i = 0; i < dev_priv->vbt.child_dev_num; i++) {
> > +		const union child_device_config *p_child =
> > +			&dev_priv->vbt.child_dev[i];
> > +
> > +		if ((p_child->common.dvo_port == port_mapping[port].dp ||
> > +		     p_child->common.dvo_port == port_mapping[port].hdmi) &&
> > +		    (p_child->common.device_type & DEVICE_TYPE_DP_DUAL_MODE_BITS) ==
> > +		    (DEVICE_TYPE_DP_DUAL_MODE & DEVICE_TYPE_DP_DUAL_MODE_BITS))
> > +			return true;
> > +	}
> > +
> > +	return false;
> > +}
> > +
> >   /**
> >    * intel_bios_is_dsi_present - is DSI present in VBT
> >    * @dev_priv:	i915 device instance
> > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
> > index c4d93e6b4bed..6b52c6accf6a 100644
> > --- a/drivers/gpu/drm/i915/intel_hdmi.c
> > +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> > @@ -1396,16 +1396,38 @@ intel_hdmi_unset_edid(struct drm_connector *connector)
> >   }
> >
> >   static void
> > -intel_hdmi_dp_dual_mode_detect(struct drm_connector *connector)
> > +intel_hdmi_dp_dual_mode_detect(struct drm_connector *connector, bool has_edid)
> >   {
> >   	struct drm_i915_private *dev_priv = to_i915(connector->dev);
> >   	struct intel_hdmi *hdmi = intel_attached_hdmi(connector);
> > +	enum port port = hdmi_to_dig_port(hdmi)->port;
> >   	struct i2c_adapter *adapter =
> >   		intel_gmbus_get_adapter(dev_priv, hdmi->ddc_bus);
> >   	enum drm_dp_dual_mode_type type = drm_dp_dual_mode_detect(adapter);
> >
> > -	if (type == DRM_DP_DUAL_MODE_NONE ||
> > -	    type == DRM_DP_DUAL_MODE_UNKNOWN)
> > +	/*
> > +	 * Type 1 DVI adaptors are not required to implement any
> > +	 * registers, so we can't always detect their presence.
> > +	 * Ideally we should be able to check the state of the
> > +	 * CONFIG1 pin, but no such luck on our hardware.
> > +	 *
> > +	 * The only method left to us is to check the VBT to see
> > +	 * if the port is a dual mode capable DP port. But let's
> > +	 * only do that when we sucesfully read the EDID, to avoid
> > +	 * confusing log messages about DP dual mode adaptors when
> > +	 * there's nothing connected to the port.
> > +	 */
> > +	if (type == DRM_DP_DUAL_MODE_UNKNOWN) {
> > +		if (has_edid &&
> > +		    intel_bios_is_port_dp_dual_mode(dev_priv, port)) {
> > +			DRM_DEBUG_KMS("Assuming DP dual mode adaptor presence based on VBT\n");
> > +			type = DRM_DP_DUAL_MODE_TYPE1_DVI;
> > +		} else {
> > +			type = DRM_DP_DUAL_MODE_NONE;
> > +		}
> > +	}
> > +
> > +	if (type == DRM_DP_DUAL_MODE_NONE)
> >   		return;
> >
> >   	hdmi->dp_dual_mode.type = type;
> > @@ -1432,7 +1454,7 @@ intel_hdmi_set_edid(struct drm_connector *connector, bool force)
> >   				    intel_gmbus_get_adapter(dev_priv,
> >   				    intel_hdmi->ddc_bus));
> >
> > -		intel_hdmi_dp_dual_mode_detect(connector);
> > +		intel_hdmi_dp_dual_mode_detect(connector, edid != NULL);
> >
> >   		intel_display_power_put(dev_priv, POWER_DOMAIN_GMBUS);
> >   	}
> > diff --git a/drivers/gpu/drm/i915/intel_vbt_defs.h b/drivers/gpu/drm/i915/intel_vbt_defs.h
> > index a4a42f254c35..b1019e01e51d 100644
> > --- a/drivers/gpu/drm/i915/intel_vbt_defs.h
> > +++ b/drivers/gpu/drm/i915/intel_vbt_defs.h
> > @@ -746,6 +746,7 @@ struct bdb_psr {
> >   #define	 DEVICE_TYPE_INT_TV	0x1009
> >   #define	 DEVICE_TYPE_HDMI	0x60D2
> >   #define	 DEVICE_TYPE_DP		0x68C6
> > +#define	 DEVICE_TYPE_DP_DUAL_MODE	0x60D6
> >   #define	 DEVICE_TYPE_eDP	0x78C6
> >
> >   #define  DEVICE_TYPE_CLASS_EXTENSION	(1 << 15)
> > @@ -780,6 +781,18 @@ struct bdb_psr {
> >   	 DEVICE_TYPE_DISPLAYPORT_OUTPUT | \
> >   	 DEVICE_TYPE_ANALOG_OUTPUT)
> >
> > +#define DEVICE_TYPE_DP_DUAL_MODE_BITS \
> > +	(DEVICE_TYPE_INTERNAL_CONNECTOR | \
> > +	 DEVICE_TYPE_NOT_HDMI_OUTPUT | \
> Why do we need this one ? Shouldn't the others cover all the cases ?
> Is there a special case in your mind ?

Doh. That bit shouldn't be here. It's the only bit I was ignoring in
the previous version, and definitely we should ignore it still. I'll
send out a v3. Good catch there.

> 
> Regards
> Shashank
> > +	 DEVICE_TYPE_MIPI_OUTPUT | \
> > +	 DEVICE_TYPE_COMPOSITE_OUTPUT | \
> > +	 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)
> > +
> >   /* define the DVO port for HDMI output type */
> >   #define		DVO_B		1
> >   #define		DVO_C		2
> >

-- 
Ville Syrj�l�
Intel OTC

  reply	other threads:[~2016-05-04 11:29 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-02 19:08 [PATCH v2 0/4] drm: DP++ adaptor support (v2) ville.syrjala
2016-05-02 19:08 ` [PATCH v2 1/4] drm: Add helper for DP++ adaptors ville.syrjala
2016-05-03  7:46   ` [Intel-gfx] " Jani Nikula
2016-05-03  7:46     ` Jani Nikula
2016-05-03 13:38     ` Ville Syrjälä
2016-05-03 13:38       ` Ville Syrjälä
2016-05-03 14:55   ` [PATCH v3 " ville.syrjala
2016-05-03 17:56     ` [PATCH v4 " ville.syrjala
2016-05-03 17:56       ` ville.syrjala
2016-05-04  6:26       ` Sharma, Shashank
2016-05-06 12:37       ` Zanoni, Paulo R
2016-05-06 12:37         ` Zanoni, Paulo R
2016-05-06 13:10         ` Ville Syrjälä
2016-05-06 13:10           ` Ville Syrjälä
2016-05-06 13:46       ` [PATCH v5 " ville.syrjala
2016-05-03 16:33   ` [PATCH v2 " Sharma, Shashank
2016-05-03 16:33     ` Sharma, Shashank
2016-05-03 17:38     ` Ville Syrjälä
2016-05-03 17:38       ` Ville Syrjälä
2016-05-02 19:08 ` [PATCH v2 2/4] drm/i915: Respect DP++ adaptor TMDS clock limit ville.syrjala
2016-05-04 10:08   ` Sharma, Shashank
2016-05-02 19:08 ` [PATCH v3 3/4] drm/i915: Enable/disable TMDS output buffers in DP++ adaptor as needed ville.syrjala
2016-05-04 10:13   ` Sharma, Shashank
2016-05-04 11:49     ` Ville Syrjälä
2016-05-04 11:49       ` Ville Syrjälä
2016-05-04 13:48       ` Sharma, Shashank
2016-05-04 13:48         ` Sharma, Shashank
2016-05-02 19:08 ` [PATCH v2 4/4] drm/i915: Determine DP++ type 1 DVI adaptor presence based on VBT ville.syrjala
2016-05-04 10:24   ` Sharma, Shashank
2016-05-04 10:24     ` Sharma, Shashank
2016-05-04 11:29     ` Ville Syrjälä [this message]
2016-05-04 11:29       ` Ville Syrjälä
2016-05-04 11:45   ` [PATCH v3 " ville.syrjala
2016-05-04 13:50     ` Sharma, Shashank
2016-05-04 13:50       ` Sharma, Shashank
2016-05-09 12:12 ` [PATCH v2 0/4] drm: DP++ adaptor support (v2) Ville Syrjälä

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160504112922.GN4329@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=paulo.r.zanoni@intel.com \
    --cc=shashank.sharma@intel.com \
    --cc=stable@vger.kernel.org \
    --cc=tore@fud.no \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.