PCI rework

Ian Romanick idr at us.ibm.com
Sat May 6 17:46:13 PDT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Egbert Eich wrote:
> Jesse Barnes writes:
>  > On Sunday, April 30, 2006 12:52 pm, Mark Kettenis wrote:
>  > > >   o the PCI device discovery code needed by drivers is
>  > > > unnecessarily complex
>  > >
>  > > I'm not so sure about that.  Some amount of complexity will be needed
>  > > to deal with badly designed or buggy hardware and firmware.  Most of
>  > > these issues will be specific to particular PCI hardware.  Shoving
>  > > those into the domain of a seperate library, or the further down into
>  > > the operating system isn't a solution.
>  > 
>  > Well, fundamentally a driver wants to bond to a particular PCI device 
>  > (or class of devices).  The current code makes that more difficult than 
>  > it needs to be (though it's not that bad I suppose).
>
> Well, there are certain provisions to persuade the code to use a different
> PCI id than the device has - these things are there to perusade the driver
> to run on newer generation of hardware.
> This has been useful in some cases.

The patches that I posted to start this thread *does* still support
that.  Some of the functionality (e.g., the ability to give the chipset
by name) has been removed.

>  > > The debugging 
>  > > tools used on Linux, pciutils, already come with their own
>  > > abstraction layer.  So libpciaccess was basically developed just for
>  > > X, and is unlikely to be used for any other software packages.  I
>  > > really don't see your point, especially since adapting them requires
>  > > changes to almost all X drivers, even those that don't abuse the
>  > > current PCI abstraction layer.
>  > 
>  > Yeah, it's a shame that Ian had to write his own, but pciutils doesn't 
>  > have a license suitable for many projects...
> 
> I think we need to go far beyond what pciutils does.

Right.  libpci.a (from pciutils) doesn't support mapping ranges, reading
ROMs, and a ton of other stuff.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

iD8DBQFEXUNUX1gOwKyEAw8RArSDAJwIahPQAGJ9Blk/iWtJ8vHxz1uN/ACfRSeZ
dmrI+h4ZOAapYM7mbvHz5Jg=
=v8JF
-----END PGP SIGNATURE-----



More information about the xorg mailing list