diff options
author | imp <imp@FreeBSD.org> | 2002-06-13 17:28:55 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2002-06-13 17:28:55 +0000 |
commit | 89a746a29dc8d07c5e18b9a23517ae6a4a7d6618 (patch) | |
tree | db4d9ceb8b6678148c0689befebf3174e4d72d06 /sys/pccard/pcic_pci.c | |
parent | 7571375fe03e7aa920477162c9ae7fbd1dc14c7c (diff) | |
download | FreeBSD-src-89a746a29dc8d07c5e18b9a23517ae6a4a7d6618.zip FreeBSD-src-89a746a29dc8d07c5e18b9a23517ae6a4a7d6618.tar.gz |
hw.pcic.ignore_pci
Set this to 1 to ignore cardbus bridges and work entirely in legacy
ISA mode. This may help some folks.
Diffstat (limited to 'sys/pccard/pcic_pci.c')
-rw-r--r-- | sys/pccard/pcic_pci.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/pccard/pcic_pci.c b/sys/pccard/pcic_pci.c index ceca9e2..a063935 100644 --- a/sys/pccard/pcic_pci.c +++ b/sys/pccard/pcic_pci.c @@ -71,7 +71,7 @@ SYSCTL_INT(_hw_pcic, OID_AUTO, ignore_function_1, CTLFLAG_RD, * The following should be a hint, so we can do it on a per device * instance, but this is convenient. Do not set this unless pci * routing doesn't work. It is purposely vague and undocumented - * at the moment. + * at the moment. Sadly, this seems to be needed way too often. */ static int pcic_intr_path = (int)pcic_iw_pci; TUNABLE_INT("hw.pcic.intr_path", &pcic_intr_path); @@ -87,6 +87,12 @@ doing so will cause probelms. Often when no interrupts appear to be routed\n\ setting this tunable to 1 will resolve the problem. PCI Cards will almost\n\ always require this, while builtin bridges need it less often"); +static int pcic_ignore_pci = 0; +TUNABLE_INT("hw.pcic.ignore_pci", &pcic_ignore_pci); +SYSCTL_INT(_hw_pcic, OID_AUTO, ignore_pci, CTLFLAG_RD, + &pcic_ignore_pci, 0, + "When set, driver ignores pci cardbus bridges it would otherwise claim."); + static void pcic_pci_cardbus_init(device_t); static pcic_intr_way_t pcic_pci_gen_func; static pcic_intr_way_t pcic_pci_gen_csc; @@ -999,6 +1005,8 @@ pcic_pci_probe(device_t dev) struct resource *res; int rid; + if (pcic_ignore_pci) + return (ENXIO); device_id = pci_get_devid(dev); desc = NULL; itm = pcic_pci_lookup(device_id, &pcic_pci_devs[0]); |