drm/vmwgfx: Also check for SVGA_CAP_DX before reading DX context support
authorDeepak Rawat <drawat.floss@gmail.com>
Thu, 13 Dec 2018 19:36:31 +0000 (11:36 -0800)
committerRoland Scheidegger <sroland@vmware.com>
Mon, 23 Mar 2020 21:39:33 +0000 (22:39 +0100)
Virtual device consider SVGA_CAP_DX and SVGA3D_DEVCAP_DXCONTEXT
independent of each other. Some of the commands in cmd_buf depends on
SVGA_CAP_DX, so better to check for that as well.

Signed-off-by: Deepak Rawat <drawat.floss@gmail.com>
Reviewed-by: Thomas Hellström (VMware) <thomas_os@shipmail.org>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Signed-off-by: Roland Scheidegger <sroland@vmware.com>
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c

index 4f58364..f976dab 100644 (file)
@@ -883,7 +883,7 @@ static int vmw_driver_load(struct drm_device *dev, unsigned long chipset)
                }
        }
 
-       if (dev_priv->has_mob) {
+       if (dev_priv->has_mob && (dev_priv->capabilities & SVGA_CAP_DX)) {
                spin_lock(&dev_priv->cap_lock);
                vmw_write(dev_priv, SVGA_REG_DEV_CAP, SVGA3D_DEVCAP_DXCONTEXT);
                dev_priv->has_dx = !!vmw_read(dev_priv, SVGA_REG_DEV_CAP);