Merge "video: driver: resume input port for drain sequnce."

Bu işleme şunda yer alıyor:
qctecmdr
2021-02-17 11:08:46 -08:00
işlemeyi yapan: Gerrit - the friendly Code Review server
işleme d2a1190b94
2 değiştirilmiş dosya ile 7 ekleme ve 3 silme

Dosyayı Görüntüle

@@ -1611,6 +1611,7 @@ int msm_vdec_process_cmd(struct msm_vidc_inst *inst, u32 cmd)
{
int rc = 0;
enum msm_vidc_allow allow = MSM_VIDC_DISALLOW;
enum msm_vidc_port_type port;
if (!inst || !inst->core) {
d_vpr_e("%s: invalid params\n", __func__);
@@ -1639,19 +1640,20 @@ int msm_vdec_process_cmd(struct msm_vidc_inst *inst, u32 cmd)
} else if (cmd == V4L2_DEC_CMD_START) {
if (!msm_vidc_allow_start(inst))
return -EBUSY;
port = (inst->state == MSM_VIDC_DRAIN_LAST_FLAG) ? INPUT_PORT : OUTPUT_PORT;
vb2_clear_last_buffer_dequeued(&inst->vb2q[OUTPUT_META_PORT]);
vb2_clear_last_buffer_dequeued(&inst->vb2q[OUTPUT_PORT]);
rc = msm_vidc_state_change_start(inst);
if (rc)
return rc;
rc = venus_hfi_session_command(inst,
HFI_CMD_RESUME,
OUTPUT_PORT,
port,
HFI_PAYLOAD_NONE,
NULL,
0);
if (rc)
return rc;
vb2_clear_last_buffer_dequeued(&inst->vb2q[OUTPUT_META_PORT]);
vb2_clear_last_buffer_dequeued(&inst->vb2q[OUTPUT_PORT]);
} else {
d_vpr_e("%s: unknown cmd %d\n", __func__, cmd);
return -EINVAL;

Dosyayı Görüntüle

@@ -879,6 +879,8 @@ int msm_venc_process_cmd(struct msm_vidc_inst *inst, u32 cmd)
} else if (cmd == V4L2_ENC_CMD_START) {
if (!msm_vidc_allow_start(inst))
return -EBUSY;
vb2_clear_last_buffer_dequeued(&inst->vb2q[OUTPUT_META_PORT]);
vb2_clear_last_buffer_dequeued(&inst->vb2q[OUTPUT_PORT]);
rc = msm_vidc_state_change_start(inst);
if (rc)
return rc;