PCI config space is not restored upon resume (macbook pro)

Christian Zander czander at nvidia.com
Thu Aug 5 20:19:57 UTC 2010


On Thu, Aug 05, 2010 at 11:41:26AM -0700, Oleg Sharoyko wrote:
(...)
> >> I'm afraid things are not that simple. I have tried without success
> >> acpi_video.ko,
> >> dmps.ko, sysctl hw.acpi.reset_video and sysutils/vbetool. And what worries me,
> >> X server cannon start on resumed system. From Xorg.log:
> >> (EE) NV(0): Failed to determine the amount of available video memory
> >> It looks like videcard just ignores any requests.
> > Are you using the nvidia-driver or the "nv" driver from X?
> 
> Have tried both. Error above is from "nv", and "nvidia" told that it couldn't
> copy video bios and paniced. I have also tried "vesa" which gave rather
> strange records in Xorg.0.log (see [1] for complete log (63Mb)). Here
> some interesting lines:
> 
> (--) PCI:*(0:1:0:0) 10de:0407:106b:00a0 nVidia Corporation G84
> [GeForce 8600M GT] rev 161, Mem @ 0x92000000/16777216,
> 0x80000000/268435456, 0x90000000/33554432, I/O @ 0x00005000/128, BIOS
> @ 0x????????/65536
> (==) VESA(0): Write-combining range (0xa0000,0x20000) was already clear
> (==) VESA(0): Write-combining range (0xc0000,0x40000) was already clear
> (II) VESA(0): Primary V_BIOS segment is: 0xc000
> (==) VESA(0): Write-combining range (0x0,0x1000) was already clear
> (==) VESA(0): Write-combining range (0x0,0x1000) was already clear
> (==) VESA(0): Write-combining range (0x0,0x1000) was already clear
> (II) VESA(0): VESA BIOS detected
> (II) VESA(0): VESA VBE Version 165.165
> (II) VESA(0): VESA VBE Total Mem: 2713920 kB
> (II) VESA(0): VESA VBE OEM: <A5><A5><A5><A5>
> (II) VESA(0): VESA VBE OEM Software Rev: 165.165
> (II) VESA(0): VESA VBE OEM Vendor: <A5><A5><A5><A5>
> (II) VESA(0): VESA VBE OEM Product: <A5><A5><A5><A5>
> (II) VESA(0): VESA VBE OEM Product Rev: <A5><A5><A5><A5>
> (EE) VESA(0): Driver can't support depth 24
> (==) VESA(0): Write-combining range (0x0,0x1000) was already clear
> 
> The last line repeats 983070 times. Strings with <A5> were very
> long, I truncated them for readability. This is odd.
> 
> 1. http://www.oleg-sharoyko.net/files/freebsd/pci_config.201008/Xorg.vesa.log
> 

Neither the `nv' nor the `vesa' driver have support for power
management. You'll typically only be able to get X back
with those drivers if you're starting it from scratch following
an S4 cycle, or an S3 cycle that involved a POST (either
issued by the SBIOS or via software).

When using the NVIDIA driver, you will need to make sure that
you're using 256.44, you'll need to be running X at the time of
entry to S3/S4, and you'll need to make sure you've switched
away from X's VT (this didn't happen automatically on FreeBSD
last time I checked).

However, NVIDIA suspend/resume is largely untested on FreeBSD.

Thanks,

-- 
christian zander
ch?zander at nvidia.com


More information about the freebsd-hackers mailing list