Commit 36dff96b authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Linus Torvalds

[PATCH] ps3: cleanup ps3fb before clearing HPTE

PS3: Cleanup the frame buffer device before clearing the HPTE mapping
Signed-off-by: default avatarGeert 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: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 0465f790
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* PS3 pagetable management routines. * PS3 pagetable management routines.
* *
* Copyright (C) 2006 Sony Computer Entertainment Inc. * 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 * 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 * it under the terms of the GNU General Public License as published by
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include <asm/lmb.h> #include <asm/lmb.h>
#include <asm/udbg.h> #include <asm/udbg.h>
#include <asm/lv1call.h> #include <asm/lv1call.h>
#include <asm/ps3fb.h>
#include "platform.h" #include "platform.h"
...@@ -233,6 +234,9 @@ static void ps3_hpte_invalidate(unsigned long slot, unsigned long va, ...@@ -233,6 +234,9 @@ static void ps3_hpte_invalidate(unsigned long slot, unsigned long va,
static void ps3_hpte_clear(void) static void ps3_hpte_clear(void)
{ {
/* Make sure to clean up the frame buffer device first */
ps3fb_cleanup();
lv1_unmap_htab(htab_addr); lv1_unmap_htab(htab_addr);
} }
......
...@@ -45,8 +45,10 @@ struct ps3fb_ioctl_res { ...@@ -45,8 +45,10 @@ struct ps3fb_ioctl_res {
#ifdef CONFIG_FB_PS3 #ifdef CONFIG_FB_PS3
extern void ps3fb_flip_ctl(int on); extern void ps3fb_flip_ctl(int on);
extern void ps3fb_cleanup(void);
#else #else
static inline void ps3fb_flip_ctl(int on) {} static inline void ps3fb_flip_ctl(int on) {}
static inline void ps3fb_cleanup(void) {}
#endif #endif
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment