aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>2007-02-12 03:55:25 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-12 12:48:44 -0500
commit0465f790e06d6dbc07d9b569b74ee8154dfca280 (patch)
treef494cad79e5515251b0c69f9c2a7a104c0c18bf7
parent310d8c11126d21e417206c874c6382c44ece1baa (diff)
[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.c5
-rw-r--r--include/asm-powerpc/ps3fb.h10
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 @@
22#include <linux/kernel.h> 22#include <linux/kernel.h>
23#include <linux/delay.h> 23#include <linux/delay.h>
24#include <asm/ps3av.h> 24#include <asm/ps3av.h>
25#include <asm/ps3fb.h>
25#include <asm/ps3.h> 26#include <asm/ps3.h>
26 27
27#include "vuart.h" 28#include "vuart.h"
@@ -851,8 +852,9 @@ int ps3av_cmd_avb_param(struct ps3av_pkt_avb_param *avb, u32 send_len)
851{ 852{
852 int res; 853 int res;
853 854
854 /* avb packet */ 855 ps3fb_flip_ctl(0); /* flip off */
855 856
857 /* avb packet */
856 res = ps3av_do_pkt(PS3AV_CID_AVB_PARAM, send_len, sizeof(*avb), 858 res = ps3av_do_pkt(PS3AV_CID_AVB_PARAM, send_len, sizeof(*avb),
857 &avb->send_hdr); 859 &avb->send_hdr);
858 if (res < 0) 860 if (res < 0)
@@ -864,6 +866,7 @@ int ps3av_cmd_avb_param(struct ps3av_pkt_avb_param *avb, u32 send_len)
864 res); 866 res);
865 867
866 out: 868 out:
869 ps3fb_flip_ctl(1); /* flip on */
867 return res; 870 return res;
868} 871}
869 872
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 {
41 __u32 num_frames; /* num of frame buffers */ 41 __u32 num_frames; /* num of frame buffers */
42}; 42};
43 43
44#ifdef __KERNEL__
45
46#ifdef CONFIG_FB_PS3
47extern void ps3fb_flip_ctl(int on);
48#else
49static inline void ps3fb_flip_ctl(int on) {}
50#endif
51
52#endif /* __KERNEL__ */
53
44#endif /* _ASM_POWERPC_PS3FB_H_ */ 54#endif /* _ASM_POWERPC_PS3FB_H_ */