Re: PCI PM: Restore standard config registers of all devices early

From: Linus Torvalds
Date: Mon Feb 02 2009 - 22:48:21 EST




On Tue, 3 Feb 2009, Benjamin Herrenschmidt wrote:
> On Tue, 2009-02-03 at 12:46 +1100, Benjamin Herrenschmidt wrote:
> >
> > Radeons don't do much with config space... the worst we may miss I
> > suppose is subsystem vendor/device... Maybe I'll add something to
> > explicitely save and restore it or X might get upset. I'll have a look.
>
> Actually, subsystem stuff is below 0x40 so it should be fine too.

The things above 0x40 tend to be:

- capabilities (values and next-pointers)

The PCI layer will save a random couple of these (read: the ones it
cares about)

- random non-architected values specific to that chip. And sometimes
these are important. Like ISA interrupt routing information for cardbus
controllers. Or timing values set up by the BIOS.

but in 99% of all cases the stuff isn't really anything special, or is
just fine at its cold-reset default values. But I could in theory see that
some graphics card could hide things like DRAM timings in there, that get
initialized on POST, but not (obviously) on a STR cycle.

So it could go either way. Totally unimportant or hugely important. Most
cards don't seem to care, and saving just the low 64 bytes seems to work
for almost all drivers.

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/