summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuc Verhaegen <libv@skynet.be>2006-04-23 21:38:57 +0200
committerLuc Verhaegen <libv@skynet.be>2006-04-23 21:38:57 +0200
commit171cbc92125f3b171bfb245577b2f709280e41b8 (patch)
treee52ffe1082992614a5772ae8f29f4c7d5642b0e9
parentaeee25950086cff78ee93da343ee29e3544b68a7 (diff)
Remove pATIHW define for the real thing.
-rw-r--r--src/atipreinit.c387
1 files changed, 192 insertions, 195 deletions
diff --git a/src/atipreinit.c b/src/atipreinit.c
index 0ba7c11..1006866 100644
--- a/src/atipreinit.c
+++ b/src/atipreinit.c
@@ -632,9 +632,6 @@ Mach64PreInitGetClockInfo(ScrnInfoPtr pScrn, GDevPtr pGDev)
}
}
-/* kill me */
-#define pATIHW (&pATI->OldHW)
-
/*
* Call this before going into the BIOS code, as the BIOS
* code depends on LCDPanelID.
@@ -650,17 +647,17 @@ Mach64PanelScratchInfoGet(ATIPtr pATI)
if (pATI->Chip == ATI_CHIP_264LT) {
pATI->LCDPanelID = GetBits(IOValue, CFG_PANEL_ID);
- pATIHW->horz_stretching = inr(HORZ_STRETCHING);
- pATIHW->vert_stretching = inr(VERT_STRETCHING);
- pATIHW->lcd_gen_ctrl = inr(LCD_GEN_CTRL);
+ pATI->OldHW.horz_stretching = inr(HORZ_STRETCHING);
+ pATI->OldHW.vert_stretching = inr(VERT_STRETCHING);
+ pATI->OldHW.lcd_gen_ctrl = inr(LCD_GEN_CTRL);
} else if ((pATI->Chip == ATI_CHIP_264LTPRO) ||
(pATI->Chip == ATI_CHIP_264XL) ||
(pATI->Chip == ATI_CHIP_MOBILITY)) {
pATI->LCDPanelID = GetBits(IOValue, CFG_PANEL_ID);
- pATIHW->lcd_index = inr(LCD_INDEX);
- pATIHW->horz_stretching = ATIMach64GetLCDReg(LCD_HORZ_STRETCHING);
- pATI->LCDHorizontal = GetBits(pATIHW->horz_stretching,
+ pATI->OldHW.lcd_index = inr(LCD_INDEX);
+ pATI->OldHW.horz_stretching = ATIMach64GetLCDReg(LCD_HORZ_STRETCHING);
+ pATI->LCDHorizontal = GetBits(pATI->OldHW.horz_stretching,
HORZ_PANEL_SIZE);
if (pATI->LCDHorizontal) {
if (pATI->LCDHorizontal == MaxBits(HORZ_PANEL_SIZE))
@@ -668,8 +665,8 @@ Mach64PanelScratchInfoGet(ATIPtr pATI)
else
pATI->LCDHorizontal = (pATI->LCDHorizontal + 1) << 3;
}
- pATIHW->ext_vert_stretch = ATIMach64GetLCDReg(LCD_EXT_VERT_STRETCH);
- pATI->LCDVertical = GetBits(pATIHW->ext_vert_stretch,
+ pATI->OldHW.ext_vert_stretch = ATIMach64GetLCDReg(LCD_EXT_VERT_STRETCH);
+ pATI->LCDVertical = GetBits(pATI->OldHW.ext_vert_stretch,
VERT_PANEL_SIZE);
if (pATI->LCDVertical) {
if (pATI->LCDVertical == MaxBits(VERT_PANEL_SIZE))
@@ -677,9 +674,9 @@ Mach64PanelScratchInfoGet(ATIPtr pATI)
else
pATI->LCDVertical++;
}
- pATIHW->vert_stretching = ATIMach64GetLCDReg(LCD_VERT_STRETCHING);
- pATIHW->lcd_gen_ctrl = ATIMach64GetLCDReg(LCD_GEN_CNTL);
- outr(LCD_INDEX, pATIHW->lcd_index);
+ pATI->OldHW.vert_stretching = ATIMach64GetLCDReg(LCD_VERT_STRETCHING);
+ pATI->OldHW.lcd_gen_ctrl = ATIMach64GetLCDReg(LCD_GEN_CNTL);
+ outr(LCD_INDEX, pATI->OldHW.lcd_index);
}
/*
@@ -687,9 +684,9 @@ Mach64PanelScratchInfoGet(ATIPtr pATI)
* enabled.
*/
if ((pATI->LCDPanelID >= 0) &&
- !(pATIHW->horz_stretching & HORZ_STRETCH_EN) &&
- !(pATIHW->vert_stretching & VERT_STRETCH_EN) &&
- !(pATIHW->lcd_gen_ctrl & LCD_ON)) {
+ !(pATI->OldHW.horz_stretching & HORZ_STRETCH_EN) &&
+ !(pATI->OldHW.vert_stretching & VERT_STRETCH_EN) &&
+ !(pATI->OldHW.lcd_gen_ctrl & LCD_ON)) {
/*
* At this point, if an XL or Mobility BIOS hasn't set
* panel dimensions, then there is no panel. Otherwise,
@@ -726,65 +723,65 @@ Mach64PanelInfoGet(ATIPtr pATI)
*/
if (pATI->Chip == ATI_CHIP_264LT) {
- pATIHW->lcd_gen_ctrl = inr(LCD_GEN_CTRL);
+ pATI->OldHW.lcd_gen_ctrl = inr(LCD_GEN_CTRL);
/* Set up to read non-shadow registers */
- if (pATIHW->lcd_gen_ctrl & SHADOW_RW_EN)
- outr(LCD_GEN_CTRL, pATIHW->lcd_gen_ctrl & ~SHADOW_RW_EN);
+ if (pATI->OldHW.lcd_gen_ctrl & SHADOW_RW_EN)
+ outr(LCD_GEN_CTRL, pATI->OldHW.lcd_gen_ctrl & ~SHADOW_RW_EN);
} else /* if ((pATI->Chip == ATI_CHIP_264LTPRO) ||
(pATI->Chip == ATI_CHIP_264XL) ||
(pATI->Chip == ATI_CHIP_MOBILITY)) */ {
- pATIHW->lcd_index = inr(LCD_INDEX);
- pATIHW->config_panel = ATIMach64GetLCDReg(LCD_CONFIG_PANEL);
- pATIHW->lcd_gen_ctrl = ATIMach64GetLCDReg(LCD_GEN_CNTL);
+ pATI->OldHW.lcd_index = inr(LCD_INDEX);
+ pATI->OldHW.config_panel = ATIMach64GetLCDReg(LCD_CONFIG_PANEL);
+ pATI->OldHW.lcd_gen_ctrl = ATIMach64GetLCDReg(LCD_GEN_CNTL);
/* Set up to read non-shadow registers */
- if (pATIHW->lcd_gen_ctrl & SHADOW_RW_EN)
- ATIMach64PutLCDReg(LCD_GEN_CNTL, pATIHW->lcd_gen_ctrl & ~SHADOW_RW_EN);
+ if (pATI->OldHW.lcd_gen_ctrl & SHADOW_RW_EN)
+ ATIMach64PutLCDReg(LCD_GEN_CNTL, pATI->OldHW.lcd_gen_ctrl & ~SHADOW_RW_EN);
}
#ifndef AVOID_CPIO
- if (!(pATIHW->crtc_gen_cntl & CRTC_EXT_DISP_EN)) {
+ if (!(pATI->OldHW.crtc_gen_cntl & CRTC_EXT_DISP_EN)) {
unsigned HBlankStart, HSyncStart, HSyncEnd, HBlankEnd, HTotal;
unsigned VBlankStart, VSyncStart, VSyncEnd, VBlankEnd, VTotal;
- pATIHW->clock = (inb(R_GENMO) & 0x0CU) >> 2;
+ pATI->OldHW.clock = (inb(R_GENMO) & 0x0CU) >> 2;
- pATIHW->crt[2] = GetReg(CRTX(pATI->CPIO_VGABase), 0x02U);
- pATIHW->crt[3] = GetReg(CRTX(pATI->CPIO_VGABase), 0x03U);
- pATIHW->crt[5] = GetReg(CRTX(pATI->CPIO_VGABase), 0x05U);
- pATIHW->crt[7] = GetReg(CRTX(pATI->CPIO_VGABase), 0x07U);
- pATIHW->crt[9] = GetReg(CRTX(pATI->CPIO_VGABase), 0x09U);
- pATIHW->crt[21] = GetReg(CRTX(pATI->CPIO_VGABase), 0x15U);
- pATIHW->crt[22] = GetReg(CRTX(pATI->CPIO_VGABase), 0x16U);
+ pATI->OldHW.crt[2] = GetReg(CRTX(pATI->CPIO_VGABase), 0x02U);
+ pATI->OldHW.crt[3] = GetReg(CRTX(pATI->CPIO_VGABase), 0x03U);
+ pATI->OldHW.crt[5] = GetReg(CRTX(pATI->CPIO_VGABase), 0x05U);
+ pATI->OldHW.crt[7] = GetReg(CRTX(pATI->CPIO_VGABase), 0x07U);
+ pATI->OldHW.crt[9] = GetReg(CRTX(pATI->CPIO_VGABase), 0x09U);
+ pATI->OldHW.crt[21] = GetReg(CRTX(pATI->CPIO_VGABase), 0x15U);
+ pATI->OldHW.crt[22] = GetReg(CRTX(pATI->CPIO_VGABase), 0x16U);
- pATIHW->crtc_h_total_disp = inr(CRTC_H_TOTAL_DISP);
- pATIHW->crtc_h_sync_strt_wid = inr(CRTC_H_SYNC_STRT_WID);
- pATIHW->crtc_v_total_disp = inr(CRTC_V_TOTAL_DISP);
- pATIHW->crtc_v_sync_strt_wid = inr(CRTC_V_SYNC_STRT_WID);
+ pATI->OldHW.crtc_h_total_disp = inr(CRTC_H_TOTAL_DISP);
+ pATI->OldHW.crtc_h_sync_strt_wid = inr(CRTC_H_SYNC_STRT_WID);
+ pATI->OldHW.crtc_v_total_disp = inr(CRTC_V_TOTAL_DISP);
+ pATI->OldHW.crtc_v_sync_strt_wid = inr(CRTC_V_SYNC_STRT_WID);
/* Switch to shadow registers */
if (pATI->Chip == ATI_CHIP_264LT)
- outr(LCD_GEN_CTRL, pATIHW->lcd_gen_ctrl | SHADOW_RW_EN);
+ outr(LCD_GEN_CTRL, pATI->OldHW.lcd_gen_ctrl | SHADOW_RW_EN);
else /* if ((pATI->Chip == ATI_CHIP_264LTPRO) ||
(pATI->Chip == ATI_CHIP_264XL) ||
(pATI->Chip == ATI_CHIP_MOBILITY)) */
- ATIMach64PutLCDReg(LCD_GEN_CNTL, pATIHW->lcd_gen_ctrl | SHADOW_RW_EN);
+ ATIMach64PutLCDReg(LCD_GEN_CNTL, pATI->OldHW.lcd_gen_ctrl | SHADOW_RW_EN);
- pATIHW->shadow_vga[2] = GetReg(CRTX(pATI->CPIO_VGABase), 0x02U);
- pATIHW->shadow_vga[3] = GetReg(CRTX(pATI->CPIO_VGABase), 0x03U);
- pATIHW->shadow_vga[5] = GetReg(CRTX(pATI->CPIO_VGABase), 0x05U);
- pATIHW->shadow_vga[7] = GetReg(CRTX(pATI->CPIO_VGABase), 0x07U);
- pATIHW->shadow_vga[9] = GetReg(CRTX(pATI->CPIO_VGABase), 0x09U);
- pATIHW->shadow_vga[21] = GetReg(CRTX(pATI->CPIO_VGABase), 0x15U);
- pATIHW->shadow_vga[22] = GetReg(CRTX(pATI->CPIO_VGABase), 0x16U);
+ pATI->OldHW.shadow_vga[2] = GetReg(CRTX(pATI->CPIO_VGABase), 0x02U);
+ pATI->OldHW.shadow_vga[3] = GetReg(CRTX(pATI->CPIO_VGABase), 0x03U);
+ pATI->OldHW.shadow_vga[5] = GetReg(CRTX(pATI->CPIO_VGABase), 0x05U);
+ pATI->OldHW.shadow_vga[7] = GetReg(CRTX(pATI->CPIO_VGABase), 0x07U);
+ pATI->OldHW.shadow_vga[9] = GetReg(CRTX(pATI->CPIO_VGABase), 0x09U);
+ pATI->OldHW.shadow_vga[21] = GetReg(CRTX(pATI->CPIO_VGABase), 0x15U);
+ pATI->OldHW.shadow_vga[22] = GetReg(CRTX(pATI->CPIO_VGABase), 0x16U);
- pATIHW->shadow_h_total_disp = inr(CRTC_H_TOTAL_DISP);
- pATIHW->shadow_h_sync_strt_wid = inr(CRTC_H_SYNC_STRT_WID);
- pATIHW->shadow_v_total_disp = inr(CRTC_V_TOTAL_DISP);
- pATIHW->shadow_v_sync_strt_wid = inr(CRTC_V_SYNC_STRT_WID);
+ pATI->OldHW.shadow_h_total_disp = inr(CRTC_H_TOTAL_DISP);
+ pATI->OldHW.shadow_h_sync_strt_wid = inr(CRTC_H_SYNC_STRT_WID);
+ pATI->OldHW.shadow_v_total_disp = inr(CRTC_V_TOTAL_DISP);
+ pATI->OldHW.shadow_v_sync_strt_wid = inr(CRTC_V_SYNC_STRT_WID);
/*
* HSyncStart and HSyncEnd should equal their shadow
@@ -797,7 +794,7 @@ Mach64PanelInfoGet(ATIPtr pATI)
*
* Note that this hardware bug does not affect the CRT output.
*/
- if (((pATIHW->crtc_h_sync_strt_wid ^ pATIHW->shadow_h_sync_strt_wid) &
+ if (((pATI->OldHW.crtc_h_sync_strt_wid ^ pATI->OldHW.shadow_h_sync_strt_wid) &
(CRTC_H_SYNC_STRT | CRTC_H_SYNC_STRT_HI | CRTC_H_SYNC_WID))) {
xf86DrvMsgVerb(pATI->scrnIndex, X_NOTICE, 0, "Invalid horizontal "
"sync pulse timing detected in mode on server "
@@ -808,45 +805,45 @@ Mach64PanelInfoGet(ATIPtr pATI)
}
/* Merge in shadow registers as appropriate */
- if (pATIHW->lcd_gen_ctrl & SHADOW_EN) {
- pATIHW->crt[2] = pATIHW->shadow_vga[2];
- pATIHW->crt[3] = pATIHW->shadow_vga[3];
- pATIHW->crt[5] = pATIHW->shadow_vga[5];
+ if (pATI->OldHW.lcd_gen_ctrl & SHADOW_EN) {
+ pATI->OldHW.crt[2] = pATI->OldHW.shadow_vga[2];
+ pATI->OldHW.crt[3] = pATI->OldHW.shadow_vga[3];
+ pATI->OldHW.crt[5] = pATI->OldHW.shadow_vga[5];
/* XXX Does this apply to VGA? If so, what about the LT? */
if ((pATI->Chip < ATI_CHIP_264LTPRO) ||
- !(pATIHW->config_panel & DONT_SHADOW_HEND)) {
- pATIHW->crtc_h_total_disp &= ~CRTC_H_DISP;
- pATIHW->crtc_h_total_disp |=
- pATIHW->shadow_h_total_disp & CRTC_H_DISP;
+ !(pATI->OldHW.config_panel & DONT_SHADOW_HEND)) {
+ pATI->OldHW.crtc_h_total_disp &= ~CRTC_H_DISP;
+ pATI->OldHW.crtc_h_total_disp |=
+ pATI->OldHW.shadow_h_total_disp & CRTC_H_DISP;
}
- pATIHW->crtc_h_total_disp &= ~CRTC_H_TOTAL;
- pATIHW->crtc_h_total_disp |=
- pATIHW->shadow_h_total_disp & CRTC_H_TOTAL;
- pATIHW->crtc_h_sync_strt_wid = pATIHW->shadow_h_sync_strt_wid;
+ pATI->OldHW.crtc_h_total_disp &= ~CRTC_H_TOTAL;
+ pATI->OldHW.crtc_h_total_disp |=
+ pATI->OldHW.shadow_h_total_disp & CRTC_H_TOTAL;
+ pATI->OldHW.crtc_h_sync_strt_wid = pATI->OldHW.shadow_h_sync_strt_wid;
/* XXX Does this apply to VGA? */
- if (pATIHW->lcd_gen_ctrl & USE_SHADOWED_VEND) {
- pATIHW->crtc_v_total_disp &= ~CRTC_V_DISP;
- pATIHW->crtc_v_total_disp |=
- pATIHW->shadow_v_total_disp & CRTC_V_DISP;
+ if (pATI->OldHW.lcd_gen_ctrl & USE_SHADOWED_VEND) {
+ pATI->OldHW.crtc_v_total_disp &= ~CRTC_V_DISP;
+ pATI->OldHW.crtc_v_total_disp |=
+ pATI->OldHW.shadow_v_total_disp & CRTC_V_DISP;
}
- if (!(pATIHW->lcd_gen_ctrl & DONT_SHADOW_VPAR)) {
- pATIHW->crt[7] = pATIHW->shadow_vga[7];
- pATIHW->crt[9] = pATIHW->shadow_vga[9];
- pATIHW->crt[21] = pATIHW->shadow_vga[21];
- pATIHW->crt[22] = pATIHW->shadow_vga[22];
+ if (!(pATI->OldHW.lcd_gen_ctrl & DONT_SHADOW_VPAR)) {
+ pATI->OldHW.crt[7] = pATI->OldHW.shadow_vga[7];
+ pATI->OldHW.crt[9] = pATI->OldHW.shadow_vga[9];
+ pATI->OldHW.crt[21] = pATI->OldHW.shadow_vga[21];
+ pATI->OldHW.crt[22] = pATI->OldHW.shadow_vga[22];
- pATIHW->crtc_v_total_disp &= ~CRTC_V_TOTAL;
- pATIHW->crtc_v_total_disp |=
- pATIHW->shadow_v_total_disp & CRTC_V_TOTAL;
+ pATI->OldHW.crtc_v_total_disp &= ~CRTC_V_TOTAL;
+ pATI->OldHW.crtc_v_total_disp |=
+ pATI->OldHW.shadow_v_total_disp & CRTC_V_TOTAL;
}
}
- if (!(pATIHW->lcd_gen_ctrl & DONT_SHADOW_VPAR))
- pATIHW->crtc_v_sync_strt_wid = pATIHW->shadow_v_sync_strt_wid;
+ if (!(pATI->OldHW.lcd_gen_ctrl & DONT_SHADOW_VPAR))
+ pATI->OldHW.crtc_v_sync_strt_wid = pATI->OldHW.shadow_v_sync_strt_wid;
/*
* Decipher input timing. This is complicated by the fact that
@@ -858,37 +855,37 @@ Mach64PanelInfoGet(ATIPtr pATI)
* Note that, in VGA mode, the accelerator's sync width fields
* are actually end positions, not widths.
*/
- HDisplay = GetBits(pATIHW->crtc_h_total_disp, CRTC_H_DISP);
- HSyncStart = (GetBits(pATIHW->crtc_h_sync_strt_wid, CRTC_H_SYNC_STRT_HI) *
+ HDisplay = GetBits(pATI->OldHW.crtc_h_total_disp, CRTC_H_DISP);
+ HSyncStart = (GetBits(pATI->OldHW.crtc_h_sync_strt_wid, CRTC_H_SYNC_STRT_HI) *
(MaxBits(CRTC_H_SYNC_STRT) + 1)) |
- GetBits(pATIHW->crtc_h_sync_strt_wid, CRTC_H_SYNC_STRT);
+ GetBits(pATI->OldHW.crtc_h_sync_strt_wid, CRTC_H_SYNC_STRT);
HSyncEnd = (HSyncStart & ~MaxBits(CRTC_H_SYNC_WID)) |
- GetBits(pATIHW->crtc_h_sync_strt_wid, CRTC_H_SYNC_WID);
+ GetBits(pATI->OldHW.crtc_h_sync_strt_wid, CRTC_H_SYNC_WID);
if (HSyncStart >= HSyncEnd)
HSyncEnd += MaxBits(CRTC_H_SYNC_WID) + 1;
- HTotal = GetBits(pATIHW->crtc_h_total_disp, CRTC_H_TOTAL);
+ HTotal = GetBits(pATI->OldHW.crtc_h_total_disp, CRTC_H_TOTAL);
- HBlankStart = (HDisplay & ~0xFFU) | pATIHW->crt[2];
+ HBlankStart = (HDisplay & ~0xFFU) | pATI->OldHW.crt[2];
if (HDisplay > HBlankStart)
HBlankStart += 0x0100U;
- HBlankEnd = (HSyncEnd & ~0x3FU) | ((pATIHW->crt[5] >> 2) & 0x20U) |
- (pATIHW->crt[3] & 0x1FU);
+ HBlankEnd = (HSyncEnd & ~0x3FU) | ((pATI->OldHW.crt[5] >> 2) & 0x20U) |
+ (pATI->OldHW.crt[3] & 0x1FU);
if (HSyncEnd > (HBlankEnd + 1))
HBlankEnd += 0x40U;
- VDisplay = GetBits(pATIHW->crtc_v_total_disp, CRTC_V_DISP);
- VSyncStart = GetBits(pATIHW->crtc_v_sync_strt_wid, CRTC_V_SYNC_STRT);
+ VDisplay = GetBits(pATI->OldHW.crtc_v_total_disp, CRTC_V_DISP);
+ VSyncStart = GetBits(pATI->OldHW.crtc_v_sync_strt_wid, CRTC_V_SYNC_STRT);
VSyncEnd = (VSyncStart & ~MaxBits(CRTC_V_SYNC_END_VGA)) |
- GetBits(pATIHW->crtc_v_sync_strt_wid, CRTC_V_SYNC_END_VGA);
+ GetBits(pATI->OldHW.crtc_v_sync_strt_wid, CRTC_V_SYNC_END_VGA);
if (VSyncStart > VSyncEnd)
VSyncEnd += MaxBits(CRTC_V_SYNC_END_VGA) + 1;
- VTotal = GetBits(pATIHW->crtc_v_total_disp, CRTC_V_TOTAL);
+ VTotal = GetBits(pATI->OldHW.crtc_v_total_disp, CRTC_V_TOTAL);
- VBlankStart = (VDisplay & ~0x03FFU) | ((pATIHW->crt[9] << 4) & 0x0200U) |
- ((pATIHW->crt[7] << 5) & 0x0100U) | pATIHW->crt[21];
+ VBlankStart = (VDisplay & ~0x03FFU) | ((pATI->OldHW.crt[9] << 4) & 0x0200U) |
+ ((pATI->OldHW.crt[7] << 5) & 0x0100U) | pATI->OldHW.crt[21];
if (VDisplay > VBlankStart)
VBlankStart += 0x0400U;
- VBlankEnd = (VSyncEnd & ~0x00FFU) | pATIHW->crt[22];
+ VBlankEnd = (VSyncEnd & ~0x00FFU) | pATI->OldHW.crt[22];
if (VSyncEnd > (VBlankEnd + 1))
VBlankEnd += 0x0100U;
@@ -907,28 +904,28 @@ Mach64PanelInfoGet(ATIPtr pATI)
#endif /* AVOID_CPIO */
{
- pATIHW->clock = inr(CLOCK_CNTL) & 0x03U;
+ pATI->OldHW.clock = inr(CLOCK_CNTL) & 0x03U;
- pATIHW->crtc_h_total_disp = inr(CRTC_H_TOTAL_DISP);
- pATIHW->crtc_h_sync_strt_wid = inr(CRTC_H_SYNC_STRT_WID);
- pATIHW->crtc_v_total_disp = inr(CRTC_V_TOTAL_DISP);
- pATIHW->crtc_v_sync_strt_wid = inr(CRTC_V_SYNC_STRT_WID);
- pATIHW->ovr_wid_left_right = inr(OVR_WID_LEFT_RIGHT);
- pATIHW->ovr_wid_top_bottom = inr(OVR_WID_TOP_BOTTOM);
+ pATI->OldHW.crtc_h_total_disp = inr(CRTC_H_TOTAL_DISP);
+ pATI->OldHW.crtc_h_sync_strt_wid = inr(CRTC_H_SYNC_STRT_WID);
+ pATI->OldHW.crtc_v_total_disp = inr(CRTC_V_TOTAL_DISP);
+ pATI->OldHW.crtc_v_sync_strt_wid = inr(CRTC_V_SYNC_STRT_WID);
+ pATI->OldHW.ovr_wid_left_right = inr(OVR_WID_LEFT_RIGHT);
+ pATI->OldHW.ovr_wid_top_bottom = inr(OVR_WID_TOP_BOTTOM);
/* Switch to shadow registers */
if (pATI->Chip == ATI_CHIP_264LT)
- outr(LCD_GEN_CTRL, pATIHW->lcd_gen_ctrl | SHADOW_RW_EN);
+ outr(LCD_GEN_CTRL, pATI->OldHW.lcd_gen_ctrl | SHADOW_RW_EN);
else /* if ((pATI->Chip == ATI_CHIP_264LTPRO) ||
(pATI->Chip == ATI_CHIP_264XL) ||
(pATI->Chip == ATI_CHIP_MOBILITY)) */
- ATIMach64PutLCDReg(LCD_GEN_CNTL, pATIHW->lcd_gen_ctrl | SHADOW_RW_EN);
+ ATIMach64PutLCDReg(LCD_GEN_CNTL, pATI->OldHW.lcd_gen_ctrl | SHADOW_RW_EN);
/* Oddly enough, there are no shadow overscan registers */
- pATIHW->shadow_h_total_disp = inr(CRTC_H_TOTAL_DISP);
- pATIHW->shadow_h_sync_strt_wid = inr(CRTC_H_SYNC_STRT_WID);
- pATIHW->shadow_v_total_disp = inr(CRTC_V_TOTAL_DISP);
- pATIHW->shadow_v_sync_strt_wid = inr(CRTC_V_SYNC_STRT_WID);
+ pATI->OldHW.shadow_h_total_disp = inr(CRTC_H_TOTAL_DISP);
+ pATI->OldHW.shadow_h_sync_strt_wid = inr(CRTC_H_SYNC_STRT_WID);
+ pATI->OldHW.shadow_v_total_disp = inr(CRTC_V_TOTAL_DISP);
+ pATI->OldHW.shadow_v_sync_strt_wid = inr(CRTC_V_SYNC_STRT_WID);
/*
* HSyncStart and HSyncEnd should equal their shadow
@@ -941,7 +938,7 @@ Mach64PanelInfoGet(ATIPtr pATI)
*
* Note that this hardware bug does not affect the CRT output.
*/
- if (((pATIHW->crtc_h_sync_strt_wid ^ pATIHW->shadow_h_sync_strt_wid) &
+ if (((pATI->OldHW.crtc_h_sync_strt_wid ^ pATI->OldHW.shadow_h_sync_strt_wid) &
(CRTC_H_SYNC_STRT | CRTC_H_SYNC_STRT_HI | CRTC_H_SYNC_WID))) {
xf86DrvMsgVerb(pATI->scrnIndex, X_NOTICE, 0,
"Invalid horizontal sync pulse timing detected "
@@ -952,59 +949,59 @@ Mach64PanelInfoGet(ATIPtr pATI)
}
/* Merge in shadow registers as appropriate */
- if (pATIHW->lcd_gen_ctrl & SHADOW_EN) {
+ if (pATI->OldHW.lcd_gen_ctrl & SHADOW_EN) {
/* XXX What about the LT? */
if ((pATI->Chip < ATI_CHIP_264LTPRO) ||
- !(pATIHW->config_panel & DONT_SHADOW_HEND)) {
- pATIHW->crtc_h_total_disp &= ~CRTC_H_DISP;
- pATIHW->crtc_h_total_disp |=
- pATIHW->shadow_h_total_disp & CRTC_H_DISP;
+ !(pATI->OldHW.config_panel & DONT_SHADOW_HEND)) {
+ pATI->OldHW.crtc_h_total_disp &= ~CRTC_H_DISP;
+ pATI->OldHW.crtc_h_total_disp |=
+ pATI->OldHW.shadow_h_total_disp & CRTC_H_DISP;
}
- pATIHW->crtc_h_total_disp &= ~CRTC_H_TOTAL;
- pATIHW->crtc_h_total_disp |=
- pATIHW->shadow_h_total_disp & CRTC_H_TOTAL;
- pATIHW->crtc_h_sync_strt_wid = pATIHW->shadow_h_sync_strt_wid;
+ pATI->OldHW.crtc_h_total_disp &= ~CRTC_H_TOTAL;
+ pATI->OldHW.crtc_h_total_disp |=
+ pATI->OldHW.shadow_h_total_disp & CRTC_H_TOTAL;
+ pATI->OldHW.crtc_h_sync_strt_wid = pATI->OldHW.shadow_h_sync_strt_wid;
- if (pATIHW->lcd_gen_ctrl & USE_SHADOWED_VEND) {
- pATIHW->crtc_v_total_disp &= ~CRTC_V_DISP;
- pATIHW->crtc_v_total_disp |=
- pATIHW->shadow_v_total_disp & CRTC_V_DISP;
+ if (pATI->OldHW.lcd_gen_ctrl & USE_SHADOWED_VEND) {
+ pATI->OldHW.crtc_v_total_disp &= ~CRTC_V_DISP;
+ pATI->OldHW.crtc_v_total_disp |=
+ pATI->OldHW.shadow_v_total_disp & CRTC_V_DISP;
}
- if (!(pATIHW->lcd_gen_ctrl & DONT_SHADOW_VPAR)) {
- pATIHW->crtc_v_total_disp &= ~CRTC_V_TOTAL;
- pATIHW->crtc_v_total_disp |=
- pATIHW->shadow_v_total_disp & CRTC_V_TOTAL;
+ if (!(pATI->OldHW.lcd_gen_ctrl & DONT_SHADOW_VPAR)) {
+ pATI->OldHW.crtc_v_total_disp &= ~CRTC_V_TOTAL;
+ pATI->OldHW.crtc_v_total_disp |=
+ pATI->OldHW.shadow_v_total_disp & CRTC_V_TOTAL;
}
}
- if (!(pATIHW->lcd_gen_ctrl & DONT_SHADOW_VPAR))
- pATIHW->crtc_v_sync_strt_wid = pATIHW->shadow_v_sync_strt_wid;
+ if (!(pATI->OldHW.lcd_gen_ctrl & DONT_SHADOW_VPAR))
+ pATI->OldHW.crtc_v_sync_strt_wid = pATI->OldHW.shadow_v_sync_strt_wid;
/* Decipher input timing */
- HDisplay = GetBits(pATIHW->crtc_h_total_disp, CRTC_H_DISP) +
- GetBits(pATIHW->ovr_wid_left_right, OVR_WID_LEFT) +
- GetBits(pATIHW->ovr_wid_left_right, OVR_WID_RIGHT);
- VDisplay = GetBits(pATIHW->crtc_v_total_disp, CRTC_V_DISP) +
- GetBits(pATIHW->ovr_wid_top_bottom, OVR_WID_TOP) +
- GetBits(pATIHW->ovr_wid_top_bottom, OVR_WID_BOTTOM);
+ HDisplay = GetBits(pATI->OldHW.crtc_h_total_disp, CRTC_H_DISP) +
+ GetBits(pATI->OldHW.ovr_wid_left_right, OVR_WID_LEFT) +
+ GetBits(pATI->OldHW.ovr_wid_left_right, OVR_WID_RIGHT);
+ VDisplay = GetBits(pATI->OldHW.crtc_v_total_disp, CRTC_V_DISP) +
+ GetBits(pATI->OldHW.ovr_wid_top_bottom, OVR_WID_TOP) +
+ GetBits(pATI->OldHW.ovr_wid_top_bottom, OVR_WID_BOTTOM);
pATI->LCDHSyncStart =
- (GetBits(pATIHW->crtc_h_sync_strt_wid, CRTC_H_SYNC_STRT_HI) *
+ (GetBits(pATI->OldHW.crtc_h_sync_strt_wid, CRTC_H_SYNC_STRT_HI) *
(MaxBits(CRTC_H_SYNC_STRT) + 1)) +
- GetBits(pATIHW->crtc_h_sync_strt_wid, CRTC_H_SYNC_STRT) -
+ GetBits(pATI->OldHW.crtc_h_sync_strt_wid, CRTC_H_SYNC_STRT) -
HDisplay;
pATI->LCDHSyncWidth =
- GetBits(pATIHW->crtc_h_sync_strt_wid, CRTC_H_SYNC_WID);
+ GetBits(pATI->OldHW.crtc_h_sync_strt_wid, CRTC_H_SYNC_WID);
pATI->LCDHBlankWidth =
- GetBits(pATIHW->crtc_h_total_disp, CRTC_H_TOTAL) - HDisplay;
+ GetBits(pATI->OldHW.crtc_h_total_disp, CRTC_H_TOTAL) - HDisplay;
pATI->LCDVSyncStart =
- GetBits(pATIHW->crtc_v_sync_strt_wid, CRTC_V_SYNC_STRT) - VDisplay;
+ GetBits(pATI->OldHW.crtc_v_sync_strt_wid, CRTC_V_SYNC_STRT) - VDisplay;
pATI->LCDVSyncWidth =
- GetBits(pATIHW->crtc_v_sync_strt_wid, CRTC_V_SYNC_WID);
+ GetBits(pATI->OldHW.crtc_v_sync_strt_wid, CRTC_V_SYNC_WID);
pATI->LCDVBlankWidth =
- GetBits(pATIHW->crtc_v_total_disp, CRTC_V_TOTAL) - VDisplay;
+ GetBits(pATI->OldHW.crtc_v_total_disp, CRTC_V_TOTAL) - VDisplay;
HDisplay++;
VDisplay++;
@@ -1012,12 +1009,12 @@ Mach64PanelInfoGet(ATIPtr pATI)
/* Restore LCD registers */
if (pATI->Chip == ATI_CHIP_264LT) {
- outr(LCD_GEN_CTRL, pATIHW->lcd_gen_ctrl);
+ outr(LCD_GEN_CTRL, pATI->OldHW.lcd_gen_ctrl);
} else /* if ((pATI->Chip == ATI_CHIP_264LTPRO) ||
(pATI->Chip == ATI_CHIP_264XL) ||
(pATI->Chip == ATI_CHIP_MOBILITY)) */ {
- ATIMach64PutLCDReg(LCD_GEN_CNTL, pATIHW->lcd_gen_ctrl);
- outr(LCD_INDEX, pATIHW->lcd_index);
+ ATIMach64PutLCDReg(LCD_GEN_CNTL, pATI->OldHW.lcd_gen_ctrl);
+ outr(LCD_INDEX, pATI->OldHW.lcd_index);
}
HDisplay <<= 3;
@@ -1026,20 +1023,20 @@ Mach64PanelInfoGet(ATIPtr pATI)
pATI->LCDHBlankWidth <<= 3;
/* Calculate panel dimensions implied by the input timing */
- if ((pATIHW->horz_stretching & (HORZ_STRETCH_EN | AUTO_HORZ_RATIO)) ==
+ if ((pATI->OldHW.horz_stretching & (HORZ_STRETCH_EN | AUTO_HORZ_RATIO)) ==
HORZ_STRETCH_EN) {
- if (pATIHW->horz_stretching & HORZ_STRETCH_MODE) {
- if (pATIHW->horz_stretching & HORZ_STRETCH_BLEND)
+ if (pATI->OldHW.horz_stretching & HORZ_STRETCH_MODE) {
+ if (pATI->OldHW.horz_stretching & HORZ_STRETCH_BLEND)
HDisplay = (HDisplay * (MaxBits(HORZ_STRETCH_BLEND) + 1)) /
- GetBits(pATIHW->horz_stretching, HORZ_STRETCH_BLEND);
- } else if (((pATIHW->horz_stretching & HORZ_STRETCH_LOOP) > HORZ_STRETCH_LOOP15) ||
- (pATIHW->horz_stretching & SetBits(1, HORZ_STRETCH_RATIO))) {
+ GetBits(pATI->OldHW.horz_stretching, HORZ_STRETCH_BLEND);
+ } else if (((pATI->OldHW.horz_stretching & HORZ_STRETCH_LOOP) > HORZ_STRETCH_LOOP15) ||
+ (pATI->OldHW.horz_stretching & SetBits(1, HORZ_STRETCH_RATIO))) {
xf86DrvMsg(pATI->scrnIndex, X_WARNING, "Ignoring invalid horizontal"
" stretch ratio in mode on server entry.\n");
} else {
- IOValue = GetBits(pATIHW->horz_stretching, HORZ_STRETCH_RATIO);
+ IOValue = GetBits(pATI->OldHW.horz_stretching, HORZ_STRETCH_RATIO);
- switch (GetBits(pATIHW->horz_stretching, HORZ_STRETCH_LOOP)) {
+ switch (GetBits(pATI->OldHW.horz_stretching, HORZ_STRETCH_LOOP)) {
case GetBits(HORZ_STRETCH_LOOP09, HORZ_STRETCH_LOOP):
i = 9;
IOValue &= (1 << 9) - 1;
@@ -1078,16 +1075,16 @@ Mach64PanelInfoGet(ATIPtr pATI)
}
}
- if ((pATIHW->vert_stretching & VERT_STRETCH_EN) &&
- !(pATIHW->ext_vert_stretch & AUTO_VERT_RATIO)) {
- if ((pATIHW->vert_stretching & VERT_STRETCH_USE0) || (VDisplay <= 350))
- IOValue = GetBits(pATIHW->vert_stretching, VERT_STRETCH_RATIO0);
+ if ((pATI->OldHW.vert_stretching & VERT_STRETCH_EN) &&
+ !(pATI->OldHW.ext_vert_stretch & AUTO_VERT_RATIO)) {
+ if ((pATI->OldHW.vert_stretching & VERT_STRETCH_USE0) || (VDisplay <= 350))
+ IOValue = GetBits(pATI->OldHW.vert_stretching, VERT_STRETCH_RATIO0);
else if (VDisplay <= 400)
- IOValue = GetBits(pATIHW->vert_stretching, VERT_STRETCH_RATIO1);
- else if ((VDisplay <= 480) || !(pATIHW->ext_vert_stretch & VERT_STRETCH_RATIO3))
- IOValue = GetBits(pATIHW->vert_stretching, VERT_STRETCH_RATIO2);
+ IOValue = GetBits(pATI->OldHW.vert_stretching, VERT_STRETCH_RATIO1);
+ else if ((VDisplay <= 480) || !(pATI->OldHW.ext_vert_stretch & VERT_STRETCH_RATIO3))
+ IOValue = GetBits(pATI->OldHW.vert_stretching, VERT_STRETCH_RATIO2);
else
- IOValue = GetBits(pATIHW->ext_vert_stretch, VERT_STRETCH_RATIO3);
+ IOValue = GetBits(pATI->OldHW.ext_vert_stretch, VERT_STRETCH_RATIO3);
if (IOValue)
VDisplay = (VDisplay * (MaxBits(VERT_STRETCH_RATIO0) + 1)) / IOValue;
@@ -1095,11 +1092,11 @@ Mach64PanelInfoGet(ATIPtr pATI)
/* Match calculated dimensions to probed dimensions */
if (!pATI->LCDHorizontal) {
- if ((pATIHW->horz_stretching & (HORZ_STRETCH_EN | AUTO_HORZ_RATIO)) !=
+ if ((pATI->OldHW.horz_stretching & (HORZ_STRETCH_EN | AUTO_HORZ_RATIO)) !=
(HORZ_STRETCH_EN | AUTO_HORZ_RATIO))
pATI->LCDHorizontal = HDisplay;
} else if (pATI->LCDHorizontal != (int)HDisplay) {
- if ((pATIHW->horz_stretching & (HORZ_STRETCH_EN | AUTO_HORZ_RATIO)) !=
+ if ((pATI->OldHW.horz_stretching & (HORZ_STRETCH_EN | AUTO_HORZ_RATIO)) !=
(HORZ_STRETCH_EN | AUTO_HORZ_RATIO))
xf86DrvMsgVerb(pATI->scrnIndex, X_WARNING, 4, "Inconsistent panel "
"horizontal dimension: %d and %d.\n",
@@ -1108,12 +1105,12 @@ Mach64PanelInfoGet(ATIPtr pATI)
}
if (!pATI->LCDVertical) {
- if (!(pATIHW->vert_stretching & VERT_STRETCH_EN) ||
- !(pATIHW->ext_vert_stretch & AUTO_VERT_RATIO))
+ if (!(pATI->OldHW.vert_stretching & VERT_STRETCH_EN) ||
+ !(pATI->OldHW.ext_vert_stretch & AUTO_VERT_RATIO))
pATI->LCDVertical = VDisplay;
} else if (pATI->LCDVertical != (int)VDisplay) {
- if (!(pATIHW->vert_stretching & VERT_STRETCH_EN) ||
- !(pATIHW->ext_vert_stretch & AUTO_VERT_RATIO))
+ if (!(pATI->OldHW.vert_stretching & VERT_STRETCH_EN) ||
+ !(pATI->OldHW.ext_vert_stretch & AUTO_VERT_RATIO))
xf86DrvMsgVerb(pATI->scrnIndex, X_WARNING, 4, "Inconsistent panel "
"vertical dimension: %d and %d.\n",
pATI->LCDVertical, VDisplay);
@@ -1131,7 +1128,7 @@ Mach64PanelInfoGet(ATIPtr pATI)
}
/* If the mode on entry wasn't stretched, adjust timings */
- if (!(pATIHW->horz_stretching & HORZ_STRETCH_EN) &&
+ if (!(pATI->OldHW.horz_stretching & HORZ_STRETCH_EN) &&
(pATI->LCDHorizontal > (int)HDisplay)) {
HDisplay = pATI->LCDHorizontal - HDisplay;
if (pATI->LCDHSyncStart >= HDisplay)
@@ -1144,7 +1141,7 @@ Mach64PanelInfoGet(ATIPtr pATI)
pATI->LCDHBlankWidth = HDisplay;
}
- if (!(pATIHW->vert_stretching & VERT_STRETCH_EN) &&
+ if (!(pATI->OldHW.vert_stretching & VERT_STRETCH_EN) &&
(pATI->LCDVertical > (int)VDisplay)) {
VDisplay = pATI->LCDVertical - VDisplay;
if (pATI->LCDVSyncStart >= VDisplay)
@@ -1174,14 +1171,14 @@ Mach64PanelInfoGet(ATIPtr pATI)
* Get post divider. A GCC bug has caused the following expression
* to be broken down into its individual components.
*/
- ClockMask = PLL_VCLK0_XDIV << pATIHW->clock;
- PostMask = PLL_VCLK0_POST_DIV << (pATIHW->clock * 2);
+ ClockMask = PLL_VCLK0_XDIV << pATI->OldHW.clock;
+ PostMask = PLL_VCLK0_POST_DIV << (pATI->OldHW.clock * 2);
i = GetBits(ATIMach64GetPLLReg(PLL_XCLK_CNTL), ClockMask);
i *= MaxBits(PLL_VCLK0_POST_DIV) + 1;
i |= GetBits(ATIMach64GetPLLReg(PLL_VCLK_POST_DIV), PostMask);
/* Calculate clock of mode on entry */
- Numerator = ATIMach64GetPLLReg(PLL_VCLK0_FB_DIV + pATIHW->clock) *
+ Numerator = ATIMach64GetPLLReg(PLL_VCLK0_FB_DIV + pATI->OldHW.clock) *
pATI->ReferenceNumerator;
Denominator = pATI->ClockDescriptor.MinM * pATI->ReferenceDenominator *
pATI->ClockDescriptor.PostDividers[i];
@@ -1664,8 +1661,8 @@ ATIPreInit(ScrnInfoPtr pScreenInfo, int flags)
pATI->nFIFOEntries = 16; /* For now */
pATI->Audio = ATI_AUDIO_NONE;
- pATIHW->crtc_gen_cntl = inr(CRTC_GEN_CNTL);
- if (!(pATIHW->crtc_gen_cntl & CRTC_EN) &&
+ pATI->OldHW.crtc_gen_cntl = inr(CRTC_GEN_CNTL);
+ if (!(pATI->OldHW.crtc_gen_cntl & CRTC_EN) &&
(pATI->Chip >= ATI_CHIP_264CT)) {
xf86DrvMsg(pScreenInfo->scrnIndex, X_ERROR,
"Adapter has not been initialised.\n");
@@ -1676,7 +1673,7 @@ ATIPreInit(ScrnInfoPtr pScreenInfo, int flags)
#ifdef AVOID_CPIO
- if (!(pATIHW->crtc_gen_cntl & CRTC_EXT_DISP_EN)) {
+ if (!(pATI->OldHW.crtc_gen_cntl & CRTC_EXT_DISP_EN)) {
xf86DrvMsg(pScreenInfo->scrnIndex, X_ERROR,
"Adapters found to be in VGA mode on server entry are not"
" supported by the MMIO-only version of this driver.\n");
@@ -1687,14 +1684,14 @@ ATIPreInit(ScrnInfoPtr pScreenInfo, int flags)
#endif /* AVOID_CPIO */
- pATIHW->mem_cntl = inr(MEM_CNTL);
+ pATI->OldHW.mem_cntl = inr(MEM_CNTL);
if (pATI->Chip < ATI_CHIP_264VTB) {
- pATI->VideoRAM = videoRamSizes[GetBits(pATIHW->mem_cntl,
+ pATI->VideoRAM = videoRamSizes[GetBits(pATI->OldHW.mem_cntl,
CTL_MEM_SIZE) + 2];
} else {
pATI->nFIFOEntries = (unsigned int)(-1) >> 1; /* Don't care */
- IOValue = GetBits(pATIHW->mem_cntl, CTL_MEM_SIZEB);
+ IOValue = GetBits(pATI->OldHW.mem_cntl, CTL_MEM_SIZEB);
if (IOValue < 8)
pATI->VideoRAM = (IOValue + 1) * 512;
else if (IOValue < 12)
@@ -1972,12 +1969,12 @@ ATIPreInit(ScrnInfoPtr pScreenInfo, int flags)
{
/* Get adapter's linear aperture configuration */
- pATIHW->config_cntl = inr(CONFIG_CNTL);
+ pATI->OldHW.config_cntl = inr(CONFIG_CNTL);
pATI->LinearBase =
- GetBits(pATIHW->config_cntl, CFG_MEM_AP_LOC) << 22;
- if ((pATIHW->config_cntl & CFG_MEM_AP_SIZE) != CFG_MEM_AP_SIZE) {
+ GetBits(pATI->OldHW.config_cntl, CFG_MEM_AP_LOC) << 22;
+ if ((pATI->OldHW.config_cntl & CFG_MEM_AP_SIZE) != CFG_MEM_AP_SIZE) {
pATI->LinearSize =
- GetBits(pATIHW->config_cntl, CFG_MEM_AP_SIZE) << 22;
+ GetBits(pATI->OldHW.config_cntl, CFG_MEM_AP_SIZE) << 22;
/*
* Linear aperture could have been disabled (but still
@@ -2209,11 +2206,11 @@ ATIPreInit(ScrnInfoPtr pScreenInfo, int flags)
#endif /* AVOID_CPIO */
{
- pATIHW->crtc = pATI->NewHW.crtc;
+ pATI->OldHW.crtc = pATI->NewHW.crtc;
#ifndef AVOID_CPIO
- pATIHW->SetBank = (ATIBankProcPtr)NoopDDA;
+ pATI->OldHW.SetBank = (ATIBankProcPtr)NoopDDA;
pATI->BankInfo.BankSize = 0; /* No banking */
#endif /* AVOID_CPIO */
@@ -2224,38 +2221,38 @@ ATIPreInit(ScrnInfoPtr pScreenInfo, int flags)
else
{
- pATIHW->crtc = ATI_CRTC_VGA;
+ pATI->OldHW.crtc = ATI_CRTC_VGA;
if (pATI->LockData.crtc_gen_cntl & CRTC_EXT_DISP_EN)
- pATIHW->crtc = ATI_CRTC_MACH64;
+ pATI->OldHW.crtc = ATI_CRTC_MACH64;
pATI->BankInfo.nBankDepth = pATI->depth;
pATI->NewHW.nPlane = 1;
- if ((pATIHW->crtc != ATI_CRTC_VGA) || (GetReg(SEQX, 0x04U) & 0x08U))
- pATIHW->nPlane = 1;
+ if ((pATI->OldHW.crtc != ATI_CRTC_VGA) || (GetReg(SEQX, 0x04U) & 0x08U))
+ pATI->OldHW.nPlane = 1;
else
- pATIHW->nPlane = 4;
+ pATI->OldHW.nPlane = 4;
- pATIHW->nBank = ATIDivide(pATI->VideoRAM,
- pATIHW->nPlane * pATI->BankInfo.BankSize, 10, 1);
+ pATI->OldHW.nBank = ATIDivide(pATI->VideoRAM,
+ pATI->OldHW.nPlane * pATI->BankInfo.BankSize, 10, 1);
pATI->NewHW.nBank = ATIDivide(pATI->VideoRAM,
pATI->NewHW.nPlane * pATI->BankInfo.BankSize, 10, 1);
if (!pATI->UseSmallApertures) {
- pATIHW->SetBank = pATI->NewHW.SetBank;
- } else if ((pATIHW->crtc == ATI_CRTC_VGA) &&
+ pATI->OldHW.SetBank = pATI->NewHW.SetBank;
+ } else if ((pATI->OldHW.crtc == ATI_CRTC_VGA) &&
!(pATI->LockData.config_cntl & CFG_MEM_VGA_AP_EN)) {
- pATIHW->SetBank = (ATIBankProcPtr)NoopDDA;
- pATIHW->nBank = 1;
+ pATI->OldHW.SetBank = (ATIBankProcPtr)NoopDDA;
+ pATI->OldHW.nBank = 1;
}
- else if (pATIHW->nPlane == 1)
+ else if (pATI->OldHW.nPlane == 1)
{
- pATIHW->SetBank = ATIMach64SetBankPacked;
+ pATI->OldHW.SetBank = ATIMach64SetBankPacked;
}
else
{
- pATIHW->SetBank = ATIMach64SetBankPlanar;
+ pATI->OldHW.SetBank = ATIMach64SetBankPlanar;
}
if (((ApertureSize * pATI->depth) / pATI->BankInfo.nBankDepth) >=