Re: [RFC/CFT] cmd640 irqlocking fixes

From: Vojtech Pavlik (vojtech@suse.cz)
Date: Thu Jul 25 2002 - 03:55:38 EST


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/



This archive was generated by hypermail 2b29 : Tue Jul 30 2002 - 14:00:19 EST