Re: [RFC/CFT] cmd640 irqlocking fixes

From: Marcin Dalecki (dalecki@evision.ag)
Date: Thu Jul 25 2002 - 03:56:01 EST


Vojtech Pavlik wrote:
> 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

OK. Right. We have to touch this code anyway. Do you know first hand how
to detect programmatically which configuration method is in charge? If
not I can look it up on my own..

-
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