summaryrefslogtreecommitdiff
authorapollo.ling <apollo.ling@amlogic.com>2020-08-04 02:45:06 (GMT)
committer Hui Zhang <hui.zhang@amlogic.com>2020-08-04 06:08:47 (GMT)
commitaabcdab0b1d3f1ff02291a2d0fcce00482ebfefc (patch)
treebeaa7c04381a76e790a99aee4ea3de24af591edf
parent989a9bc31f92f69920c14127330f574bf0ebe7f9 (diff)
downloadmedia_modules-aabcdab0b1d3f1ff02291a2d0fcce00482ebfefc.zip
media_modules-aabcdab0b1d3f1ff02291a2d0fcce00482ebfefc.tar.gz
media_modules-aabcdab0b1d3f1ff02291a2d0fcce00482ebfefc.tar.bz2
h265: add print_lcu_error to control lcu related printings [1/1]
PD#SWPL-30945 Problem: 183 consecutive repeated lcu Kernel prints per second, which may make the system hang Solution: add print_lcu_error to control lcu related printings Verify: u215 Change-Id: I4bd8d301bfc72ffbcf9e5768b6688d7412928c29 Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
Diffstat
-rw-r--r--drivers/frame_provider/decoder/h265/vh265.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/drivers/frame_provider/decoder/h265/vh265.c b/drivers/frame_provider/decoder/h265/vh265.c
index b420997..ab44fad 100644
--- a/drivers/frame_provider/decoder/h265/vh265.c
+++ b/drivers/frame_provider/decoder/h265/vh265.c
@@ -191,6 +191,7 @@ static unsigned int decode_timeout_val = 200;
static u32 run_ready_min_buf_num = 2;
static u32 disable_ip_mode;
+static u32 print_lcu_error = 1;
/*data_resend_policy:
bit 0, stream base resend data when decoding buf empty
*/
@@ -6394,10 +6395,11 @@ static void check_pic_decoded_error_pre(struct hevc_state_s *hevc,
hevc->cur_pic->error_mark = 1;
}
if (hevc->cur_pic->error_mark) {
- hevc_print(hevc, 0,
- "cur lcu idx = %d, (total %d), set error_mark\n",
- current_lcu_idx,
- hevc->lcu_x_num_pre*hevc->lcu_y_num_pre);
+ if (print_lcu_error)
+ hevc_print(hevc, 0,
+ "cur lcu idx = %d, (total %d), set error_mark\n",
+ current_lcu_idx,
+ hevc->lcu_x_num_pre*hevc->lcu_y_num_pre);
if (is_log_enable(hevc))
add_log(hevc,
"cur lcu idx = %d, (total %d), set error_mark",
@@ -6447,10 +6449,11 @@ static void check_pic_decoded_error(struct hevc_state_s *hevc,
hevc->cur_pic->error_mark = 1;
if (hevc->cur_pic->error_mark) {
- hevc_print(hevc, 0,
- "cur lcu idx = %d, (total %d), set error_mark\n",
- current_lcu_idx,
- hevc->lcu_x_num*hevc->lcu_y_num);
+ if (print_lcu_error)
+ hevc_print(hevc, 0,
+ "cur lcu idx = %d, (total %d), set error_mark\n",
+ current_lcu_idx,
+ hevc->lcu_x_num*hevc->lcu_y_num);
if (((hevc->i_only & 0x4) == 0) && hevc->cur_pic->POC && ( hevc->cur_pic->slice_type == 0)
&& ((hevc->cur_pic->POC + MAX_BUF_NUM) < hevc->iPrevPOC)) {
hevc_print(hevc, 0,
@@ -14052,6 +14055,10 @@ module_param(decode_timeout_val, uint, 0664);
MODULE_PARM_DESC(decode_timeout_val,
"\n h265 decode_timeout_val\n");
+module_param(print_lcu_error, uint, 0664);
+MODULE_PARM_DESC(print_lcu_error,
+ "\n h265 print_lcu_error\n");
+
module_param(data_resend_policy, uint, 0664);
MODULE_PARM_DESC(data_resend_policy,
"\n h265 data_resend_policy\n");