"M. Warner Losh" wrote: > In message: <20030407064749.GO17533_at_cnd.mcgill.ca> > Mathew Kanner <mat_at_cnd.mcgill.ca> writes: > : On Apr 07, M. Warner Losh wrote: > : > You can't create ISA devices that are parented to the pci bus. You > : > just can't. > : > : I don't understand your comment, isn't the newly created > : devices parent the (first) ISA bus? I scan for the isa class, get > : device instances and create from there. > > I'm saying that what you are doing isn't right and won't work too > well. If the device is on the pci bus, you have to create a pci > attachment. [ ... ] > : But it's an ISA device on on a pci card. > > that's not possible. It is *NOT* an ISA device unless it is on a card > that has ISA fingers on it. Otherwise it *IS* a PCI device. Does the > pci card have a PCI to ISA bridge on it? If not, then you have to > deal with it as a PCI bus. I think this is what he means: yes, there's a PCI-ISA bridge on the card, with an ISA device hung off the ISA side of the bridge. I remember that there were 1-ISA-device-PCI-ISA bridges when PCI first came out; this is probably one of them. His issue has got to be that you can't treat this as a normal PCI card, and have it "just work", because there's a 24 bit limit on the DMA addresses. This basically boils down to a "how do I get bounce buffers for an address space limited PCI card, if I am pretending it's a ``pure PCI'' device"? I think there's also a sub-issue; in his next-to-last post, he sort of implied (but didn't come right out and say) that the bridge driver itself gets probed and attached by the system, which then sees an ISA bus there. This could be problematic for him, since I don't think he wants to have to grab the card as PCI, and then write his own bridge chipset code (maybe he does, and I just missed it...). I think it would probably be a mistake to end up with multiple drivers for bridge chipsets, depending on whether or not they are on the motherboard or on a PCI card. Worst case, you have a box full of PCI cards whose function is to provide PCI-ISA bridges for ISA devices (serial ports, whatever), and every one of them has a seperate bridge driver in its driver. 8-(. So, I think he needs to tell you/the rest of us? 1) You imply a PCI-ISA bridge twice. Does the card have a PCI-ISA bridge? 2) Assuming the answer to #1 is "yes", who finds the bridge chip? Is it your code in your driver, or does the OS find it, as a recognized bridge chipset? 3) How do you want to handle the 24-bit address space problem on a PCI device? This is going to depend on the answer to #2. -- TerryReceived on Mon Apr 07 2003 - 02:26:56 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:02 UTC