From cd4249774427c80c1fb3e87299138c5efd4ee206 Mon Sep 17 00:00:00 2001 From: apollo.ling Date: Tue, 29 Oct 2019 09:33:17 +0000 Subject: vdec: improve timeout handling for vmmpeg12/vmmh264/vmmh265 [1/1] supplementary commit. PD#SWPL-14196 Problem: {stress test} trunk crash and watchdog reboot happen when do DTV h264 2s channel switch and 15s suspend.(1/5,none) Solution: improve the timout handling mechanism Verify: X301 Change-Id: I7989ad2b015855d6cacec1c54e8e05d585c8934e Signed-off-by: apollo.ling --- diff --git a/drivers/frame_provider/decoder/h264_multi/h264_dpb.c b/drivers/frame_provider/decoder/h264_multi/h264_dpb.c index 2b9a920..2258f75 100644 --- a/drivers/frame_provider/decoder/h264_multi/h264_dpb.c +++ b/drivers/frame_provider/decoder/h264_multi/h264_dpb.c @@ -202,7 +202,7 @@ void ref_pic_list_reordering(struct h264_dpb_stru *p_H264_Dpb, */ i >= REORDERING_COMMAND_MAX_SIZE) { dpb_print(p_H264_Dpb->decoder_index, - PRINT_FLAG_ERROR, + PRINT_FLAG_DPB_DETAIL, "%s error %d %d\n", __func__, i, currSlice-> @@ -300,7 +300,7 @@ void ref_pic_list_reordering(struct h264_dpb_stru *p_H264_Dpb, /*i>currSlice->num_ref_idx_active[LIST_1] || */ i >= REORDERING_COMMAND_MAX_SIZE) { dpb_print(p_H264_Dpb->decoder_index, - PRINT_FLAG_ERROR, + PRINT_FLAG_DPB_DETAIL, "%s error %d %d\n", __func__, i, currSlice-> diff --git a/drivers/frame_provider/decoder/h264_multi/vmh264.c b/drivers/frame_provider/decoder/h264_multi/vmh264.c index 5c90898..f34097c 100644 --- a/drivers/frame_provider/decoder/h264_multi/vmh264.c +++ b/drivers/frame_provider/decoder/h264_multi/vmh264.c @@ -5355,11 +5355,8 @@ static irqreturn_t vh264_isr_thread_fn(struct vdec_s *vdec, int irq) debug_tag = tenth_ns - hw->tfn_ns; hw->tfn_cnt = 1; hw->tfn_cnt = tenth_ns; - if (debug_tag <= 10000000) { - pr_err("Within 10ms 10 vh264_isr_thread_fn. Abnormal!\n"); - timeout_process(hw); - return IRQ_HANDLED; - } + if (debug_tag <= 10000000) + pr_err("Within 10ms 10 vh264_isr_thread_fn!\n"); } if (dec_dpb_status == H264_CONFIG_REQUEST) { -- cgit