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
