From f84053a13b91af404fa7ffa01e327d65c78d1a98 Mon Sep 17 00:00:00 2001 From: Manikanta Kanamarlapudi Date: Fri, 29 Oct 2021 20:17:06 +0530 Subject: [PATCH] video-driver: check max mbpf check max mbpf as well while allowing the real time session. Change-Id: I1091582a02e01a4daa9c58ec5b50400b7d856610 Signed-off-by: Manikanta Kanamarlapudi --- driver/vidc/inc/msm_vidc_driver.h | 1 + driver/vidc/src/msm_vidc_control.c | 6 ++++++ driver/vidc/src/msm_vidc_driver.c | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/driver/vidc/inc/msm_vidc_driver.h b/driver/vidc/inc/msm_vidc_driver.h index 610837ca04..ae6ac8c0f0 100644 --- a/driver/vidc/inc/msm_vidc_driver.h +++ b/driver/vidc/inc/msm_vidc_driver.h @@ -422,6 +422,7 @@ void msm_vidc_allow_dcvs(struct msm_vidc_inst *inst); bool msm_vidc_allow_decode_batch(struct msm_vidc_inst *inst); int msm_vidc_check_session_supported(struct msm_vidc_inst *inst); int msm_vidc_check_core_mbps(struct msm_vidc_inst *inst); +int msm_vidc_check_core_mbpf(struct msm_vidc_inst *inst); int msm_vidc_check_scaling_supported(struct msm_vidc_inst *inst); int msm_vidc_update_timestamp(struct msm_vidc_inst *inst, u64 timestamp); int msm_vidc_set_auto_framerate(struct msm_vidc_inst *inst, u64 timestamp); diff --git a/driver/vidc/src/msm_vidc_control.c b/driver/vidc/src/msm_vidc_control.c index 3963595f90..fbfcc2b714 100644 --- a/driver/vidc/src/msm_vidc_control.c +++ b/driver/vidc/src/msm_vidc_control.c @@ -2352,6 +2352,12 @@ int msm_vidc_adjust_session_priority(void *instance, struct v4l2_ctrl *ctrl) rc = -ENOMEM; goto exit; } + + rc = msm_vidc_check_core_mbpf(inst); + if (rc) { + i_vpr_e(inst, "%s: unsupported load\n", __func__); + goto exit; + } } msm_vidc_update_cap_value(inst, PRIORITY, adjusted_value, __func__); diff --git a/driver/vidc/src/msm_vidc_driver.c b/driver/vidc/src/msm_vidc_driver.c index 9934cacb12..3ce8901bb0 100644 --- a/driver/vidc/src/msm_vidc_driver.c +++ b/driver/vidc/src/msm_vidc_driver.c @@ -5284,7 +5284,7 @@ int msm_vidc_check_core_mbps(struct msm_vidc_inst *inst) return 0; } -static int msm_vidc_check_core_mbpf(struct msm_vidc_inst *inst) +int msm_vidc_check_core_mbpf(struct msm_vidc_inst *inst) { u32 video_mbpf = 0, image_mbpf = 0, video_rt_mbpf = 0; struct msm_vidc_core *core;