Always save the GART table with the RADEON_SURFACE_CNTL register
zero'd out to make sure we always use the same endinanness.

Signed-off-by: David S. Miller <[email protected]>
---
 src/radeon_driver.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 813b25e..3fd5144 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -5511,8 +5511,13 @@ Bool RADEONEnterVT(int scrnIndex, int flags)
        if (info->cardType == CARD_PCIE &&
            info->dri->pKernelDRMVersion->version_minor >= 19 &&
            info->FbSecureSize) {
+           unsigned char *RADEONMMIO = info->MMIO;
+           unsigned int sctrl = INREG(RADEON_SURFACE_CNTL);
+
            /* we need to backup the PCIE GART TABLE from fb memory */
+           OUTREG(RADEON_SURFACE_CNTL, 0);
            memcpy(info->FB + info->dri->pciGartOffset, 
info->dri->pciGartBackup, info->dri->pciGartSize);
+           OUTREG(RADEON_SURFACE_CNTL, sctrl);
        }
 
        /* get the DRI back into shape after resume */
@@ -5562,8 +5567,13 @@ void RADEONLeaveVT(int scrnIndex, int flags)
         if (info->cardType == CARD_PCIE &&
            info->dri->pKernelDRMVersion->version_minor >= 19 &&
            info->FbSecureSize) {
+           unsigned char *RADEONMMIO = info->MMIO;
+           unsigned int sctrl = INREG(RADEON_SURFACE_CNTL);
+
             /* we need to backup the PCIE GART TABLE from fb memory */
+           OUTREG(RADEON_SURFACE_CNTL, 0);
             memcpy(info->dri->pciGartBackup, (info->FB + 
info->dri->pciGartOffset), info->dri->pciGartSize);
+           OUTREG(RADEON_SURFACE_CNTL, sctrl);
         }
 
        /* Make sure 3D clients will re-upload textures to video RAM */
-- 
1.6.1.2.350.g88cc

_______________________________________________
xorg-driver-ati mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-driver-ati

Reply via email to