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 #include #include +#include #include #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_ */