Messages in this thread | | | Date | Tue, 25 Dec 2007 13:12:31 +0100 | From | Pavel Machek <> | Subject | Re: x86: Increase PCIBIOS_MIN_IO to 0x1500 to fix nForce 4 suspend-to-RAM |
| |
Hi!
> 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.
Just.. I have been running with very similar patch for few years... it fixes few prototype machines I have here.
> > 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
-- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
| |