Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Aug 2010 13:00:22 -0700
From:      Christian Zander <czander@nvidia.com>
To:        Oleg Sharoyko <osharoiko@gmail.com>
Cc:        "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>
Subject:   Re: PCI config space is not restored upon resume (macbook pro)
Message-ID:  <20100805200022.GB3610@panther.nvidia.com>
In-Reply-To: <AANLkTimZxusSpj6BqKAYO_6YPCWVLW2hv_33K7C1rOus@mail.gmail.com>
References:  <AANLkTikMFhG1QLDf4raf%2BrxOKhobjoA-dRbUew2-8KeF@mail.gmail.com> <201008041112.28704.jhb@freebsd.org> <AANLkTimQA9hJMB_r7c9gRnEBzu4e1yZ5S8sO89ZT9_cW@mail.gmail.com> <201008051145.53737.jhb@freebsd.org> <AANLkTimZxusSpj6BqKAYO_6YPCWVLW2hv_33K7C1rOus@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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@nvidia.com



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