diff options
Diffstat (limited to 'drivers/char/agp')
-rw-r--r-- | drivers/char/agp/amd64-agp.c | 5 | ||||
-rw-r--r-- | drivers/char/agp/intel-agp.c | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/drivers/char/agp/amd64-agp.c b/drivers/char/agp/amd64-agp.c index 5aa7a586a7ff..1afb8968a342 100644 --- a/drivers/char/agp/amd64-agp.c +++ b/drivers/char/agp/amd64-agp.c | |||
@@ -725,12 +725,11 @@ static struct pci_driver agp_amd64_pci_driver = { | |||
725 | int __init agp_amd64_init(void) | 725 | int __init agp_amd64_init(void) |
726 | { | 726 | { |
727 | int err = 0; | 727 | int err = 0; |
728 | static int done = 0; | ||
729 | 728 | ||
730 | if (agp_off) | 729 | if (agp_off) |
731 | return -EINVAL; | 730 | return -EINVAL; |
732 | 731 | ||
733 | if (done++) | 732 | if (gart_iommu_aperture) |
734 | return agp_bridges_found ? 0 : -ENODEV; | 733 | return agp_bridges_found ? 0 : -ENODEV; |
735 | 734 | ||
736 | err = pci_register_driver(&agp_amd64_pci_driver); | 735 | err = pci_register_driver(&agp_amd64_pci_driver); |
@@ -771,6 +770,8 @@ int __init agp_amd64_init(void) | |||
771 | 770 | ||
772 | static void __exit agp_amd64_cleanup(void) | 771 | static void __exit agp_amd64_cleanup(void) |
773 | { | 772 | { |
773 | if (gart_iommu_aperture) | ||
774 | return; | ||
774 | if (aperture_resource) | 775 | if (aperture_resource) |
775 | release_resource(aperture_resource); | 776 | release_resource(aperture_resource); |
776 | pci_unregister_driver(&agp_amd64_pci_driver); | 777 | pci_unregister_driver(&agp_amd64_pci_driver); |
diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c index 30c36ac2cd00..3999a5f25f38 100644 --- a/drivers/char/agp/intel-agp.c +++ b/drivers/char/agp/intel-agp.c | |||
@@ -2460,10 +2460,14 @@ static int __devinit agp_intel_probe(struct pci_dev *pdev, | |||
2460 | &bridge->mode); | 2460 | &bridge->mode); |
2461 | } | 2461 | } |
2462 | 2462 | ||
2463 | if (bridge->driver->mask_memory == intel_i965_mask_memory) | 2463 | if (bridge->driver->mask_memory == intel_i965_mask_memory) { |
2464 | if (pci_set_dma_mask(intel_private.pcidev, DMA_BIT_MASK(36))) | 2464 | if (pci_set_dma_mask(intel_private.pcidev, DMA_BIT_MASK(36))) |
2465 | dev_err(&intel_private.pcidev->dev, | 2465 | dev_err(&intel_private.pcidev->dev, |
2466 | "set gfx device dma mask 36bit failed!\n"); | 2466 | "set gfx device dma mask 36bit failed!\n"); |
2467 | else | ||
2468 | pci_set_consistent_dma_mask(intel_private.pcidev, | ||
2469 | DMA_BIT_MASK(36)); | ||
2470 | } | ||
2467 | 2471 | ||
2468 | pci_set_drvdata(pdev, bridge); | 2472 | pci_set_drvdata(pdev, bridge); |
2469 | return agp_add_bridge(bridge); | 2473 | return agp_add_bridge(bridge); |