Re: [RFC] ARM/ARM64 PCI_PROBE_ONLY platforms

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

 



On Mon, Feb 01, 2016 at 04:28:38PM +0000, Lorenzo Pieralisi wrote:
> On Fri, Jan 29, 2016 at 05:25:38PM -0600, Bjorn Helgaas wrote:
> > On Wed, Jan 20, 2016 at 06:10:03PM +0000, Lorenzo Pieralisi wrote:
> > 
> > > To do that, we must claim resources on PCI_PROBE_ONLY systems, but
> > > I know for certain Bjorn does not like the idea (I let you trawl
> > > the archives - at least he does not accept the idea of claiming
> > > resources ONLY on PCI_PROBE_ONLY systems, he thinks we should
> > > always claim resources regardless of that flag and fall-back to
> > > reassigning them in case claiming fails. That's perfectly reasonable,
> > > at least on systems with FW initializing PCI). The problem is dealing
> > > with legacy, so switching to resources claiming by default is a tad
> > > complicated, at least for testing (code is easy to implement).
> > 
> > I'd like to think of PCI_PROBE_ONLY basically as "setting
> > IORESOURCE_PCI_FIXED for every BAR", i.e., we can do everything we
> > normally do *except* write to the BAR (of course we have to write to
> > it to size the BAR during enumeration, but we have to restore the
> > original value).
> 
> I am honestly a bit confused about the distinction between
> PCI_PROBE_ONLY and "IORESOURCE_PCI_FIXED for every BAR", the more
> so if I read the resources assignment code, in particular:
> 
> pci_assign_resource()
> 
> in drivers/pci/setup-res.c
> 
> That function assigns the resource but does not update the BAR
> if IORESOURCE_PCI_FIXED is set. I wonder why the resource is
> assigned at all if IORESOURCE_PCI_FIXED is set, probably to
> initialize its parent pointer and set it, still, the value in
> the struct resource may differ from what's in the BAR, I am not sure
> I understand why we are happy with that or I am reading code the
> wrong way (does not this give a view of resource tree disconnected
> from how HW is actually programmed ?)

I'm not happy with that -- it's just one of our many problems.

The assignment code doesn't doesn't really pay attention to
IORESOURCE_PCI_FIXED.  I don't think it pays attention to
PCI_PROBE_ONLY either, except that some arches don't even call the
assignment code if it is set.

Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux