From 89a746a29dc8d07c5e18b9a23517ae6a4a7d6618 Mon Sep 17 00:00:00 2001 From: imp Date: Thu, 13 Jun 2002 17:28:55 +0000 Subject: hw.pcic.ignore_pci Set this to 1 to ignore cardbus bridges and work entirely in legacy ISA mode. This may help some folks. --- sys/pccard/pcic_pci.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'sys/pccard') 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]); -- cgit v1.1