diff options
author | Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> | 2007-02-12 00:55:25 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-12 09:48:44 -0800 |
commit | 0465f790e06d6dbc07d9b569b74ee8154dfca280 (patch) | |
tree | f494cad79e5515251b0c69f9c2a7a104c0c18bf7 | |
parent | 310d8c11126d21e417206c874c6382c44ece1baa (diff) | |
download | linux-0465f790e06d6dbc07d9b569b74ee8154dfca280.tar.bz2 |
[PATCH] ps3: disable display flipping during mode changes
If ps3fb is available, we have to disable display flipping while changing the
audio or video mode.
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-- | drivers/ps3/ps3av_cmd.c | 5 | ||||
-rw-r--r-- | include/asm-powerpc/ps3fb.h | 10 |
2 files changed, 14 insertions, 1 deletions
diff --git a/drivers/ps3/ps3av_cmd.c b/drivers/ps3/ps3av_cmd.c index b3d1bc40a1b8..21c97c80aa2e 100644 --- a/drivers/ps3/ps3av_cmd.c +++ b/drivers/ps3/ps3av_cmd.c @@ -22,6 +22,7 @@ #include <linux/kernel.h> #include <linux/delay.h> #include <asm/ps3av.h> +#include <asm/ps3fb.h> #include <asm/ps3.h> #include "vuart.h" @@ -851,8 +852,9 @@ int ps3av_cmd_avb_param(struct ps3av_pkt_avb_param *avb, u32 send_len) { int res; - /* avb packet */ + ps3fb_flip_ctl(0); /* flip off */ + /* avb packet */ res = ps3av_do_pkt(PS3AV_CID_AVB_PARAM, send_len, sizeof(*avb), &avb->send_hdr); if (res < 0) @@ -864,6 +866,7 @@ int ps3av_cmd_avb_param(struct ps3av_pkt_avb_param *avb, u32 send_len) res); out: + ps3fb_flip_ctl(1); /* flip on */ return res; } diff --git a/include/asm-powerpc/ps3fb.h b/include/asm-powerpc/ps3fb.h index 3f121fe4010d..8933adf535b8 100644 --- a/include/asm-powerpc/ps3fb.h +++ b/include/asm-powerpc/ps3fb.h @@ -41,4 +41,14 @@ struct ps3fb_ioctl_res { __u32 num_frames; /* num of frame buffers */ }; +#ifdef __KERNEL__ + +#ifdef CONFIG_FB_PS3 +extern void ps3fb_flip_ctl(int on); +#else +static inline void ps3fb_flip_ctl(int on) {} +#endif + +#endif /* __KERNEL__ */ + #endif /* _ASM_POWERPC_PS3FB_H_ */ |