| From stable-bounces@linux.kernel.org Fri Apr 14 17:30:59 2006 |
| Message-ID: <44403EA0.5000006@zytor.com> |
| Date: Fri, 14 Apr 2006 17:30:24 -0700 |
| From: "H. Peter Anvin" <hpa@zytor.com> |
| To: stable@kernel.org |
| Cc: |
| Subject: 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: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/char/agp/efficeon-agp.c | 8 +++++++- |
| 1 file changed, 7 insertions(+), 1 deletion(-) |
| |
| --- linux-2.6.16.9.orig/drivers/char/agp/efficeon-agp.c |
| +++ linux-2.6.16.9/drivers/char/agp/efficeon-agp.c |
| @@ -64,6 +64,12 @@ static struct gatt_mask efficeon_generic |
| {.mask = 0x00000001, .type = 0} |
| }; |
| |
| +/* This function does the same thing as mask_memory() for this chipset... */ |
| +static inline unsigned long efficeon_mask_memory(unsigned long addr) |
| +{ |
| + return addr | 0x00000001; |
| +} |
| + |
| static struct aper_size_info_lvl2 efficeon_generic_sizes[4] = |
| { |
| {256, 65536, 0}, |
| @@ -251,7 +257,7 @@ static int efficeon_insert_memory(struct |
| last_page = NULL; |
| for (i = 0; i < count; i++) { |
| int index = pg_start + i; |
| - unsigned long insert = mem->memory[i]; |
| + unsigned long insert = efficeon_mask_memory(mem->memory[i]); |
| |
| page = (unsigned int *) efficeon_private.l1_table[index >> 10]; |
| |