diff options
Diffstat (limited to 'drivers/char/agp/amd64-agp.c')
-rw-r--r-- | drivers/char/agp/amd64-agp.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/drivers/char/agp/amd64-agp.c b/drivers/char/agp/amd64-agp.c index 8f748fddca94..810679dcbbb0 100644 --- a/drivers/char/agp/amd64-agp.c +++ b/drivers/char/agp/amd64-agp.c | |||
@@ -57,9 +57,8 @@ static int nr_garts; | |||
57 | static struct pci_dev * hammers[MAX_HAMMER_GARTS]; | 57 | static struct pci_dev * hammers[MAX_HAMMER_GARTS]; |
58 | 58 | ||
59 | static struct resource *aperture_resource; | 59 | static struct resource *aperture_resource; |
60 | static int __initdata agp_try_unsupported; | 60 | static int __initdata agp_try_unsupported = 1; |
61 | 61 | ||
62 | static int gart_iterator; | ||
63 | #define for_each_nb() for(gart_iterator=0;gart_iterator<nr_garts;gart_iterator++) | 62 | #define for_each_nb() for(gart_iterator=0;gart_iterator<nr_garts;gart_iterator++) |
64 | 63 | ||
65 | static void flush_amd64_tlb(struct pci_dev *dev) | 64 | static void flush_amd64_tlb(struct pci_dev *dev) |
@@ -73,6 +72,7 @@ static void flush_amd64_tlb(struct pci_dev *dev) | |||
73 | 72 | ||
74 | static void amd64_tlbflush(struct agp_memory *temp) | 73 | static void amd64_tlbflush(struct agp_memory *temp) |
75 | { | 74 | { |
75 | int gart_iterator; | ||
76 | for_each_nb() | 76 | for_each_nb() |
77 | flush_amd64_tlb(hammers[gart_iterator]); | 77 | flush_amd64_tlb(hammers[gart_iterator]); |
78 | } | 78 | } |
@@ -222,6 +222,7 @@ static struct aper_size_info_32 amd_8151_sizes[7] = | |||
222 | static int amd_8151_configure(void) | 222 | static int amd_8151_configure(void) |
223 | { | 223 | { |
224 | unsigned long gatt_bus = virt_to_gart(agp_bridge->gatt_table_real); | 224 | unsigned long gatt_bus = virt_to_gart(agp_bridge->gatt_table_real); |
225 | int gart_iterator; | ||
225 | 226 | ||
226 | /* Configure AGP regs in each x86-64 host bridge. */ | 227 | /* Configure AGP regs in each x86-64 host bridge. */ |
227 | for_each_nb() { | 228 | for_each_nb() { |
@@ -235,7 +236,7 @@ static int amd_8151_configure(void) | |||
235 | static void amd64_cleanup(void) | 236 | static void amd64_cleanup(void) |
236 | { | 237 | { |
237 | u32 tmp; | 238 | u32 tmp; |
238 | 239 | int gart_iterator; | |
239 | for_each_nb() { | 240 | for_each_nb() { |
240 | /* disable gart translation */ | 241 | /* disable gart translation */ |
241 | pci_read_config_dword (hammers[gart_iterator], AMD64_GARTAPERTURECTL, &tmp); | 242 | pci_read_config_dword (hammers[gart_iterator], AMD64_GARTAPERTURECTL, &tmp); |
@@ -415,7 +416,7 @@ static void __devinit amd8151_init(struct pci_dev *pdev, struct agp_bridge_data | |||
415 | } | 416 | } |
416 | 417 | ||
417 | 418 | ||
418 | static struct aper_size_info_32 uli_sizes[7] = | 419 | static const struct aper_size_info_32 uli_sizes[7] = |
419 | { | 420 | { |
420 | {256, 65536, 6, 10}, | 421 | {256, 65536, 6, 10}, |
421 | {128, 32768, 5, 9}, | 422 | {128, 32768, 5, 9}, |
@@ -469,7 +470,7 @@ static int __devinit uli_agp_init(struct pci_dev *pdev) | |||
469 | } | 470 | } |
470 | 471 | ||
471 | 472 | ||
472 | static struct aper_size_info_32 nforce3_sizes[5] = | 473 | static const struct aper_size_info_32 nforce3_sizes[5] = |
473 | { | 474 | { |
474 | {512, 131072, 7, 0x00000000 }, | 475 | {512, 131072, 7, 0x00000000 }, |
475 | {256, 65536, 6, 0x00000008 }, | 476 | {256, 65536, 6, 0x00000008 }, |
@@ -697,13 +698,22 @@ static struct pci_device_id agp_amd64_pci_table[] = { | |||
697 | .subvendor = PCI_ANY_ID, | 698 | .subvendor = PCI_ANY_ID, |
698 | .subdevice = PCI_ANY_ID, | 699 | .subdevice = PCI_ANY_ID, |
699 | }, | 700 | }, |
701 | /* ALI/ULI M1695 */ | ||
702 | { | ||
703 | .class = (PCI_CLASS_BRIDGE_HOST << 8), | ||
704 | .class_mask = ~0, | ||
705 | .vendor = PCI_VENDOR_ID_AL, | ||
706 | .device = 0x1689, | ||
707 | .subvendor = PCI_ANY_ID, | ||
708 | .subdevice = PCI_ANY_ID, | ||
709 | }, | ||
710 | |||
700 | { } | 711 | { } |
701 | }; | 712 | }; |
702 | 713 | ||
703 | MODULE_DEVICE_TABLE(pci, agp_amd64_pci_table); | 714 | MODULE_DEVICE_TABLE(pci, agp_amd64_pci_table); |
704 | 715 | ||
705 | static struct pci_driver agp_amd64_pci_driver = { | 716 | static struct pci_driver agp_amd64_pci_driver = { |
706 | .owner = THIS_MODULE, | ||
707 | .name = "agpgart-amd64", | 717 | .name = "agpgart-amd64", |
708 | .id_table = agp_amd64_pci_table, | 718 | .id_table = agp_amd64_pci_table, |
709 | .probe = agp_amd64_probe, | 719 | .probe = agp_amd64_probe, |