From owner-freebsd-hackers@FreeBSD.ORG Thu Aug 5 20:19:57 2010 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3E4611065670 for ; Thu, 5 Aug 2010 20:19:57 +0000 (UTC) (envelope-from chzander@nvidia.com) Received: from hqemgate03.nvidia.com (hqemgate03.nvidia.com [216.228.121.140]) by mx1.freebsd.org (Postfix) with ESMTP id 1E9138FC08 for ; Thu, 5 Aug 2010 20:19:56 +0000 (UTC) Received: from hqnvupgp02.nvidia.com (Not Verified[172.17.98.15]) by hqemgate03.nvidia.com id ; Thu, 05 Aug 2010 13:03:24 -0700 Received: from hqemfe02.nvidia.com ([172.17.108.22]) by hqnvupgp02.nvidia.com (PGP Universal service); Thu, 05 Aug 2010 12:59:53 -0700 X-PGP-Universal: processed; by hqnvupgp02.nvidia.com on Thu, 05 Aug 2010 12:59:53 -0700 Received: from nvidia.com ([172.20.144.16]) by hqemfe02.nvidia.com with Microsoft SMTPSVC(6.0.3790.3959); Thu, 5 Aug 2010 12:59:53 -0700 Date: Thu, 5 Aug 2010 13:00:22 -0700 From: Christian Zander To: Oleg Sharoyko Message-ID: <20100805200022.GB3610@panther.nvidia.com> References: <201008041112.28704.jhb@freebsd.org> <201008051145.53737.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i X-NVConfidentiality: public X-OriginalArrivalTime: 05 Aug 2010 19:59:53.0352 (UTC) FILETIME=[C509B880:01CB34D8] Cc: "freebsd-hackers@freebsd.org" Subject: Re: PCI config space is not restored upon resume (macbook pro) X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Christian Zander List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Aug 2010 20:19:57 -0000 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: > (II) VESA(0): VESA VBE OEM Software Rev: 165.165 > (II) VESA(0): VESA VBE OEM Vendor: > (II) VESA(0): VESA VBE OEM Product: > (II) VESA(0): VESA VBE OEM Product Rev: > (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 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