diff --git a/drivers/amlogic/media/common/ge2d/ge2d_wq.c b/drivers/amlogic/media/common/ge2d/ge2d_wq.c index ec87e0bb2db8..820dc501b270 100644 --- a/drivers/amlogic/media/common/ge2d/ge2d_wq.c +++ b/drivers/amlogic/media/common/ge2d/ge2d_wq.c @@ -319,7 +319,7 @@ static int ge2d_process_work_queue(struct ge2d_context_s *wq) timeout = wait_event_interruptible_timeout( ge2d_manager.event.cmd_complete, !ge2d_is_busy(), - 100); + msecs_to_jiffies(1000)); if (timeout == 0) { ge2d_log_err("ge2d timeout!!!\n"); ge2d_dump_cmd(&pitem->cmd); diff --git a/drivers/amlogic/media/osd/osd_hw.c b/drivers/amlogic/media/osd/osd_hw.c index 07274dfb5915..b9381186d226 100644 --- a/drivers/amlogic/media/osd/osd_hw.c +++ b/drivers/amlogic/media/osd/osd_hw.c @@ -957,7 +957,7 @@ void osd_wait_vsync_hw(void) if (pxp_mode) timeout = msecs_to_jiffies(50); else - timeout = HZ; + timeout = msecs_to_jiffies(1000); wait_event_interruptible_timeout( osd_vsync_wq, vsync_hit, timeout); } @@ -965,9 +965,12 @@ void osd_wait_vsync_hw(void) s32 osd_wait_vsync_event(void) { + unsigned long timeout; + vsync_hit = false; - /* waiting for 10ms. */ - wait_event_interruptible_timeout(osd_vsync_wq, vsync_hit, 1); + /* waiting for 1000ms. */ + timeout = msecs_to_jiffies(1000); + wait_event_interruptible_timeout(osd_vsync_wq, vsync_hit, timeout); return 0; } diff --git a/drivers/amlogic/media/osd_ext/osd_hw.c b/drivers/amlogic/media/osd_ext/osd_hw.c index faa873ac0408..e19e7bbabca1 100644 --- a/drivers/amlogic/media/osd_ext/osd_hw.c +++ b/drivers/amlogic/media/osd_ext/osd_hw.c @@ -536,13 +536,15 @@ void osd_ext_wait_vsync_hw(void) { vsync_hit = false; - wait_event_interruptible_timeout(osd_ext_vsync_wq, vsync_hit, HZ); + wait_event_interruptible_timeout(osd_ext_vsync_wq, + vsync_hit, msecs_to_jiffies(1000)); } s32 osd_ext_wait_vsync_event(void) { vsync_hit = false; - wait_event_interruptible_timeout(osd_ext_vsync_wq, vsync_hit, 1); + wait_event_interruptible_timeout(osd_ext_vsync_wq, + vsync_hit, msecs_to_jiffies(1000)); return 0; }