Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Aug 2010 09:44:00 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-hackers@freebsd.org
Cc:        Oleg Sharoyko <osharoiko@gmail.com>
Subject:   Re: PCI config space is not restored upon resume (macbook pro)
Message-ID:  <201008030944.01011.jhb@freebsd.org>
In-Reply-To: <AANLkTikMFhG1QLDf4raf%2BrxOKhobjoA-dRbUew2-8KeF@mail.gmail.com>
References:  <AANLkTikMFhG1QLDf4raf%2BrxOKhobjoA-dRbUew2-8KeF@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, August 03, 2010 6:49:07 am Oleg Sharoyko wrote:
> Hi!
> 
> I'm trying to make FreeBSD (9-Current, checkout on 2010-08-01) correctly
> suspend/resume on macbook pro. As of now I have to issues with resume:
> 
> 1. Display stays blank upon resume. Got 'vga0: failed to reload state'
>  in dmesg, but I haven't looked into this  yet.
> 
> 2. Some hardware is missing upon resume, specifically ath, msk and firewire.
> This devices disappear because rather strange values are being
> read from pci config space (such as vendor id, device id and others).

I wonder if the bus numbers for PCI-PCI bridges need to be restored on resume?  
If they aren't then config transactions won't be routed properly.  You could 
add a pcib_resume() method that prints out the various bus register values 
after resume to see if they match what we print out during boot.

-- 
John Baldwin



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