diff options
author | Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> | 2007-02-12 03:55:25 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-12 12:48:44 -0500 |
commit | 0465f790e06d6dbc07d9b569b74ee8154dfca280 (patch) | |
tree | f494cad79e5515251b0c69f9c2a7a104c0c18bf7 | |
parent | 310d8c11126d21e417206c874c6382c44ece1baa (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.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 @@ | |||
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 | ||
47 | extern void ps3fb_flip_ctl(int on); | ||
48 | #else | ||
49 | static 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_ */ |