summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 b3d1bc40a1b..21c97c80aa2 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 3f121fe4010..8933adf535b 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_ */