Date: Tue, 3 Sep 2013 12:28:30 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-acpi@freebsd.org Cc: Laura Marie Feeney <lmfeeney@sics.se>, Kevin Oberman <rkoberman@gmail.com>, Gleb Smirnoff <glebius@freebsd.org>, "Sergey A. Osokin" <osa@freebsd.org> Subject: Re: suspend/resume on Lenovo X1 (regression from reports on wiki) Message-ID: <201309031228.30717.jhb@freebsd.org> In-Reply-To: <CAJ-Vmokm_EZh4=iC=KHY59bzP336kywn%2BaQU7y0vYpscCR_Rhg@mail.gmail.com> References: <521D03AE.3050709@sics.se> <CAN6yY1uEbQC_Yj=QOs%2B9TTOw_oVBL2TCsiAQWtqPKMu2w9s8CA@mail.gmail.com> <CAJ-Vmokm_EZh4=iC=KHY59bzP336kywn%2BaQU7y0vYpscCR_Rhg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sunday, September 01, 2013 3:51:47 pm Adrian Chadd wrote: > (cc jkim) > > Hi! Would you mind taking a look at the -acpi list posts with this subject? > It looks like a lot of the video suspend/resume issues on these thinkpads > boil down to the VESA driver code. If it's disabled, (at least) x11 resume > works. > > Would you be able to help us track down what's going on? > > Thanks! Most likely vga_suspend()/vga_resume() in sys/isa/vga_isa.c is calling vidd_save_state() and vidd_load_state() which in the VESA case map to the _save_state() and _load_state() methods in sys/dev/fb/vesa.c. These methods look fairly sane to me, so it's probably either a BIOS bug, or the fact that KMS is bypassing the BIOS, so when KMS is active we should perhaps disable the VESA BIOS. I'd argue that we should be it is a BIOS bug regardless. However, one thing that might help is that this is being called at a "random" time rather than when vgapci0 is being suspended and resumed. Actually, it looks like jkim fixed this via the vgapm driver, except I have no vgapm0 device on my laptop. I wonder if it's supposed to be device_get_unit() instead of device_get_flags() in the vgapm identify routine? -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309031228.30717.jhb>