Investigating failed suspend/resume T61

John Baldwin jhb at freebsd.org
Wed Jun 4 18:24:33 UTC 2014


On Wednesday, June 04, 2014 1:17:14 pm Edward Tomasz Napierała wrote:
> On 0604T0907, Sean Bruno wrote:
> > On Thu, 2014-05-29 at 09:30 -0400, John Baldwin wrote:
> > > On Thursday, May 29, 2014 9:16:41 am Sean Bruno wrote:
> > > > On Wed, 2014-05-28 at 18:43 -0400, Jung-uk Kim wrote:
> > > > > -----BEGIN PGP SIGNED MESSAGE-----
> > > > > Hash: SHA1
> > > > > 
> > > > > On 2014-05-28 17:29:35 -0400, John Baldwin wrote:
> > > > > > Err, I think it enables GPE1 as otherwise ACPICA assumes GPE1 has a
> > > > > > length of zero (and is thus invalid)?
> > > > > 
> > > > > BTW, ACPI 5.0a (page 121) says:
> > > > > 
> > > > > "This is an optional field; if this register block is not supported,
> > > > > this field contains zero."
> > > > > 
> > > > > Therefore, we must assume X_GPE1_BLK it is NOT supported.
> > > > > 
> > > > > Jung-uk Kim
> > > > 
> > > > So, reverting John's changes and applying yours seems to do new things
> > > > while not quieting the old error messages.  Perhaps this is significant?
> > > > 
> > > > real memory  = 2147483648 (2048 MB)
> > > > avail memory = 2007089152 (1914 MB)
> > > > Event timer "LAPIC" quality 400
> > > > ACPI APIC Table: <LENOVO TP-7U   >
> > > > FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
> > > > FreeBSD/SMP: 1 package(s) x 2 core(s)
> > > >  cpu0 (BSP): APIC ID:  0
> > > >  cpu1 (AP): APIC ID:  1
> > > > ACPI BIOS Warning (bug): 32/64X length mismatch in FADT/Gpe1Block: 0/32
> > > > (20130823/tbfadt-601)
> > > > ACPI BIOS Warning (bug): Optional FADT field Gpe1Block has zero address
> > > > or length: 0x000000000000102C/0x0 (20130823/tbfadt-630)
> > > > ioapic0: Changing APIC ID to 1
> > > > ioapic0 <Version 2.0> irqs 0-23 on motherboard
> > > > random: <Software, Yarrow> initialized
> > > > kbd1 at kbdmux0
> > > > acpi0: <LENOVO TP-7U> on motherboard
> > > > CPU0: local APIC error 0x40
> > > > ACPI Error: GPE0 block (GPE 0 to 31) overlaps the GPE1 block (GPE 0 to
> > > > 15) - Ignoring GPE1 (20130823/evgpeinit-178)
> > > 
> > > Actually, I think all these patches are changing nothing, and this actually
> > > points out that I misread your FADT at the first.  GPE1 should actually be
> > > ignored since it does in fact overlap.  Can you just try reverting all your
> > > changes and seeing if suspend/resume works?
> > > 
> > 
> > 
> > Boy oh boy ... talk about a waste of time.
> > 
> > trasz@ and I have the same laptop and I just confirmed with him that the
> > patch does nothing useful (as both of you suggested).  The *ACTUAL*
> > problem seems to be related to disabling devices in the Thinkpad BIOS.
> 
> 
> Yup.  The culprit seems to be the "Security -> IO Port Access -> Modem"
> BIOS control: setting it to disabled breaks resume; the AcpiEnterSleepState()
> never returns.
> 
> With that option set to enabled, the suspend/resume works seems to work
> flawlessly on T61 with Intel graphics, with VT kernel and i915kms.ko,
> on 11-CURRENT/amd64 from a few days ago, without any patches or special
> sysctl/tunables. 

Well, document it on the wiki at least.

-- 
John Baldwin


More information about the freebsd-acpi mailing list