Date: Tue, 30 Jan 2007 11:47:48 -0500 (EST) From: Andrew Gallatin <gallatin@cs.duke.edu> To: freebsd-current@freebsd.org Subject: restoring PCI config space Message-ID: <17855.30388.764471.322562@grasshopper.cs.duke.edu>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?17855.30388.764471.322562>