Fix a couple of newbus merge problems:

Restore 0x710110b9 ("AcerLabs M15x3 Power Management Unit") - but only
if NALPM == 0.
Restore 0x00051166 ("Ross (?) host to PCI bridge") so that
fixbushigh_Ross() gets called.
Delete generic_pci_bridge(), it's been replaced by other mechanisms (see
the isab and pcib match/probes and the pci_bridge_type() function)
This commit is contained in:
peter 1999-05-08 14:55:18 +00:00
parent a363ff4e40
commit 439eabc75c

View File

@ -1,6 +1,6 @@
/**************************************************************************
**
** $Id: pcisupport.c,v 1.102 1999/05/07 04:04:42 julian Exp $
** $Id: pcisupport.c,v 1.103 1999/05/07 18:03:27 peter Exp $
**
** Device driver for DEC/INTEL PCI chipsets.
**
@ -77,38 +77,6 @@ struct condmsg {
const char *text;
};
static char*
generic_pci_bridge (pcici_t tag)
{
char *descr, tmpbuf[120];
unsigned classreg = pci_conf_read (tag, PCI_CLASS_REG);
if ((classreg & PCI_CLASS_MASK) == PCI_CLASS_BRIDGE) {
unsigned id = pci_conf_read (tag, PCI_ID_REG);
switch (classreg >> 16 & 0xff) {
case 0: strcpy(tmpbuf, "Host to PCI"); break;
case 1: strcpy(tmpbuf, "PCI to ISA"); break;
case 2: strcpy(tmpbuf, "PCI to EISA"); break;
case 4: strcpy(tmpbuf, "PCI to PCI"); break;
case 5: strcpy(tmpbuf, "PCI to PCMCIA"); break;
case 7: strcpy(tmpbuf, "PCI to CardBus"); break;
default:
snprintf(tmpbuf, sizeof(tmpbuf),
"PCI to 0x%x", classreg>>16 & 0xff);
break;
}
snprintf(tmpbuf+strlen(tmpbuf), sizeof(tmpbuf)-strlen(tmpbuf),
" bridge (vendor=%04x device=%04x)",
id & 0xffff, (id >> 16) & 0xffff);
descr = malloc (strlen(tmpbuf) +1, M_DEVBUF, M_WAITOK);
strcpy(descr, tmpbuf);
return descr;
}
return 0;
}
/*
* XXX Both fixbushigh_orion() and fixbushigh_i1225() are bogus in that way,
* that they store the highest bus number to scan in this device's config
@ -1157,6 +1125,17 @@ chip_match(device_t dev)
/* id is '10b9" but the register always shows "10b9". -Foxfair */
case 0x154110b9:
return("AcerLabs M1541 (Aladdin-V) PCI host bridge");
case 0x710110b9:
#if NALPM > 0
return NULL;
#else
return ("AcerLabs M15x3 Power Management Unit");
#endif
/* Ross (?) -- vendor 0x1166 */
case 0x00051166:
fixbushigh_Ross(tag);
return ("Ross (?) host to PCI bridge");
/* NEC -- vendor 0x1033 */