Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 May 2014 13:44:46 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        "Jung-uk Kim" <jkim@freebsd.org>
Cc:        "freebsd-acpi@freebsd.org" <freebsd-acpi@freebsd.org>
Subject:   Re: Investigating failed suspend/resume T61
Message-ID:  <201405281344.46430.jhb@freebsd.org>
In-Reply-To: <5386127C.3060005@FreeBSD.org>
References:  <1400861698.1126.0.camel@bruno> <201405281220.24778.jhb@freebsd.org> <5386127C.3060005@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday, May 28, 2014 12:44:44 pm Jung-uk Kim wrote:
> On 2014-05-28 12:20:24 -0400, John Baldwin wrote:
> > On Wednesday, May 28, 2014 12:10:55 pm Sean Bruno wrote:
> >> On Wed, 2014-05-28 at 10:54 -0400, John Baldwin wrote:
> >>> On Wednesday, May 28, 2014 7:08:36 am Sean Bruno wrote:
> >>>> On Tue, 2014-05-27 at 16:14 -0400, John Baldwin wrote:
> >>>>> On Tuesday, May 27, 2014 1:39:48 pm Sean Bruno wrote:
> >>>>>> On Tue, 2014-05-27 at 11:32 -0400, John Baldwin wrote:
> >>>>>>> On Friday, May 23, 2014 12:14:58 pm Sean Bruno wrote:
> >>>>>>>> Trying to figure out the failures on suspend resume
> >>>>>>>> for the T61 I have. I see a little acpi error at host
> >>>>>>>> startup, but I don't think its related.  However, I'm
> >>>>>>>> not sure what it means.
> >>>>>>>>
> >>>>>>>> sean
> >>>>>>>>
> >>>>>>>> ------
> >>>>>>>>
> >>>>>>>> FreeBSD 11.0-CURRENT #1 r265820: Sat May 10 15:13:37
> >>>>>>>> PDT 2014 sbruno@bruno:/usr/obj/usr/src/sys/BRUNO
> >>>>>>>> amd64 FreeBSD clang version 3.4
> >>>>>>>> (tags/RELEASE_34/final 197956) 20140216 VT: running
> >>>>>>>> with driver "vga". CPU: Intel(R) Core(TM)2 Duo CPU
> >>>>>>>> T7300  @ 2.00GHz (1995.04-MHz K8-class CPU)
> >>>>>>>> Origin="GenuineIntel"  Id=0x6fa  Family=0x6
> >>>>>>>> Model=0xf  Stepping=10
> >>>>>>>>
> >>>>>>>> 
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> Features2=0xe3bd<SSE3,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM>
> >>>>>>>> AMD Features=0x20100800<SYSCALL,NX,LM> AMD
> >>>>>>>> Features2=0x1<LAHF> TSC: P-state invariant,
> >>>>>>>> performance statistics real memory  = 2147483648
> >>>>>>>> (2048 MB) avail memory = 2007138304 (1914 MB) Event
> >>>>>>>> timer "LAPIC" quality 400 ACPI APIC Table: <LENOVO
> >>>>>>>> TP-7L   > 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)
> >>>>>>>
> >>>>>>> It might be related as Gpe1Block describes a register
> >>>>>>> set that IIRC is used to enter sleep states.  Can you
> >>>>>>> put your acpidump -t somewhere?  (No need for -d as
> >>>>>>> this is in the FADT, not the DSDT.)
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>> Here -->
> >>>>>> http://people.freebsd.org/~sbruno/T61_acpidump.txt
> >>>>>
> >>>>> Ah, so the warning is due to the fact that the 'FACP' table
> >>>>> has 'X_GPE1_BLOCK' but no 'GPE1_BLOCK'.  (Note how it has
> >>>>> both 'GPE0_BLOCK' and 'X_GPE0_BLOCK' which say the same
> >>>>> thing.)  Try this workaround to quiet the warning.  I've no
> >>>>> idea if it will help at all with suspend/resume.
> >>>>>
> >>>>> Index: sys/contrib/dev/acpica/components/tables/tbfadt.c
> >>>>> ===================================================================
> >>>>>
> >>>>>
> --- tbfadt.c	(revision 266442)
> >>>>> +++ tbfadt.c	(working copy) @@ -601,6 +601,10 @@
> >>>>> AcpiTbValidateFadt ( ACPI_BIOS_WARNING ((AE_INFO, "32/64X
> >>>>> length mismatch in FADT/%s: %u/%u", Name, ACPI_MUL_8
> >>>>> (Length), Address64->BitWidth)); +	    if (Length == 0) +
> >>>>> { +		Length = ACPI_DIV_8 (Address64->BitWidth); +	    } }
> >>>>>
> >>>>> if (FadtInfoTable[i].Type & ACPI_FADT_REQUIRED)
> >>>>>
> >>>>>
> >>>>
> >>>> One warning went away, one remains, not sure if its
> >>>> meaningful or not.
> >>>>
> >>>> ACPI BIOS Warning (bug): 32/64X length mismatch in
> >>>> FADT/Gpe1Block: 0/32 (20130823/tbfadt-601)
> >>>
> >>> Yes, I didn't remove that warning, I just fixed it to use the
> >>> 64-bit length when the 32-bit length was zero when that warning
> >>> fires.  Does this seem to have made any difference with
> >>> anything on the laptop?  (E.g. it might possibly affect
> >>> hotkeys, etc.)
> >>>
> >>
> >>
> >> Believe it or not, but I just suspend/resumed on the thing,
> >> TWICE.  Once from the xfce menu -> suspend and once from
> >> Fn->moonsymbolsuspendsleepthing on the F4 key.
> >>
> >> Good grief.  Thanks John.
> >
> > Humm.  I wonder if we can get the Intel guys to accept the patch
> > upstream?
> 
> Yes, ACPICA guys are very open to patches.  Actually there are several
> ways to report bugs and/or submit patches.
> 
> Bug reports:
> https://bugs.acpica.org
> 
> Developer ML:
> https://lists.acpica.org/mailman/listinfo/devel
> 
> Source repository:
> https://github.com/acpica/acpica
> 
> However, I'm afraid the following commit may have nullified your patch.
> 
> https://github.com/acpica/acpica/commit/8149df49

It looks to only be adjusting the preference for the Address portion.
It still uses the length field from FADT and doesn't use the length
from the GAS.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201405281344.46430.jhb>