David S. Miller
davem at davemloft.net
Sun Apr 30 17:33:51 PDT 2006
From: "Dave Airlie" <airlied at gmail.com>
Date: Mon, 1 May 2006 09:17:22 +1000
> > > On Sunday, April 30, 2006 5:22 am, Mark Kettenis wrote:
> > >
> > > Note that the prototype is different in that it takes a full pci info
> > > structure rather than just a tag. This gives arch specific
> > > implementations more flexibility and eases porting.
> > But a PCITAG is already opaque; there's no reason why you could extend
> > it to include the additional information you might need.
> It's not, passing domain info around in the TAG isn't correct, I don't
> think there is enough bits to fill everything in a TAG correctly, I've
> got a patch from last year that rips out all the TAGs and just adds
> domain to the PciInfo...
I totally agree, doing the domains in the TAG adds arbitrary
limitations and it's the wrong data structure to handle domains.
It is one of the largest nuisances of the existing code and I'm quite
pleased that David and others are addressing this properly.
I also agree that BARs, which are the true PCI "resources", are the
correct model for the mapping interfaces. If there are exceptions
where devices respond to non-BAR regions, put a fixup or an exception
in some black-list, don't screw up the interfaces we design just to
handle what are severe quirks.
Drivers will need to change, and yes that will be painful, be after
years of kludging around these problems I think it's appropriate to
build a robust and clean API for this stuff. I think the people who
work on this should get support instead of all the resistence I see
in this thread. It's thankless work as it is.
So kudos to David and others working on the PCI rework, keep up the
absolutely fantastic work. I look forward to testing and help fix
bugs in the new stuff.
More information about the xorg