diff options
author | Deepak Rawat <drawat@vmware.com> | 2018-08-09 16:07:42 -0700 |
---|---|---|
committer | Deepak Rawat <drawat@vmware.com> | 2018-08-09 16:34:05 -0700 |
commit | a68f0904fadc9ae10a7355eb4da1b444fd1ec124 (patch) | |
tree | 589a307278aaeed3cb019b847dc00313c2432f44 | |
parent | 14b59c6d8d1ef32f4fba4a502c2c209f7443c213 (diff) |
vmwgfx: Add SM4_1 flag
A boolean flag in device private structure to specify if the device
support SM4_1.
Signed-off-by: Deepak Rawat <drawat@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
-rw-r--r-- | vmwgfx_drv.c | 18 | ||||
-rw-r--r-- | vmwgfx_drv.h | 1 |
2 files changed, 17 insertions, 2 deletions
diff --git a/vmwgfx_drv.c b/vmwgfx_drv.c index 45aeccf..265e77d 100644 --- a/vmwgfx_drv.c +++ b/vmwgfx_drv.c @@ -934,9 +934,23 @@ static int vmw_driver_load(struct drm_device *dev, unsigned long chipset) if (ret) goto out_no_fifo; + if (dev_priv->has_dx) { + /* + * SVGA_CAP2_DX2 (DefineGBSurface_v3) is needed for SM4_1 + * support + */ + if ((dev_priv->capabilities2 & SVGA_CAP2_DX2) != 0) { + vmw_write(dev_priv, SVGA_REG_DEV_CAP, + SVGA3D_DEVCAP_SM41); + dev_priv->has_sm4_1 = vmw_read(dev_priv, + SVGA_REG_DEV_CAP); + } + } + DRM_INFO("DX: %s\n", dev_priv->has_dx ? "yes." : "no."); - DRM_INFO("Atomic: %s\n", - (dev->driver->driver_features & DRIVER_ATOMIC) ? "yes" : "no"); + DRM_INFO("Atomic: %s\n", (dev->driver->driver_features & DRIVER_ATOMIC) + ? "yes." : "no."); + DRM_INFO("SM4_1: %s\n", dev_priv->has_sm4_1 ? "yes." : "no."); snprintf(host_log, sizeof(host_log), "vmwgfx: %s-%s", VMWGFX_REPO, VMWGFX_GIT_VERSION); diff --git a/vmwgfx_drv.h b/vmwgfx_drv.h index 5884b44..4db863d 100644 --- a/vmwgfx_drv.h +++ b/vmwgfx_drv.h @@ -397,6 +397,7 @@ struct vmw_private { spinlock_t cap_lock; bool has_dx; bool assume_16bpp; + bool has_sm4_1; /* * VGA registers. |