Subject: Re: [PATCH] powerpc: fsl_pci: Fix PCI/PCI-X regression

From: Scott Wood <[email-masked]>
Date: Fri, 22 Aug 2014 13:36:31 -0500

On Fri, 2014-08-22 at 12:54 -0500, Aaron Sierra wrote:
> ----- Original Message -----
> > From: "Scott Wood" <[email-masked]>
> > Sent: Thursday, August 21, 2014 5:01:46 PM
> > 
> > On Thu, 2014-08-21 at 16:54 -0500, Aaron Sierra wrote:
> > > ----- Original Message -----
> > > > From: "Scott Wood" <[email-masked]>
> > > > Sent: Thursday, August 21, 2014 4:19:56 PM
> > > > 
> > > > Why wouldn't a normal PCI agent be able to bus master?
> > > > 
> > > > -Scott
> > > > 
> > > 
> > > Short answer:
> > > 
> > > Simply because the hardware strapping for Host/Agent determines the
> > > default state of the Bus Master bit in the Command register. Without
> > > that bit being set, an Agent won't be able to send the PCI cycles
> > > necessary to enumerate the bus.
> > 
> > But what if the host has already set that bit before Linux boots?
> 
> That's a very good point. I think that concern can be addressed by looking
> for another telltale sign of enumeration, whether an address has been
> assigned to the bridge's BAR 0 (PCSRBAR).

I don't see how that's any different.  The host may or may not have
assigned an address.

> > I understand why you need to do this -- I just don't think this is a
> > reliable way of detecting that you're in that situation.  How about a
> > kernel command line setting?
> 
> I'd like to avoid requiring a kernel command-line option for this.

It's hardware description, so you could use a device tree property.

-Scott