diff options
author | Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> | 2007-02-12 03:55:26 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-12 12:48:44 -0500 |
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 @@ | |||
2 | * PS3 pagetable management routines. | 2 | * PS3 pagetable management routines. |
3 | * | 3 | * |
4 | * Copyright (C) 2006 Sony Computer Entertainment Inc. | 4 | * Copyright (C) 2006 Sony Computer Entertainment Inc. |
5 | * Copyright 2006 Sony Corp. | 5 | * Copyright 2006, 2007 Sony Corporation |
6 | * | 6 | * |
7 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
8 | * it under the terms of the GNU General Public License as published by | 8 | * it under the terms of the GNU General Public License as published by |
@@ -24,6 +24,7 @@ | |||
24 | #include <asm/lmb.h> | 24 | #include <asm/lmb.h> |
25 | #include <asm/udbg.h> | 25 | #include <asm/udbg.h> |
26 | #include <asm/lv1call.h> | 26 | #include <asm/lv1call.h> |
27 | #include <asm/ps3fb.h> | ||
27 | 28 | ||
28 | #include "platform.h" | 29 | #include "platform.h" |
29 | 30 | ||
@@ -233,6 +234,9 @@ static void ps3_hpte_invalidate(unsigned long slot, unsigned long va, | |||
233 | 234 | ||
234 | static void ps3_hpte_clear(void) | 235 | static void ps3_hpte_clear(void) |
235 | { | 236 | { |
237 | /* Make sure to clean up the frame buffer device first */ | ||
238 | ps3fb_cleanup(); | ||
239 | |||
236 | lv1_unmap_htab(htab_addr); | 240 | lv1_unmap_htab(htab_addr); |
237 | } | 241 | } |
238 | 242 | ||
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 { | |||
45 | 45 | ||
46 | #ifdef CONFIG_FB_PS3 | 46 | #ifdef CONFIG_FB_PS3 |
47 | extern void ps3fb_flip_ctl(int on); | 47 | extern void ps3fb_flip_ctl(int on); |
48 | extern void ps3fb_cleanup(void); | ||
48 | #else | 49 | #else |
49 | static inline void ps3fb_flip_ctl(int on) {} | 50 | static inline void ps3fb_flip_ctl(int on) {} |
51 | static inline void ps3fb_cleanup(void) {} | ||
50 | #endif | 52 | #endif |
51 | 53 | ||
52 | #endif /* __KERNEL__ */ | 54 | #endif /* __KERNEL__ */ |