Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[efficeon-agp] Add missing memory mask

Original patch by Benjamin Herrenschmidt after debugging by Brian Hinz.

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Brian Hinz <bphinz@hotmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by

H. Peter Anvin and committed by
Linus Torvalds
1f602454 1d73135e

+7 -1
+7 -1
drivers/char/agp/efficeon-agp.c
··· 64 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 73 static struct aper_size_info_lvl2 efficeon_generic_sizes[4] = 68 74 { 69 75 {256, 65536, 0}, ··· 257 251 last_page = NULL; 258 252 for (i = 0; i < count; i++) { 259 253 int index = pg_start + i; 260 - unsigned long insert = mem->memory[i]; 254 + unsigned long insert = efficeon_mask_memory(mem->memory[i]); 261 255 262 256 page = (unsigned int *) efficeon_private.l1_table[index >> 10]; 263 257