On Sunday, 23 of December 2007, Carlos Corbacho wrote: > Fix suspend-to-RAM on nForce 4 (CK804) boards by increasing > PCIBIOS_MIN_IO. > > Fixes kernel bugzilla #9528 > > Problem: > > Linus' patch (52ade9b3b97fd3bea42842a056fe0786c28d0555) to re-order > suspend (and fix fall out from Rafael's earlier suspend reordering work) > broke suspend-to-RAM on nForce 4 (CK804) boards. > > Why: > > After debugging _PTS() in the DSDT, it turns out these nVidia boards are > trying to write to an IO port > 0x1000 (0x142E) during suspend. Before the > re-ordering, we got away with this. > > After the afore mentioned commit, we started hitting the PCIBIOS_MIN_IO > limit and suspend then broke on these machines (the machine simply hangs > when it reaches the 0x142E IO port write during suspend-to-RAM). > > There was some previous work in the PCIBIOS_MIN_IO area over two years ago > (71db63acff69618b3d9d3114bd061938150e146b) which bumped this to 0x4000, > but this was reverted (2ba84684e8cf6f980e4e95a2300f53a505eb794e) after > causing new and entirely different problems on another nForce board. > > 0x1500 has been picked here as a nice, round and more conservative value > than 0x4000, and which covers 0x142E.
The patch is fine by me, so if anyone has objections, please speak up. Thanks, Rafael > Tested on x86-64. > > Signed-off-by: Carlos Corbacho <[EMAIL PROTECTED]> > CC: Rafael J. Wysocki <[EMAIL PROTECTED]> > CC: Linus Torvalds <[EMAIL PROTECTED]> > CC: Greg KH <[EMAIL PROTECTED]> > CC: Ingo Molnar <[EMAIL PROTECTED]> > CC: Thomas Gleixner <[EMAIL PROTECTED]> > CC: Len Brown <[EMAIL PROTECTED]> > --- > Since it's not entirely clear who is responsible for what in this file, > and given what it fixes, I'm CC'ing you all in the hope that someone > will handle this. > > include/asm-x86/pci.h | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > > diff --git a/include/asm-x86/pci.h b/include/asm-x86/pci.h > index e883619..03cb123 100644 > --- a/include/asm-x86/pci.h > +++ b/include/asm-x86/pci.h > @@ -46,7 +46,7 @@ extern unsigned int pcibios_assign_all_busses(void); > #define pcibios_scan_all_fns(a, b) 0 > > extern unsigned long pci_mem_start; > -#define PCIBIOS_MIN_IO 0x1000 > +#define PCIBIOS_MIN_IO 0x1500 > #define PCIBIOS_MIN_MEM (pci_mem_start) > > #define PCIBIOS_MIN_CARDBUS_IO 0x4000 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/