Commit b6d79b9a authored by Dave Jones's avatar Dave Jones Committed by Dave Jones

[AGPGART] Fix up sparse iomem warnings in NVidia driver.

Signed-off-by: default avatarDave Jones <davej@redhat.com>
parent 23d4ae4f
...@@ -28,7 +28,7 @@ static struct _nvidia_private { ...@@ -28,7 +28,7 @@ static struct _nvidia_private {
struct pci_dev *dev_1; struct pci_dev *dev_1;
struct pci_dev *dev_2; struct pci_dev *dev_2;
struct pci_dev *dev_3; struct pci_dev *dev_3;
volatile u32 *aperture; volatile u32 __iomem *aperture;
int num_active_entries; int num_active_entries;
off_t pg_offset; off_t pg_offset;
u32 wbc_mask; u32 wbc_mask;
...@@ -154,7 +154,7 @@ static int nvidia_configure(void) ...@@ -154,7 +154,7 @@ static int nvidia_configure(void)
/* map aperture */ /* map aperture */
nvidia_private.aperture = nvidia_private.aperture =
(volatile u32 *) ioremap(apbase, 33 * PAGE_SIZE); (volatile u32 __iomem *) ioremap(apbase, 33 * PAGE_SIZE);
return 0; return 0;
} }
...@@ -173,7 +173,7 @@ static void nvidia_cleanup(void) ...@@ -173,7 +173,7 @@ static void nvidia_cleanup(void)
pci_write_config_dword(nvidia_private.dev_2, NVIDIA_2_GARTCTRL, temp & ~(0x11)); pci_write_config_dword(nvidia_private.dev_2, NVIDIA_2_GARTCTRL, temp & ~(0x11));
/* unmap aperture */ /* unmap aperture */
iounmap((void *) nvidia_private.aperture); iounmap((void __iomem *) nvidia_private.aperture);
/* restore previous aperture size */ /* restore previous aperture size */
previous_size = A_SIZE_8(agp_bridge->previous_size); previous_size = A_SIZE_8(agp_bridge->previous_size);
...@@ -206,7 +206,7 @@ static int nvidia_insert_memory(struct agp_memory *mem, off_t pg_start, int type ...@@ -206,7 +206,7 @@ static int nvidia_insert_memory(struct agp_memory *mem, off_t pg_start, int type
return -EINVAL; return -EINVAL;
for(j = pg_start; j < (pg_start + mem->page_count); j++) { for(j = pg_start; j < (pg_start + mem->page_count); j++) {
if (!PGE_EMPTY(agp_bridge, agp_bridge->gatt_table[nvidia_private.pg_offset + j])) if (!PGE_EMPTY(agp_bridge, readl(agp_bridge->gatt_table+nvidia_private.pg_offset+j)))
return -EBUSY; return -EBUSY;
} }
...@@ -215,9 +215,8 @@ static int nvidia_insert_memory(struct agp_memory *mem, off_t pg_start, int type ...@@ -215,9 +215,8 @@ static int nvidia_insert_memory(struct agp_memory *mem, off_t pg_start, int type
mem->is_flushed = TRUE; mem->is_flushed = TRUE;
} }
for (i = 0, j = pg_start; i < mem->page_count; i++, j++) for (i = 0, j = pg_start; i < mem->page_count; i++, j++)
agp_bridge->gatt_table[nvidia_private.pg_offset + j] = writel(agp_bridge->driver->mask_memory(mem->memory[i], mem->type),
agp_bridge->driver->mask_memory(mem->memory[i], mem->type); agp_bridge->gatt_table+nvidia_private.pg_offset+j);
agp_bridge->driver->tlb_flush(mem); agp_bridge->driver->tlb_flush(mem);
return 0; return 0;
} }
...@@ -229,11 +228,9 @@ static int nvidia_remove_memory(struct agp_memory *mem, off_t pg_start, int type ...@@ -229,11 +228,9 @@ static int nvidia_remove_memory(struct agp_memory *mem, off_t pg_start, int type
if ((type != 0) || (mem->type != 0)) if ((type != 0) || (mem->type != 0))
return -EINVAL; return -EINVAL;
for (i = pg_start; i < (mem->page_count + pg_start); i++) { for (i = pg_start; i < (mem->page_count + pg_start); i++)
agp_bridge->gatt_table[nvidia_private.pg_offset + i] = writel(agp_bridge->scratch_page, agp_bridge->gatt_table+nvidia_private.pg_offset+i);
(unsigned long) agp_bridge->scratch_page;
}
agp_bridge->driver->tlb_flush(mem); agp_bridge->driver->tlb_flush(mem);
return 0; return 0;
...@@ -265,9 +262,9 @@ static void nvidia_tlbflush(struct agp_memory *mem) ...@@ -265,9 +262,9 @@ static void nvidia_tlbflush(struct agp_memory *mem)
/* flush TLB entries */ /* flush TLB entries */
for(i = 0; i < 32 + 1; i++) for(i = 0; i < 32 + 1; i++)
temp = nvidia_private.aperture[i * PAGE_SIZE / sizeof(u32)]; temp = readl(nvidia_private.aperture+(i * PAGE_SIZE / sizeof(u32)));
for(i = 0; i < 32 + 1; i++) for(i = 0; i < 32 + 1; i++)
temp = nvidia_private.aperture[i * PAGE_SIZE / sizeof(u32)]; temp = readl(nvidia_private.aperture+(i * PAGE_SIZE / sizeof(u32)));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment