]> Pileus Git - ~andy/linux/blobdiff - drivers/char/agp/via-agp.c
agp: Support 64-bit APBASE
[~andy/linux] / drivers / char / agp / via-agp.c
index 74d3aa3773bf2b3300a7d3212607cca16c8d7277..228f20cddc056244711805b20c44d168a4d94493 100644 (file)
@@ -43,16 +43,15 @@ static int via_fetch_size(void)
 
 static int via_configure(void)
 {
-       u32 temp;
        struct aper_size_info_8 *current_size;
 
        current_size = A_SIZE_8(agp_bridge->current_size);
        /* aperture size */
        pci_write_config_byte(agp_bridge->dev, VIA_APSIZE,
                              current_size->size_value);
-       /* address to map too */
-       pci_read_config_dword(agp_bridge->dev, AGP_APBASE, &temp);
-       agp_bridge->gart_bus_addr = (temp & PCI_BASE_ADDRESS_MEM_MASK);
+       /* address to map to */
+       agp_bridge->gart_bus_addr = pci_bus_address(agp_bridge->dev,
+                                                   AGP_APERTURE_BAR);
 
        /* GART control register */
        pci_write_config_dword(agp_bridge->dev, VIA_GARTCTRL, 0x0000000f);
@@ -132,9 +131,9 @@ static int via_configure_agp3(void)
 
        current_size = A_SIZE_16(agp_bridge->current_size);
 
-       /* address to map too */
-       pci_read_config_dword(agp_bridge->dev, AGP_APBASE, &temp);
-       agp_bridge->gart_bus_addr = (temp & PCI_BASE_ADDRESS_MEM_MASK);
+       /* address to map to */
+       agp_bridge->gart_bus_addr = pci_bus_address(agp_bridge->dev,
+                                                   AGP_APERTURE_BAR);
 
        /* attbase - aperture GATT base */
        pci_write_config_dword(agp_bridge->dev, VIA_AGP3_ATTBASE,