author | apollo.ling <apollo.ling@amlogic.com> | 2019-10-29 09:33:17 (GMT) |
---|---|---|
committer | apollo.ling <apollo.ling@amlogic.com> | 2019-10-29 09:34:27 (GMT) |
commit | cd4249774427c80c1fb3e87299138c5efd4ee206 (patch) | |
tree | cc756074ab22909ee9c3bdb3de7825f3853728e4 | |
parent | 0fb7e163d8876420ca6074308647b5d44be73e2b (diff) | |
download | media_modules-cd4249774427c80c1fb3e87299138c5efd4ee206.zip media_modules-cd4249774427c80c1fb3e87299138c5efd4ee206.tar.gz media_modules-cd4249774427c80c1fb3e87299138c5efd4ee206.tar.bz2 |
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 <apollo.ling@amlogic.com>
-rw-r--r-- | drivers/frame_provider/decoder/h264_multi/h264_dpb.c | 4 | ||||
-rw-r--r-- | drivers/frame_provider/decoder/h264_multi/vmh264.c | 7 |
2 files changed, 4 insertions, 7 deletions
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) { |