[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#284111: xserver-xfree86: Doesn't scan PCI domains above 0000 on startup



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


Reply to: