On Thursday 20 August 2009, Zhenyu Wang wrote: > On 2009.08.19 10:42:07 -0400, Alan Stern wrote: > > On Wed, 19 Aug 2009, Zhenyu Wang wrote: > > > > > Rafael, as I added this restore long time ago, pci core has changed in some way? > > > We had problem when reconfigure agp GTT space in resume, as we must be sure > > > gfx device's config space has been restored properly, and as 02:00 gfx device > > > restored later than host bridge 00:00 device, that came to my origin patch to > > > restore it earlier. > > > > Why did you do it that way? I mean, why not restore the gfx device's > > config space in its own resume routine instead of in the host bridge's > > resume routine? > > > > That's the order issue I have mentioned. intel_agp is the pci driver for > host bridge (dev 00:00), and drm/i915 is the pci driver for gfx device > (dev 00:02). Host bridge will always resume earlier than gfx device, but > for intel_agp we need to access gfx device when reconfigure GTT in resume, > we can't wait until restore happen in i915 driver. > > So there might be a conflict here, as i915 driver also do pci_restore_state() > after we did reconfigure in intel_agp driver, some configs may be corrupted > then. Although I haven't seen it in real testing. I think that shouldn't be a problem any more in the 2.6.29 and later kernels, because the PCI standard config registers are now restored by the PCI bus code at the early resume stage. Thanks, Rafael _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm