diff options
Diffstat (limited to 'drivers/char/agp/efficeon-agp.c')
-rw-r--r-- | drivers/char/agp/efficeon-agp.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/char/agp/efficeon-agp.c b/drivers/char/agp/efficeon-agp.c index fed0a87448d8..86a966b65236 100644 --- a/drivers/char/agp/efficeon-agp.c +++ b/drivers/char/agp/efficeon-agp.c | |||
@@ -64,6 +64,12 @@ static struct gatt_mask efficeon_generic_masks[] = | |||
64 | {.mask = 0x00000001, .type = 0} | 64 | {.mask = 0x00000001, .type = 0} |
65 | }; | 65 | }; |
66 | 66 | ||
67 | /* This function does the same thing as mask_memory() for this chipset... */ | ||
68 | static inline unsigned long efficeon_mask_memory(unsigned long addr) | ||
69 | { | ||
70 | return addr | 0x00000001; | ||
71 | } | ||
72 | |||
67 | static struct aper_size_info_lvl2 efficeon_generic_sizes[4] = | 73 | static struct aper_size_info_lvl2 efficeon_generic_sizes[4] = |
68 | { | 74 | { |
69 | {256, 65536, 0}, | 75 | {256, 65536, 0}, |
@@ -251,7 +257,7 @@ static int efficeon_insert_memory(struct agp_memory * mem, off_t pg_start, int t | |||
251 | last_page = NULL; | 257 | last_page = NULL; |
252 | for (i = 0; i < count; i++) { | 258 | for (i = 0; i < count; i++) { |
253 | int index = pg_start + i; | 259 | int index = pg_start + i; |
254 | unsigned long insert = mem->memory[i]; | 260 | unsigned long insert = efficeon_mask_memory(mem->memory[i]); |
255 | 261 | ||
256 | page = (unsigned int *) efficeon_private.l1_table[index >> 10]; | 262 | page = (unsigned int *) efficeon_private.l1_table[index >> 10]; |
257 | 263 | ||