unmerge 284111
reopen 284111
retitle 284111 xserver-xfree86: doesn't scan PCI domains above 0000
thanks
[Hi David -- we might have a new problem with the damnable PCI domain
scanning code with XFree86. Please see below.]
On Mon, Dec 20, 2004 at 12:21:51PM -0500, Ron Murray wrote:
> >On Fri, Dec 03, 2004 at 01:48:45PM -0500, Ron Murray wrote:
[...]
> >>When I try to start X under a 2.6 kernel, the PCI scan never finds my
> >>video board. I strongly suspect that this is because it's on PCI
> >>domain 0001: the PCI scan code only appears to consider domain 0000
> >>(see patch in bug #279436). Here's the output of 'lspci -v' on this
> >>machine:
[..]
> >I do not understand why you knowingly filed a duplicate report.
> >
> >In any event, this bug was fixed in xfree86 4.3.0.dfsg.1-9.
> >
> >xfree86 (4.3.0.dfsg.1-9) unstable; urgency=high
> >[...]
> > * Apply patch from David Mosberger that replaces the fix for #225526 with
> > one that works on systems that do not have a PCI bus numbered 0.
> > Thanks,
> > David! (Closes: #279436)
> >[...]
> > -- Fabio M. Di Nitto <fabbione@fabbione.net> Thu, 9 Dec 2004 17:14:45
> > +0100
> >
> >Closing this duplicate, resolved report.
[...]
> I don't think it really is a duplicate. The patch referred to in
> #279436 only seems to consider PCI domain 0000. Here's what I get when I
> do 'ls /proc/bus/pci' on this machine (with a 2.6 kernel: 2.4 kernels
> are quite different):
>
> > 0000:80
> > 0000:81
> > 0001:00
> > devices
>
> Now the way I read the patch in #279436 is that it hard-codes domain
> 0000:
>
> + /* with PCI domain #: */
> + {
> + "/proc/bus/pci/0000:%02x/%02x.%1x", /* bus # < 256 */
> + "/proc/bus/pci/0000:%04x/%02x.%1x" /* bus # >= 256 */
>
> Since my video board is on the 0001:00 bus, xserver never sees it.
> It works with the fb device, but not with the glint driver for that
> reason. And so I filed another bug report, since I don't think that the
> solution to #279436 will fix the problem I have.
>
> Of course, it's quite possible that I've read this wrong. In
> particular, I'm still trying to grasp the whole PCI domain bit. But I do
> not see any way that the above code can open anything with
> "/proc/bus/pci/0001:" in it. If I'm wrong, then fair enough. Otherwise,
> can we re-open this bug?
Yes; I apologize for hastily dismissing your report. The fix is probably a
for and a break away, but I think I will CC David Mosberger on this
message, as he almost certainly has more clues to bring to the table than I
do.
I wonder how many domains we should look for before we give up. I get the
feeling doing an ftw() on /proc/pci/pci is not a good idea. Even doing as
much as a readdir() feels wrong, but maybe not. :-P
--
G. Branden Robinson | If you make people think they're
Debian GNU/Linux | thinking, they'll love you; but if
branden@debian.org | you really make them think, they'll
http://people.debian.org/~branden/ | hate you. -- Don Marquis
Attachment:
signature.asc
Description: Digital signature