aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_drv.c
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2010-07-23 14:29:13 -0400
committerBen Skeggs <bskeggs@redhat.com>2010-07-25 21:43:25 -0400
commite04d8e829d7807e132d8c82c3554b164a803c617 (patch)
tree59a48dcafc2791869ec79b57616d2d83b71754f5 /drivers/gpu/drm/nouveau/nouveau_drv.c
parent8bded189552800cae6c333475a54dabe048a74aa (diff)
drm/nouveau: Reset AGP before running the init scripts.
BIOS scripts usually make an attempt to reset the AGP controller, however on some nv4x cards doing it properly involves switching FW off and on: if we do that without updating the AGP bridge settings accordingly (e.g. with the corresponding calls to agp_enable()) we will be locking ourselves out of the card MMIO space. Do it from nouveau_mem_reset_agp() before the init scripts are executed. Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_drv.c')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_drv.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.c b/drivers/gpu/drm/nouveau/nouveau_drv.c
index e93fbcc56da5..eeaf1f15a428 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drv.c
+++ b/drivers/gpu/drm/nouveau/nouveau_drv.c
@@ -259,6 +259,10 @@ nouveau_pci_resume(struct pci_dev *pdev)
259 return -1; 259 return -1;
260 pci_set_master(dev->pdev); 260 pci_set_master(dev->pdev);
261 261
262 /* Make sure the AGP controller is in a consistent state */
263 if (dev_priv->gart_info.type == NOUVEAU_GART_AGP)
264 nouveau_mem_reset_agp(dev);
265
262 NV_INFO(dev, "POSTing device...\n"); 266 NV_INFO(dev, "POSTing device...\n");
263 ret = nouveau_run_vbios_init(dev); 267 ret = nouveau_run_vbios_init(dev);
264 if (ret) 268 if (ret)