invalidate gart tlb on PCIE after table change
authorDave Airlie <airlied@nx6125b.(none)>
Tue, 5 Jun 2007 02:38:43 +0000 (12:38 +1000)
committerDave Airlie <airlied@nx6125b.(none)>
Tue, 5 Jun 2007 02:38:43 +0000 (12:38 +1000)
shared-core/radeon_cp.c

index 9dc871c..2c0549e 100644 (file)
@@ -1395,8 +1395,11 @@ void radeon_gart_flush(struct drm_device *dev)
                RADEON_READ_IGPGART(dev_priv, RADEON_IGPGART_FLUSH);
                RADEON_WRITE_IGPGART(RADEON_IGPGART_FLUSH, 0x0);
        } else if (dev_priv->flags & RADEON_IS_PCIE) {
-
-
+               u32 tmp = RADEON_READ_PCIE(dev_priv, RADEON_PCIE_TX_GART_CNTL);
+               tmp |= RADEON_PCIE_TX_GART_INVALIDATE_TLB;
+               RADEON_WRITE_PCIE(RADEON_PCIE_TX_GART_CNTL, tmp);
+               tmp &= ~RADEON_PCIE_TX_GART_INVALIDATE_TLB;
+               RADEON_WRITE_PCIE(RADEON_PCIE_TX_GART_CNTL, tmp);
        } else {