aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/agp
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2009-11-18 10:22:46 +0000
committerDave Airlie <airlied@redhat.com>2009-11-19 10:34:30 +1000
commitec402ba97a6479dd80488b4404a73275e894289f (patch)
treed55b61a66d15b861d73193d8ac0e2b7a22a382c3 /drivers/char/agp
parent799dd75b1a8380a967c929a4551895788c374b31 (diff)
downloadkernel_samsung_smdk4412-ec402ba97a6479dd80488b4404a73275e894289f.zip
kernel_samsung_smdk4412-ec402ba97a6479dd80488b4404a73275e894289f.tar.gz
kernel_samsung_smdk4412-ec402ba97a6479dd80488b4404a73275e894289f.tar.bz2
agp/intel-agp: Set dma_mask for capable chipsets before agp_add_bridge()
We should set this before calling agp_add_bridge() so that it's done before we map the scratch page too. This should probably fix the regression reported as k.o. bug #14627. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/char/agp')
-rw-r--r--drivers/char/agp/intel-agp.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
index 4068467..10e1f03 100644
--- a/drivers/char/agp/intel-agp.c
+++ b/drivers/char/agp/intel-agp.c
@@ -1161,12 +1161,6 @@ static int intel_i915_configure(void)
intel_i9xx_setup_flush();
-#ifdef USE_PCI_DMA_API
- if (pci_set_dma_mask(intel_private.pcidev, DMA_BIT_MASK(36)))
- dev_err(&intel_private.pcidev->dev,
- "set gfx device dma mask 36bit failed!\n");
-#endif
-
return 0;
}
@@ -2456,6 +2450,11 @@ static int __devinit agp_intel_probe(struct pci_dev *pdev,
&bridge->mode);
}
+ if (bridge->driver->mask_memory == intel_i965_mask_memory)
+ if (pci_set_dma_mask(intel_private.pcidev, DMA_BIT_MASK(36)))
+ dev_err(&intel_private.pcidev->dev,
+ "set gfx device dma mask 36bit failed!\n");
+
pci_set_drvdata(pdev, bridge);
return agp_add_bridge(bridge);
}