dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/8] vmwgfx: Use the revised fifo hw version register when present
@ 2011-11-28 12:19 Thomas Hellstrom
  2011-11-28 12:19 ` [PATCH 2/8] vmwgfx: Remove dmabuf check in present ioctl Thomas Hellstrom
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Thomas Hellstrom @ 2011-11-28 12:19 UTC (permalink / raw)
  To: airlied; +Cc: Thomas Hellstrom, dri-devel

The driver implements the needed resource management required
to use that register.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c  |    8 +++++++-
 drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c |    8 +++++++-
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c b/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c
index 03bbc2a..a0c2f12 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c
@@ -33,6 +33,7 @@ bool vmw_fifo_have_3d(struct vmw_private *dev_priv)
 {
 	__le32 __iomem *fifo_mem = dev_priv->mmio_virt;
 	uint32_t fifo_min, hwversion;
+	const struct vmw_fifo_state *fifo = &dev_priv->fifo;
 
 	if (!(dev_priv->capabilities & SVGA_CAP_EXTENDED_FIFO))
 		return false;
@@ -41,7 +42,12 @@ bool vmw_fifo_have_3d(struct vmw_private *dev_priv)
 	if (fifo_min <= SVGA_FIFO_3D_HWVERSION * sizeof(unsigned int))
 		return false;
 
-	hwversion = ioread32(fifo_mem + SVGA_FIFO_3D_HWVERSION);
+	hwversion = ioread32(fifo_mem +
+			     ((fifo->capabilities &
+			       SVGA_FIFO_CAP_3D_HWVERSION_REVISED) ?
+			      SVGA_FIFO_3D_HWVERSION_REVISED :
+			      SVGA_FIFO_3D_HWVERSION));
+
 	if (hwversion == 0)
 		return false;
 
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c
index 3f63435..a9e2193 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c
@@ -58,8 +58,14 @@ int vmw_getparam_ioctl(struct drm_device *dev, void *data,
 	case DRM_VMW_PARAM_FIFO_HW_VERSION:
 	{
 		__le32 __iomem *fifo_mem = dev_priv->mmio_virt;
-
-		param->value = ioread32(fifo_mem + SVGA_FIFO_3D_HWVERSION);
+		const struct vmw_fifo_state *fifo = &dev_priv->fifo;
+
+		param->value =
+			ioread32(fifo_mem +
+				 ((fifo->capabilities &
+				   SVGA_FIFO_CAP_3D_HWVERSION_REVISED) ?
+				  SVGA_FIFO_3D_HWVERSION_REVISED :
+				  SVGA_FIFO_3D_HWVERSION));
 		break;
 	}
 	default:
-- 
1.7.4.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2011-12-15 12:32 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-28 12:19 [PATCH 1/8] vmwgfx: Use the revised fifo hw version register when present Thomas Hellstrom
2011-11-28 12:19 ` [PATCH 2/8] vmwgfx: Remove dmabuf check in present ioctl Thomas Hellstrom
2011-11-28 12:19 ` [PATCH 3/8] vmwgfx: Refactor cursor update Thomas Hellstrom
2011-11-28 12:19 ` [PATCH 4/8] vmwgfx: Add helper function to get surface or dmabuf Thomas Hellstrom
2011-11-28 12:19 ` [PATCH 5/8] vmwgfx: Refactor kms code to use vmw_user_lookup_handle helper Thomas Hellstrom
2011-11-28 12:19 ` [PATCH 6/8] vmwgfx: Do better culling of presents Thomas Hellstrom
2011-11-28 12:19 ` [PATCH 7/8] vmwgfx: Resend the cursor after legacy modeset Thomas Hellstrom
2011-11-28 12:19 ` [PATCH 8/8] vmwgfx: Clip cliprects against screen boundaries in present and dirty Thomas Hellstrom
2011-12-15 12:29 ` [PATCH 1/8][RESEND] vmwgfx: Use the revised fifo hw version register when present Thomas Hellstrom

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox