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 <darshana@codeaurora.org>
This commit is contained in:
Darshana Patil
2020-12-15 17:23:30 -08:00
parent fc4aa38fca
commit c07697a367
3 changed files with 17 additions and 12 deletions

View File

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

View File

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

View File

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