Loading drivers/media/platform/msm/vidc/msm_v4l2_vidc.c +1 −15 Original line number Diff line number Diff line Loading @@ -137,21 +137,7 @@ int msm_v4l2_reqbufs(struct file *file, void *fh, struct v4l2_requestbuffers *b) { struct msm_vidc_inst *vidc_inst = get_vidc_inst(file, fh); int rc = 0; if (!b->count) { rc = msm_vidc_release_buffers(vidc_inst, b->type); if (rc) dprintk(VIDC_WARN, "Failed in %s for release output buffers\n", __func__); } else { rc = msm_vidc_reqbufs((void *)vidc_inst, b); if (rc) dprintk(VIDC_WARN, "Failed in %s for buffer requirements\n", __func__); } return rc; return msm_vidc_reqbufs((void *)vidc_inst, b); } int msm_v4l2_prepare_buf(struct file *file, void *fh, Loading drivers/media/platform/msm/vidc/msm_vdec.c +40 −0 Original line number Diff line number Diff line Loading @@ -1869,10 +1869,50 @@ static void msm_vdec_buf_queue(struct vb2_buffer *vb) dprintk(VIDC_ERR, "Failed to queue buffer: %d\n", rc); } static void msm_vdec_buf_cleanup(struct vb2_buffer *vb) { int rc = 0; struct buf_queue *q = NULL; struct msm_vidc_inst *inst = NULL; if (!vb) { dprintk(VIDC_ERR, "%s : Invalid vb pointer %pK", __func__, vb); return; } inst = vb2_get_drv_priv(vb->vb2_queue); if (!inst) { dprintk(VIDC_ERR, "%s : Invalid inst pointer", __func__); return; } q = msm_comm_get_vb2q(inst, vb->type); if (!q) { dprintk(VIDC_ERR, "%s : Failed to find buffer queue for type = %d\n", __func__, vb->type); return; } if (q->vb2_bufq.streaming) { dprintk(VIDC_DBG, "%d PORT is streaming\n", vb->type); return; } rc = msm_vidc_release_buffers(inst, vb->type); if (rc) dprintk(VIDC_ERR, "%s : Failed to release buffers : %d\n", __func__, rc); } static const struct vb2_ops msm_vdec_vb2q_ops = { .queue_setup = msm_vdec_queue_setup, .start_streaming = msm_vdec_start_streaming, .buf_queue = msm_vdec_buf_queue, .buf_cleanup = msm_vdec_buf_cleanup, .stop_streaming = msm_vdec_stop_streaming, }; Loading drivers/media/platform/msm/vidc/msm_venc.c +40 −0 Original line number Diff line number Diff line Loading @@ -1836,10 +1836,50 @@ static void msm_venc_buf_queue(struct vb2_buffer *vb) dprintk(VIDC_ERR, "Failed to queue buffer: %d\n", rc); } static void msm_venc_buf_cleanup(struct vb2_buffer *vb) { int rc = 0; struct buf_queue *q = NULL; struct msm_vidc_inst *inst = NULL; if (!vb) { dprintk(VIDC_ERR, "%s : Invalid vb pointer %pK", __func__, vb); return; } inst = vb2_get_drv_priv(vb->vb2_queue); if (!inst) { dprintk(VIDC_ERR, "%s : Invalid inst pointer", __func__); return; } q = msm_comm_get_vb2q(inst, vb->type); if (!q) { dprintk(VIDC_ERR, "%s : Failed to find buffer queue for type = %d\n", __func__, vb->type); return; } if (q->vb2_bufq.streaming) { dprintk(VIDC_DBG, "%d PORT is streaming\n", vb->type); return; } rc = msm_vidc_release_buffers(inst, vb->type); if (rc) dprintk(VIDC_ERR, "%s : Failed to release buffers : %d\n", __func__, rc); } static const struct vb2_ops msm_venc_vb2q_ops = { .queue_setup = msm_venc_queue_setup, .start_streaming = msm_venc_start_streaming, .buf_queue = msm_venc_buf_queue, .buf_cleanup = msm_venc_buf_cleanup, .stop_streaming = msm_venc_stop_streaming, }; Loading Loading
drivers/media/platform/msm/vidc/msm_v4l2_vidc.c +1 −15 Original line number Diff line number Diff line Loading @@ -137,21 +137,7 @@ int msm_v4l2_reqbufs(struct file *file, void *fh, struct v4l2_requestbuffers *b) { struct msm_vidc_inst *vidc_inst = get_vidc_inst(file, fh); int rc = 0; if (!b->count) { rc = msm_vidc_release_buffers(vidc_inst, b->type); if (rc) dprintk(VIDC_WARN, "Failed in %s for release output buffers\n", __func__); } else { rc = msm_vidc_reqbufs((void *)vidc_inst, b); if (rc) dprintk(VIDC_WARN, "Failed in %s for buffer requirements\n", __func__); } return rc; return msm_vidc_reqbufs((void *)vidc_inst, b); } int msm_v4l2_prepare_buf(struct file *file, void *fh, Loading
drivers/media/platform/msm/vidc/msm_vdec.c +40 −0 Original line number Diff line number Diff line Loading @@ -1869,10 +1869,50 @@ static void msm_vdec_buf_queue(struct vb2_buffer *vb) dprintk(VIDC_ERR, "Failed to queue buffer: %d\n", rc); } static void msm_vdec_buf_cleanup(struct vb2_buffer *vb) { int rc = 0; struct buf_queue *q = NULL; struct msm_vidc_inst *inst = NULL; if (!vb) { dprintk(VIDC_ERR, "%s : Invalid vb pointer %pK", __func__, vb); return; } inst = vb2_get_drv_priv(vb->vb2_queue); if (!inst) { dprintk(VIDC_ERR, "%s : Invalid inst pointer", __func__); return; } q = msm_comm_get_vb2q(inst, vb->type); if (!q) { dprintk(VIDC_ERR, "%s : Failed to find buffer queue for type = %d\n", __func__, vb->type); return; } if (q->vb2_bufq.streaming) { dprintk(VIDC_DBG, "%d PORT is streaming\n", vb->type); return; } rc = msm_vidc_release_buffers(inst, vb->type); if (rc) dprintk(VIDC_ERR, "%s : Failed to release buffers : %d\n", __func__, rc); } static const struct vb2_ops msm_vdec_vb2q_ops = { .queue_setup = msm_vdec_queue_setup, .start_streaming = msm_vdec_start_streaming, .buf_queue = msm_vdec_buf_queue, .buf_cleanup = msm_vdec_buf_cleanup, .stop_streaming = msm_vdec_stop_streaming, }; Loading
drivers/media/platform/msm/vidc/msm_venc.c +40 −0 Original line number Diff line number Diff line Loading @@ -1836,10 +1836,50 @@ static void msm_venc_buf_queue(struct vb2_buffer *vb) dprintk(VIDC_ERR, "Failed to queue buffer: %d\n", rc); } static void msm_venc_buf_cleanup(struct vb2_buffer *vb) { int rc = 0; struct buf_queue *q = NULL; struct msm_vidc_inst *inst = NULL; if (!vb) { dprintk(VIDC_ERR, "%s : Invalid vb pointer %pK", __func__, vb); return; } inst = vb2_get_drv_priv(vb->vb2_queue); if (!inst) { dprintk(VIDC_ERR, "%s : Invalid inst pointer", __func__); return; } q = msm_comm_get_vb2q(inst, vb->type); if (!q) { dprintk(VIDC_ERR, "%s : Failed to find buffer queue for type = %d\n", __func__, vb->type); return; } if (q->vb2_bufq.streaming) { dprintk(VIDC_DBG, "%d PORT is streaming\n", vb->type); return; } rc = msm_vidc_release_buffers(inst, vb->type); if (rc) dprintk(VIDC_ERR, "%s : Failed to release buffers : %d\n", __func__, rc); } static const struct vb2_ops msm_venc_vb2q_ops = { .queue_setup = msm_venc_queue_setup, .start_streaming = msm_venc_start_streaming, .buf_queue = msm_venc_buf_queue, .buf_cleanup = msm_venc_buf_cleanup, .stop_streaming = msm_venc_stop_streaming, }; Loading