From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Hellstrom Subject: Re: [PATCH][next] drm/vmwgfx: Let SVGA_REG_NUM_DISPLAYS decide output connectivity Date: Mon, 20 Dec 2010 12:55:23 +0100 Message-ID: <4D0F442B.5050902@shipmail.org> References: <1292509344-4165-1-git-send-email-thellstrom@vmware.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: Received: from smtp-outbound-1.vmware.com (smtp-outbound-1.vmware.com [65.115.85.69]) by gabe.freedesktop.org (Postfix) with ESMTP id BB07F9E709 for ; Mon, 20 Dec 2010 03:55:49 -0800 (PST) In-Reply-To: <1292509344-4165-1-git-send-email-thellstrom@vmware.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: Thomas Hellstrom Cc: airlied@redhat.com, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org 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 > --- > 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[] = { >