summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-01-26 12:03:45 -0500
committerAlex Deucher <alexdeucher@gmail.com>2010-01-27 16:01:31 -0500
commitcbd642af7c76469d701471daea0c8d167567ccf8 (patch)
treefe8643a8ac610ded72124da2ae80170561801815
parente5933fd74923a07aa401bdb4ecd8d1d641148440 (diff)
radeon: use mmio bar size rather than hardcoded number for register ops
newer asics have larger mmio bars
-rw-r--r--src/radeon_atombios.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c
index b19e653c..d6c58bc3 100644
--- a/src/radeon_atombios.c
+++ b/src/radeon_atombios.c
@@ -2691,13 +2691,14 @@ UINT32
CailReadATIRegister(VOID* CAIL, UINT32 idx)
{
ScrnInfoPtr pScrn = xf86Screens[((atomBiosHandlePtr)CAIL)->scrnIndex];
+ RADEONInfoPtr info = RADEONPTR(pScrn);
RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn);
unsigned char *RADEONMMIO = pRADEONEnt->MMIO;
UINT32 ret;
UINT32 mm_reg = idx << 2;
CAILFUNC(CAIL);
- if (mm_reg < 0x10000)
+ if (mm_reg < info->MMIOSize)
ret = INREG(mm_reg);
else {
OUTREG(RADEON_MM_INDEX, mm_reg);
@@ -2712,12 +2713,13 @@ VOID
CailWriteATIRegister(VOID *CAIL, UINT32 idx, UINT32 data)
{
ScrnInfoPtr pScrn = xf86Screens[((atomBiosHandlePtr)CAIL)->scrnIndex];
+ RADEONInfoPtr info = RADEONPTR(pScrn);
RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn);
unsigned char *RADEONMMIO = pRADEONEnt->MMIO;
UINT32 mm_reg = idx << 2;
CAILFUNC(CAIL);
- if (mm_reg < 0x10000)
+ if (mm_reg < info->MMIOSize)
OUTREG(mm_reg, data);
else {
OUTREG(RADEON_MM_INDEX, mm_reg);