Re: pci-disable-decode-of-io-memory-during-bar-sizing.patch

Arjan van de Ven
2007-10-30T16:52:17Z

On Tue, 30 Oct 2007 08:15:46 -0700 (PDT)
Linus Torvalds <torvalds@linux-foundation.org> wrote:

>
>
> On Mon, 29 Oct 2007, Robert Hancock wrote:
> >
> > The other possible workaround would be to avoid using MMCONFIG
> > until the BAR sizing is done.
>
> The only sane solution is the one that people constantly seem to
> ignore:
>
> - only use MMCONFIG if absolutely required by the access itself
>
> In other words, make the MMCONFIG code fall back on old-style
> accesses for any register access to a word with reg+size <= 256.

the problem is... you're not supposed to mix both types of accesses.

> At that point, almost all the issues with mmconfig just go away,
> BECAUSE NOBODY USES IT, so it doesn't matter if it's broken?
>
> The fact is, CONF1 style accesses are just safer, and *work*.

I would suggest a slight twist then: use CONF1 *until* you're using
something above 256, and then and only then switch to MMCONFIG from
then on for all accesses.

That should solve the spec issue (yes I know about specs, but this is
one of those things that will bite us in the future if we're not
careful)