diff options
Diffstat (limited to 'drivers/char/agp/intel-agp.c')
-rw-r--r-- | drivers/char/agp/intel-agp.c | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c index ddf5def1b0da..710af89b176d 100644 --- a/drivers/char/agp/intel-agp.c +++ b/drivers/char/agp/intel-agp.c | |||
@@ -819,13 +819,16 @@ static const struct intel_driver_description { | |||
819 | "Sandybridge", NULL, &intel_gen6_driver }, | 819 | "Sandybridge", NULL, &intel_gen6_driver }, |
820 | { PCI_DEVICE_ID_INTEL_SANDYBRIDGE_M_HB, PCI_DEVICE_ID_INTEL_SANDYBRIDGE_M_IG, | 820 | { PCI_DEVICE_ID_INTEL_SANDYBRIDGE_M_HB, PCI_DEVICE_ID_INTEL_SANDYBRIDGE_M_IG, |
821 | "Sandybridge", NULL, &intel_gen6_driver }, | 821 | "Sandybridge", NULL, &intel_gen6_driver }, |
822 | { PCI_DEVICE_ID_INTEL_SANDYBRIDGE_M_HB, PCI_DEVICE_ID_INTEL_SANDYBRIDGE_M_D0_IG, | ||
823 | "Sandybridge", NULL, &intel_gen6_driver }, | ||
822 | { 0, 0, NULL, NULL, NULL } | 824 | { 0, 0, NULL, NULL, NULL } |
823 | }; | 825 | }; |
824 | 826 | ||
825 | static int __devinit intel_gmch_probe(struct pci_dev *pdev, | 827 | static int __devinit intel_gmch_probe(struct pci_dev *pdev, |
826 | struct agp_bridge_data *bridge) | 828 | struct agp_bridge_data *bridge) |
827 | { | 829 | { |
828 | int i; | 830 | int i, mask; |
831 | |||
829 | bridge->driver = NULL; | 832 | bridge->driver = NULL; |
830 | 833 | ||
831 | for (i = 0; intel_agp_chipsets[i].name != NULL; i++) { | 834 | for (i = 0; intel_agp_chipsets[i].name != NULL; i++) { |
@@ -845,14 +848,19 @@ static int __devinit intel_gmch_probe(struct pci_dev *pdev, | |||
845 | 848 | ||
846 | dev_info(&pdev->dev, "Intel %s Chipset\n", intel_agp_chipsets[i].name); | 849 | dev_info(&pdev->dev, "Intel %s Chipset\n", intel_agp_chipsets[i].name); |
847 | 850 | ||
848 | if (bridge->driver->mask_memory == intel_i965_mask_memory) { | 851 | if (bridge->driver->mask_memory == intel_gen6_mask_memory) |
849 | if (pci_set_dma_mask(intel_private.pcidev, DMA_BIT_MASK(36))) | 852 | mask = 40; |
850 | dev_err(&intel_private.pcidev->dev, | 853 | else if (bridge->driver->mask_memory == intel_i965_mask_memory) |
851 | "set gfx device dma mask 36bit failed!\n"); | 854 | mask = 36; |
852 | else | 855 | else |
853 | pci_set_consistent_dma_mask(intel_private.pcidev, | 856 | mask = 32; |
854 | DMA_BIT_MASK(36)); | 857 | |
855 | } | 858 | if (pci_set_dma_mask(intel_private.pcidev, DMA_BIT_MASK(mask))) |
859 | dev_err(&intel_private.pcidev->dev, | ||
860 | "set gfx device dma mask %d-bit failed!\n", mask); | ||
861 | else | ||
862 | pci_set_consistent_dma_mask(intel_private.pcidev, | ||
863 | DMA_BIT_MASK(mask)); | ||
856 | 864 | ||
857 | return 1; | 865 | return 1; |
858 | } | 866 | } |