Re: restoring PCI config space

From: John Baldwin <jhb_at_freebsd.org>
Date: Wed, 7 Feb 2007 13:05:47 -0500
On Wednesday 07 February 2007 12:54, Scott Long wrote:
> John Baldwin wrote:
> > On Wednesday 31 January 2007 12:08, Scott Long wrote:
> >> Andrew Gallatin wrote:
> >>> Scott Long writes:
> >>>  > I need to do the same thing, and I concluded that pci_cfg_restore 
needs
> >>>  > to be exported out via a DEVMETHOD.  It might also be useful to 
export
> >>>
> >>> Hurray!  Do you plan to do this soon?
> >>>
> >>>  > a pci_cfg_save function.
> >>>
> >>> Doesn't the config space get saved in pci_add_child?
> >>>
> >>> Drew
> >> Wouldn't you want to preserve driver-local changes that are made to the
> >> config space?  Things like the busmaster enable bit comes to mind.
> > 
> > If you use 'pci_enable_busmaster()' then that updates the copy in the 
dinfo.
> > 
> 
> Do changes to the MSI/MSIX config space registers also get preserved?

I currently cache MSI (but not MSI-X yet) and they are restored on resume via 
pci_cfg_restore().  That should all be transparent to the driver though as 
the driver shouldn't be touching those directly, but just via the 
pci_*_msi[x]() calls.

-- 
John Baldwin
Received on Wed Feb 07 2007 - 17:05:36 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:05 UTC