Add support for ZX2 PCI-E local bus adaptors. (Alex Williamson, HP)

Use soft timeout register to avoid MCAs when probing for non-existent local
    bus adaptors on ZX2. (Alex Williamson, HP)
This commit is contained in:
Daniel Stone 2006-03-16 16:29:17 +00:00
parent 175980580e
commit d0d336efd5
3 changed files with 23 additions and 0 deletions

View File

@ -1,3 +1,13 @@
2006-03-16 Daniel Stone <daniel@freedesktop.org>
* hw/xfree86/common/xf86PciInfo.h:
* hw/xfree86/os-support/bus/zx1PCI.c:
Add support for ZX2 PCI-E local bus adaptors. (Alex Williamson, HP)
* hw/xfree86/os-support/bus/zx1PCI.c:
Use soft timeout register to avoid MCAs when probing for non-existent
local bus adaptors on ZX2. (Alex Williamson, HP)
2006-03-15 Adam Jackson <ajax@freedesktop.org>
* configure.ac:

View File

@ -507,6 +507,7 @@
#define PCI_CHIP_ZX2_LBA 0x12EE
#define PCI_CHIP_ZX2_SBA 0x4030
#define PCI_CHIP_ZX2_IOC 0x4031
#define PCI_CHIP_ZX2_PCIE 0x4037
/* SGS */
#define PCI_CHIP_STG2000 0x0008

View File

@ -105,6 +105,7 @@
#define LBA_CLEAR_ERROR 0x0000000010UL
#define LBA_HARD_FAIL 0x0000000040UL
#define LBA_RESET_COMPLETE 0x0100000000UL
#define LBA_RESET_TIMEOUT 0x0200000000UL
#define ROPE_PAGE_CONTROL 0x1418U
@ -563,6 +564,15 @@ xf86PreScanZX1(void)
/* Prevent hard-fails */
zx1_lbacntl[i] = MIO_QUAD((i << 3) + LBA_PORT0_CNTRL) &
~(LBA_RESET_FUNCTION | LBA_CLEAR_ERROR);
if (zx1_lbacntl[i] & LBA_RESET_TIMEOUT) {
/* Ignore this rope and its couplings */
do {
zx1_ropemap[i++] = -1;
} while ((i < 8) && (zx1_ropemap[i] < i));
continue; /* Avoid over-incrementing 'i' */
}
if (zx1_lbacntl[i] & LBA_HARD_FAIL)
MIO_QUAD((i << 3) + LBA_PORT0_CNTRL) =
zx1_lbacntl[i] & ~LBA_HARD_FAIL;
@ -574,6 +584,7 @@ xf86PreScanZX1(void)
case DEVID(VENDOR_HP, CHIP_ZX1_LBA): /* Mercury */
case DEVID(VENDOR_HP, CHIP_ZX1_AGP8): /* QuickSilver */
case DEVID(VENDOR_HP, CHIP_ZX2_LBA):
case DEVID(VENDOR_HP, CHIP_ZX2_PCIE):
/* Expected vendor/device IDs */
zx1_busno[i] =
(unsigned int)IOA_BYTE(i, IOA_SECONDARY_BUS);
@ -971,6 +982,7 @@ xf86PostScanZX1(void)
case DEVID(VENDOR_HP, CHIP_ZX2_SBA):
case DEVID(VENDOR_HP, CHIP_ZX2_IOC):
case DEVID(VENDOR_HP, CHIP_ZX2_LBA):
case DEVID(VENDOR_HP, CHIP_ZX2_PCIE):
xfree(pPCI); /* Remove it */
continue;