diff options
| author | John Baldwin <jhb@FreeBSD.org> | 2008-03-07 13:36:38 +0000 |
|---|---|---|
| committer | John Baldwin <jhb@FreeBSD.org> | 2008-03-07 13:36:38 +0000 |
| commit | ce6d690203aa1d4b7e7d6d608d3905d49c388e1b (patch) | |
| tree | c1311f8cd9f24b9dbcc849f73902d4158fd7d6c6 /sys/dev | |
| parent | 233f8184ecfa5df4a666a64792a97db0ecdc9d66 (diff) | |
Notes
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/agp/agp_nvidia.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/agp/agp_nvidia.c b/sys/dev/agp/agp_nvidia.c index 72cd4b883ea0..9aa082c5a90f 100644 --- a/sys/dev/agp/agp_nvidia.c +++ b/sys/dev/agp/agp_nvidia.c @@ -347,7 +347,7 @@ agp_nvidia_flush_tlb (device_t dev, int offset) struct agp_nvidia_softc *sc; u_int32_t wbc_reg, temp; volatile u_int32_t *ag_virtual; - int i; + int i, pages; sc = (struct agp_nvidia_softc *)device_get_softc(dev); @@ -373,9 +373,10 @@ agp_nvidia_flush_tlb (device_t dev, int offset) ag_virtual = (volatile u_int32_t *)sc->gatt->ag_virtual; /* Flush TLB entries. */ - for(i = 0; i < 32 + 1; i++) + pages = sc->gatt->ag_entries * sizeof(u_int32_t) / PAGE_SIZE; + for(i = 0; i < pages; i++) temp = ag_virtual[i * PAGE_SIZE / sizeof(u_int32_t)]; - for(i = 0; i < 32 + 1; i++) + for(i = 0; i < pages; i++) temp = ag_virtual[i * PAGE_SIZE / sizeof(u_int32_t)]; return (0); |
