diff options
author | Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> | 2007-02-12 00:55:26 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-12 09:48:44 -0800 |
commit | 36dff96b3b83c5d79a45b221adf137b571b03d65 (patch) | |
tree | 149e42bd19a8f2f98e6aba6f933247e6333bad48 | |
parent | 0465f790e06d6dbc07d9b569b74ee8154dfca280 (diff) |
[PATCH] ps3: cleanup ps3fb before clearing HPTE
PS3: Cleanup the frame buffer device before clearing the HPTE mapping
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Cc: James Simmons <jsimmons@infradead.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | arch/powerpc/platforms/ps3/htab.c | 6 | ||||
-rw-r--r-- | include/asm-powerpc/ps3fb.h | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/ps3/htab.c b/arch/powerpc/platforms/ps3/htab.c index a4b5a1bc60f4..e12e59fea13a 100644 --- a/arch/powerpc/platforms/ps3/htab.c +++ b/arch/powerpc/platforms/ps3/htab.c @@ -2,7 +2,7 @@ * PS3 pagetable management routines. * * Copyright (C) 2006 Sony Computer Entertainment Inc. - * Copyright 2006 Sony Corp. + * Copyright 2006, 2007 Sony Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -24,6 +24,7 @@ #include <asm/lmb.h> #include <asm/udbg.h> #include <asm/lv1call.h> +#include <asm/ps3fb.h> #include "platform.h" @@ -233,6 +234,9 @@ static void ps3_hpte_invalidate(unsigned long slot, unsigned long va, static void ps3_hpte_clear(void) { + /* Make sure to clean up the frame buffer device first */ + ps3fb_cleanup(); + lv1_unmap_htab(htab_addr); } diff --git a/include/asm-powerpc/ps3fb.h b/include/asm-powerpc/ps3fb.h index 8933adf535b8..ad81cf431964 100644 --- a/include/asm-powerpc/ps3fb.h +++ b/include/asm-powerpc/ps3fb.h @@ -45,8 +45,10 @@ struct ps3fb_ioctl_res { #ifdef CONFIG_FB_PS3 extern void ps3fb_flip_ctl(int on); +extern void ps3fb_cleanup(void); #else static inline void ps3fb_flip_ctl(int on) {} +static inline void ps3fb_cleanup(void) {} #endif #endif /* __KERNEL__ */ |