vmwgfx: Use the revised fifo hw version register when present
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> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
committed by
Dave Airlie
parent
390f998509
commit
ebd4c6f626
@@ -33,6 +33,7 @@ bool vmw_fifo_have_3d(struct vmw_private *dev_priv)
|
|||||||
{
|
{
|
||||||
__le32 __iomem *fifo_mem = dev_priv->mmio_virt;
|
__le32 __iomem *fifo_mem = dev_priv->mmio_virt;
|
||||||
uint32_t fifo_min, hwversion;
|
uint32_t fifo_min, hwversion;
|
||||||
|
const struct vmw_fifo_state *fifo = &dev_priv->fifo;
|
||||||
|
|
||||||
if (!(dev_priv->capabilities & SVGA_CAP_EXTENDED_FIFO))
|
if (!(dev_priv->capabilities & SVGA_CAP_EXTENDED_FIFO))
|
||||||
return false;
|
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))
|
if (fifo_min <= SVGA_FIFO_3D_HWVERSION * sizeof(unsigned int))
|
||||||
return false;
|
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)
|
if (hwversion == 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@@ -58,8 +58,14 @@ int vmw_getparam_ioctl(struct drm_device *dev, void *data,
|
|||||||
case DRM_VMW_PARAM_FIFO_HW_VERSION:
|
case DRM_VMW_PARAM_FIFO_HW_VERSION:
|
||||||
{
|
{
|
||||||
__le32 __iomem *fifo_mem = dev_priv->mmio_virt;
|
__le32 __iomem *fifo_mem = dev_priv->mmio_virt;
|
||||||
|
const struct vmw_fifo_state *fifo = &dev_priv->fifo;
|
||||||
|
|
||||||
param->value = ioread32(fifo_mem + SVGA_FIFO_3D_HWVERSION);
|
param->value =
|
||||||
|
ioread32(fifo_mem +
|
||||||
|
((fifo->capabilities &
|
||||||
|
SVGA_FIFO_CAP_3D_HWVERSION_REVISED) ?
|
||||||
|
SVGA_FIFO_3D_HWVERSION_REVISED :
|
||||||
|
SVGA_FIFO_3D_HWVERSION));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
Reference in New Issue
Block a user