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_ */ |
