diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2008-07-20 18:58:08 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2008-07-20 18:58:08 +0000 |
commit | d9298e5b6c0f7706da132898e9488ad1eaa700df (patch) | |
tree | 370eb97c7f9dce260feb2ac09fd676776ac34739 /sys/dev/pci/pccbb.c | |
parent | 94acd454650df65b0bf1c604c521193c6a7b4fd9 (diff) |
On TI cardbus bridges, enable PCI interrupt routing if the device has not
been initialized by the firmware. This was probably the intention of the
origional code, however, it used the wrong default value for the register
in question.
Add TI PCI1510 to the list of 12XX-compatible bridges.
"be brave" deraadt@
Diffstat (limited to 'sys/dev/pci/pccbb.c')
-rw-r--r-- | sys/dev/pci/pccbb.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/pci/pccbb.c b/sys/dev/pci/pccbb.c index 3e20f703e91..e30f8443613 100644 --- a/sys/dev/pci/pccbb.c +++ b/sys/dev/pci/pccbb.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pccbb.c,v 1.60 2008/05/22 19:23:04 mk Exp $ */ +/* $OpenBSD: pccbb.c,v 1.61 2008/07/20 18:58:07 kettenis Exp $ */ /* $NetBSD: pccbb.c,v 1.96 2004/03/28 09:49:31 nakayama Exp $ */ /* @@ -285,6 +285,8 @@ struct yenta_chipinfo { PCCBB_PCMCIA_IO_RELOC | PCCBB_PCMCIA_MEM_32}, { MAKEID(PCI_VENDOR_TI, PCI_PRODUCT_TI_PCI1451), CB_TI12XX, PCCBB_PCMCIA_IO_RELOC | PCCBB_PCMCIA_MEM_32}, + { MAKEID(PCI_VENDOR_TI, PCI_PRODUCT_TI_PCI1510), CB_TI12XX, + PCCBB_PCMCIA_IO_RELOC | PCCBB_PCMCIA_MEM_32}, { MAKEID(PCI_VENDOR_TI, PCI_PRODUCT_TI_PCI7XX1), CB_TI12XX, PCCBB_PCMCIA_IO_RELOC | PCCBB_PCMCIA_MEM_32}, @@ -745,7 +747,7 @@ pccbb_chipinit(sc) * The TI125X parts have a different register. */ reg = pci_conf_read(pc, tag, PCI12XX_MFUNC); - if (reg == 0) { + if (reg == PCI12XX_MFUNC_DEFAULT) { reg &= ~PCI12XX_MFUNC_PIN0; reg |= PCI12XX_MFUNC_PIN0_INTA; if ((pci_conf_read(pc, tag, PCI_SYSCTRL) & |