aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/agp
diff options
context:
space:
mode:
authorWang Zhenyu <zhenyu.z.wang@intel.com>2007-01-17 11:07:54 +0800
committerDave Jones <davej@redhat.com>2007-01-17 00:26:30 -0500
commit4b95320fc4d21b0ff2f8604305dd6c851aff6096 (patch)
treee19b8e1c8177ed8a2715f723e278fcd19381807e /drivers/char/agp
parent7b37b064c294af350c462f77d7a9a44485a93684 (diff)
downloadkernel_samsung_crespo-4b95320fc4d21b0ff2f8604305dd6c851aff6096.zip
kernel_samsung_crespo-4b95320fc4d21b0ff2f8604305dd6c851aff6096.tar.gz
kernel_samsung_crespo-4b95320fc4d21b0ff2f8604305dd6c851aff6096.tar.bz2
[AGPGART] intel_agp: restore graphics device's pci space early in resume
Currently in resuming path graphics device's pci space restore is behind host bridge, so resume function wrongly accesses graphics device's space. This makes resuming failure which crashed X. here's a patch to restore device's pci space early, which makes resuming ok with X. Signed-off-by: Wang Zhenyu <zhenyu.z.wang@intel.com> Signed-off-by: Dave Jones <davej@redhat.com>
Diffstat (limited to 'drivers/char/agp')
-rw-r--r--drivers/char/agp/intel-agp.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
index ab0a9c0..a3011de 100644
--- a/drivers/char/agp/intel-agp.c
+++ b/drivers/char/agp/intel-agp.c
@@ -1955,6 +1955,15 @@ static int agp_intel_resume(struct pci_dev *pdev)
pci_restore_state(pdev);
+ /* We should restore our graphics device's config space,
+ * as host bridge (00:00) resumes before graphics device (02:00),
+ * then our access to its pci space can work right.
+ */
+ if (intel_i810_private.i810_dev)
+ pci_restore_state(intel_i810_private.i810_dev);
+ if (intel_i830_private.i830_dev)
+ pci_restore_state(intel_i830_private.i830_dev);
+
if (bridge->driver == &intel_generic_driver)
intel_configure();
else if (bridge->driver == &intel_850_driver)