Messages in this thread | | | Date | Wed, 8 Sep 2004 20:31:50 -0400 | From | Jon Smirl <> | Subject | Re: multi-domain PCI and sysfs |
| |
On Wed, 08 Sep 2004 23:41:05 +0100, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote: > The only way I can see VGA routing working is to have some kind of arch > code that can tell you which devices are on the same VGA legacy tree. > That then allows a vga layer to walk VGA devices and ask arch code the > typically simple question
This is the core problem, I'm missing this piece of data. I need it to know how many VGA devices to create since there needs to be one for each VGA legacy tree.
All of my previous replies were confused since I was associating VGA legacy trees and PCI domains, which apparently have nothing to do with each other. I'm working on hardware that has neither multiple legacy trees or domains so I have no experience in dealing with them.
I think the problem is more basic than building a VGA device. I wouldn't be having trouble if there were structures for each "PCI IO space". An x86 machine would have one of these structs. Other architectures would have multiple ones. You need these structs to find any PCI legacy device, the problem is not specific to VGA.
Shouldn't we first create a cross platform structure that represents the "PCI IO spaces" available in the system? Then I could walk this list and easily know how many VGA devices to create. Each VGA device would then use this structure to know the PCI base address for each "IO space" operation.
I suspect "PCI IO spaces" are a function of PCI bridge chips. We already have structures corresponding to these chips. Maybe all I need to know is how to query a bridge chips config and see if it is implementing a "PCI IO space". Then I could walk the bridge structures and know how many VGA devices to create.
-- Jon Smirl jonsmirl@gmail.com - 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/
| |