Increase the H/W max load capacity
- Fake and pump up the HW capability to accept
best effort performance when HW codec run overloading.
- Not error out session in case max clocks are reached.
Bug: 169196169
Test: video xTS.
Test: 4k60 video playback/recording with screen recording
Change-Id: Iedacf73b983a83a885272b6b69a3dcb63a2e92a9
diff --git a/msm/vidc/msm_vidc_clocks.c b/msm/vidc/msm_vidc_clocks.c
index 086e03d..81c9f95 100644
--- a/msm/vidc/msm_vidc_clocks.c
+++ b/msm/vidc/msm_vidc_clocks.c
@@ -1726,13 +1726,10 @@
msm_vidc_power_save_mode_enable(inst, enable);
} else if (cur_inst_lp_load + core_load <= max_freq) {
msm_vidc_power_save_mode_enable(inst, true);
- } else if (cur_inst_lp_load + core_lp_load <= max_freq) {
+ } else {
s_vpr_h(inst->sid, "Moved all inst's to LP");
msm_vidc_move_core_to_power_save_mode(core,
VIDC_CORE_ID_1, inst->sid);
- } else {
- s_vpr_e(inst->sid, "Core cannot support this load\n");
- return -EINVAL;
}
inst->clk_data.core_id = VIDC_CORE_ID_1;
diff --git a/msm/vidc/msm_vidc_platform.c b/msm/vidc/msm_vidc_platform.c
index 487285c..9a4bee4 100644
--- a/msm/vidc/msm_vidc_platform.c
+++ b/msm/vidc/msm_vidc_platform.c
@@ -931,10 +931,11 @@
},
{
.key = "qcom,max-hw-load",
- .value = 1958400,
+ .value = 3916800,
/**
- * ((3840x2176)/256)@60
+ * supported is: ((3840x2176)/256)@60
* UHD@30 decode + UHD@30 encode
+ * mentioned value is as per UHD@120
*/
},
{
@@ -1018,9 +1019,11 @@
},
{
.key = "qcom,max-hw-load",
- .value = 1224000,
+ .value = 3916800,
/**
+ * supported is:
* UHD@30 decode + 1080@30 encode
+ * mentioned is as per UHD@120
*/
},
{