瀏覽代碼

drm/vmwgfx: Make fence sequences continous across a VT switch.

A vt switch in stealth mode would take down the FIFO, and re-
initialize fence sequence numbers. This patch
saves the current state of the fence sequence when the FIFO is
disabled.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Thomas Hellstrom 15 年之前
父節點
當前提交
7704befbd5
共有 2 個文件被更改,包括 2 次插入2 次删除
  1. 1 0
      drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
  2. 1 2
      drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c

+ 1 - 0
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c

@@ -217,6 +217,7 @@ static int vmw_driver_load(struct drm_device *dev, unsigned long chipset)
 
 	dev_priv->dev = dev;
 	dev_priv->vmw_chipset = chipset;
+	dev_priv->last_read_sequence = (uint32_t) -100;
 	mutex_init(&dev_priv->hw_mutex);
 	mutex_init(&dev_priv->cmdbuf_mutex);
 	rwlock_init(&dev_priv->resource_lock);

+ 1 - 2
drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c

@@ -98,8 +98,7 @@ int vmw_fifo_init(struct vmw_private *dev_priv, struct vmw_fifo_state *fifo)
 		 (unsigned int) min,
 		 (unsigned int) fifo->capabilities);
 
-	dev_priv->fence_seq = (uint32_t) -100;
-	dev_priv->last_read_sequence = (uint32_t) -100;
+	dev_priv->fence_seq = dev_priv->last_read_sequence;
 	iowrite32(dev_priv->last_read_sequence, fifo_mem + SVGA_FIFO_FENCE);
 
 	return vmw_fifo_send_fence(dev_priv, &dummy);