restoring PCI config space




I need to write a watchdog handler for mxge(4). The catch is that if
the NIC resets due to a hardware error, it will reset its config space
(setting BAR to 0, disabling DMA, forgetting MSI addr/data, etc), so
the driver's watchdog handler needs to be able to restore it. How do
I do this properly on FreeBSD?

Browsing around the source tree, I see that the pci function
pci_cfg_restore() seems to do exactly what I want, but it is private
to the pci code, and seems to be called from the bowels of the resume
path. Is there a clean way I can leverage pci_cfg_restore(), or
should I just save an extra copy of the device's PCI config space
myself?

Thanks,

Drew


_______________________________________________
freebsd-current@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@xxxxxxxxxxx"