[PATCH][next] drm/vmwgfx: Let SVGA_REG_NUM_DISPLAYS decide output connectivity

Thomas Hellstrom thomas at shipmail.org
Mon Dec 20 03:55:23 PST 2010


Dave,

Please don't apply this patch. We're looking at another solution.

/Thomas


On 12/16/2010 03:22 PM, Thomas Hellstrom wrote:
> Makes the user able to determine the number of connected outputs from
> the VMware GUI.
>
> Signed-off-by: Thomas Hellstrom<thellstrom at vmware.com>
> ---
>   drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c |   13 ++++++++++---
>   1 files changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
> index 29113c9..335c91c 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
> @@ -340,9 +340,16 @@ static enum drm_connector_status
>   	vmw_ldu_connector_detect(struct drm_connector *connector,
>   				 bool force)
>   {
> -	if (vmw_connector_to_ldu(connector)->pref_active)
> -		return connector_status_connected;
> -	return connector_status_disconnected;
> +	uint32_t num_displays;
> +	struct drm_device *dev = connector->dev;
> +	struct vmw_private *dev_priv = vmw_priv(dev);
> +
> +	mutex_lock(&dev_priv->hw_mutex);
> +	num_displays = vmw_read(dev_priv, SVGA_REG_NUM_DISPLAYS);
> +	mutex_unlock(&dev_priv->hw_mutex);
> +
> +	return ((vmw_connector_to_ldu(connector)->base.unit<  num_displays) ?
> +		connector_status_connected : connector_status_disconnected);
>   }
>
>   static struct drm_display_mode vmw_ldu_connector_builtin[] = {
>    



More information about the dri-devel mailing list