videoqueue: resync for out with no pannel. [1/1]

PD#SWPL-139458

Problem:
AV sync abnormal after TX plug out/in, this is because
canot enter resync flow for output with no pannel.

Solution:
Add resync flow for Not pannel output case.

Verify:
t7

Change-Id: Ifa1b814a226476bb8b2a3b3cbde2135acd06a4a1
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
This commit is contained in:
qiyao.zhou
2023-09-11 19:20:50 +08:00
committed by Luan Yuan
parent bdc97fd757
commit 0eaec286f4
3 changed files with 11 additions and 0 deletions
@@ -515,8 +515,12 @@ static int do_file_thread(struct video_queue_dev *dev)
if (vlock_locked && !dev->vlock_locked) {
need_resync = true;
vq_print(P_OTHER, "vlock locked\n");
} else if (!vlock_locked && !is_panel_output()) {
need_resync = true;
vq_print(P_OTHER, "Not pannel output.\n");
} else if (resync_open) {
need_resync = true;
vq_print(P_OTHER, "Force resync.\n");
}
if (dev->game_mode) {
+6
View File
@@ -6434,6 +6434,12 @@ static inline bool is_tv_panel(void)
return false;
}
bool is_panel_output(void)
{
return is_tv_panel();
}
EXPORT_SYMBOL(is_panel_output);
void rx_mute_vpp(void)
{
u32 black_val;
@@ -439,6 +439,7 @@ void set_vdx_test_pattern(u32 index, bool on, u32 color);
void get_vdx_test_pattern(u32 index, bool *on, u32 *color);
void set_postblend_test_pattern(bool on, u32 color);
void get_postblend_test_pattern(bool *on, u32 *color);
bool is_panel_output(void);
u32 get_first_pic_coming(void);
u32 get_toggle_frame_count(void);