> From: Archit Taneja [mailto:archit@xxxxxx] > Sent: Thursday, March 13, 2014 12:44 PM > > VPE has a ctrl parameter which decides how many mem to mem transactions > the active job from the job queue can perform. > > The driver's job_ready() made sure that the number of ready source > buffers are sufficient for the job to execute successfully. But it > didn't make sure if there are sufficient ready destination buffers in > the capture queue for the VPE output. > > If the time taken by VPE to process a single frame is really slow, then > it's possible that we don't need to imply such a restriction on the dst > queue, but really fast transactions(small resolution, no de-interlacing) > may cause us to hit the condition where we don't have any free buffers > for the VPE to write on. > > Add the extra check in job_ready() to make sure we have the sufficient > amount of destination buffers. > > Signed-off-by: Archit Taneja <archit@xxxxxx> Acked-by: Kamil Debski <k.debski@xxxxxxxxxxx> > --- > drivers/media/platform/ti-vpe/vpe.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/media/platform/ti-vpe/vpe.c > b/drivers/media/platform/ti-vpe/vpe.c > index 7a77a5b..f3143ac 100644 > --- a/drivers/media/platform/ti-vpe/vpe.c > +++ b/drivers/media/platform/ti-vpe/vpe.c > @@ -887,6 +887,9 @@ static int job_ready(void *priv) > if (v4l2_m2m_num_src_bufs_ready(ctx->m2m_ctx) < needed) > return 0; > > + if (v4l2_m2m_num_dst_bufs_ready(ctx->m2m_ctx) < needed) > + return 0; > + > return 1; > } > > -- > 1.8.3.2 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html