Просмотр исходного кода

video: driver: fixes for port settings change

Disable subscribe and delivery mode metadata.
increase hardware timeout. fix to set port
settings subscription once on input and
output port.

Change-Id: I16bbc40d2efe852d1d7f626feb871317a3bc6c08
Signed-off-by: Darshana Patil <[email protected]>
Darshana Patil 4 лет назад
Родитель
Сommit
c07697a367

+ 1 - 1
driver/platform/waipio/src/msm_vidc_waipio.c

@@ -64,7 +64,7 @@ static struct msm_platform_core_capability core_data_waipio[] = {
 	{SW_PC_DELAY, 1500}, /* 1500 ms */
 	{FW_UNLOAD, 0},
 	{FW_UNLOAD_DELAY, 1000}, /* 1000 ms */
-	{HW_RESPONSE_TIMEOUT, 5000}, /* 1000 ms */
+	{HW_RESPONSE_TIMEOUT, 15000}, /* 1000 ms */
 	{DEBUG_TIMEOUT, 0},
 	{PREFIX_BUF_COUNT_PIX, 18},
 	{PREFIX_BUF_SIZE_PIX, 13434880}, /* Calculated by VENUS_BUFFER_SIZE for 4096x2160 UBWC */

+ 8 - 0
driver/vidc/src/msm_vdec.c

@@ -983,6 +983,10 @@ static int msm_vdec_subscribe_metadata(struct msm_vidc_inst *inst,
 	u32 payload[32] = {0};
 	u32 i;
 
+	//todo: (DP)
+	d_vpr_h("%s(): skip subscribe metadata\n", __func__);
+	return 0;
+
 	if (!inst || !inst->core) {
 		d_vpr_e("%s: invalid params\n", __func__);
 		return -EINVAL;
@@ -1013,6 +1017,10 @@ static int msm_vdec_set_delivery_mode_metadata(struct msm_vidc_inst *inst,
 	u32 payload[32] = {0};
 	u32 i;
 
+	//todo: (DP)
+	d_vpr_h("%s(): skip delivery mode metadata\n", __func__);
+	return 0;
+
 	if (!inst || !inst->core) {
 		d_vpr_e("%s: invalid params\n", __func__);
 		return -EINVAL;

+ 8 - 11
driver/vidc/src/msm_vidc_vb2.c

@@ -170,17 +170,14 @@ int msm_vidc_start_streaming(struct vb2_queue *q, unsigned int count)
 		if (rc)
 			return rc;
 		if (is_decode_session(inst)) {
-			if (q->type == INPUT_MPLANE) {
-				rc = msm_vdec_subscribe_port_settings_change(
-					inst, INPUT_PORT);
-				if (rc)
-					return rc;
-			} else if (q->type == OUTPUT_MPLANE) {
-				rc = msm_vdec_subscribe_port_settings_change(
-					inst, OUTPUT_PORT);
-				if (rc)
-					return rc;
-			}
+			rc = msm_vdec_subscribe_port_settings_change(
+				inst, INPUT_PORT);
+			if (rc)
+				return rc;
+			rc = msm_vdec_subscribe_port_settings_change(
+				inst, OUTPUT_PORT);
+			if (rc)
+				return rc;
 		}
 	}