media: venus: vdec: ensure venus is powered on during stream off
authorVikash Garodia <quic_vgarodia@quicinc.com>
Tue, 12 Apr 2022 13:15:11 +0000 (14:15 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Sun, 24 Apr 2022 07:32:13 +0000 (08:32 +0100)
Video decoder driver auto-suspends the hardware if there is no
exchange of command or response for certain amount of time.
In auto suspended state, it becomes mandatory to power on the
hardware before requesting it to process a command. The fix
ensures the hardware is powered on during stop streaming.

Signed-off-by: Vikash Garodia <quic_vgarodia@quicinc.com>
Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/platform/qcom/venus/vdec.c

index 91da3f5..4ac1132 100644 (file)
@@ -1200,6 +1200,8 @@ static void vdec_stop_streaming(struct vb2_queue *q)
        struct venus_inst *inst = vb2_get_drv_priv(q);
        int ret = -EINVAL;
 
+       vdec_pm_get_put(inst);
+
        mutex_lock(&inst->lock);
 
        if (q->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE)