Subject: Re: Call for testers: i386 ACPI suspend/resume support
To: Steven M. Bellovin <smb@cs.columbia.edu>
From: Jared D. McNeill <jmcneill@invisible.ca>
List: current-users
Date: 06/18/2006 12:15:35
On Sun, 18 Jun 2006, Steven M. Bellovin wrote:
> I had better luck with the newer source and correct kernel.  It suspends
> and resumes, and it woke up the display (I wasn't in X).  ath0 worked
> afterwards; wm0 still did not.  The USB ports were weird -- right after
> waking up, I got no response when I plugged something in.  After a bit, it
> printed some error messages -- sorry, I don't remember just what -- and I
> got the same symptoms I have under apm ('port reset failed').  I was
> hoping to capture all of that in dmesg output, but after I tried enabling
> wm0 the machine was so busy printing error messages that I had to break
> into the debugger to reboot....
>
> dmesg and lspci attached.  Again, this is a Thinkpad T42.

This is great news -- thanks!

Just looking at your PCI config space dumps:

   1. PCI host bridge
      I'll have to check the datasheet, but from my notes it appears that
      similar registers need to be restored on your MCH that do on my
      82443BX.
   2. PCI-PCI bridge
      Haven't investigated this yet, presumably it has to do with AGP.
   3. EHCI controller
      Needs work. I don't have EHCI in my Vaio, but we should be able to
      determine what needs to be done based on Intel documentation.
   5. PCI-ISA bridge
      Going through the documentation, the following needs to be restored:
        0xa0: Power management registers
          Transition from 0x2c02 to 0x2402. Unless I'm reading the
          datasheet wrong, the changed bit is reserved. We can restore the
          register anyway to be safe.
        0xd4: GEN_STA - General Status Register
          Transition from 0x00 to 0x02, which is the NO_REBOOT bit.
          "0 = Normal TCO Timer reboot functionality (reboot after 2nd TCO
               timeout). This bit cannot be set to 0 by software if the
               strap is set to No Reboot.
           1 = ICH4 will disable the TCO Timer system reboot feature. This
               bit is set either by hardware when SPKR is sampled high on
               the rising edge of PWROK, or by software writing a 1 to the
               bit."

          In otherwords, the hardware watchdog support (not critical) needs
          to be re-initialized on resume.
   6. Intel wm(4) ethernet controller
      No idea, someone with documentation will have to do some analysis
      here.

Cheers,
Jared