Messages in this thread | | | Date | Thu, 25 Jul 2002 10:55:38 +0200 | From | Vojtech Pavlik <> | Subject | Re: [RFC/CFT] cmd640 irqlocking fixes |
| |
On Thu, Jul 25, 2002 at 10:28:56AM +0200, Marcin Dalecki wrote: > Vojtech Pavlik wrote: > > > > > The kernel functions are OK. The problem is that the kernel can use > > PCIBIOS calls to set the registers. And certain old buggy BIOSes which > > violate the PCI spec can use wrong size data transfers to set the > > registers, which the CMD640 doesn't like. > > > > IMHO the best workaround here would be either to disable PCIBIOS calls > > and revert to conf1 or conf2 in the PCI code if a CMD640 is present, or > > just panic() in the CMD640 code and suggest to the user to use > > "pci=nobios" on the kernel command line. I'd actually prefer the later. > > > > From a long long time ago during the first days of this driver I > remember that those chips could be wired to both PCI and VLB(ISA) bus. > And this is the main reaons why the functions is question exist in first > place -> "emulating" PCI configuration space access on VLB.
No. For VLB the CMD640 has a somewhat different configuration method. See the source. ;) We really should be using pci_write_config_* and create vlb_write_config_* in CMD640 for the VLB accesses, panic() in case we have a PCI system that uses BIOS and we found a CMD640, and remove the duplicate PCI conf1 and PCI conf2 code from cmd640.c
-- Vojtech Pavlik SuSE Labs - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |