static int jpeg_enc_stop_streaming(struct vb2_queue *q) { struct jpeg_ctx *ctx = q->drv_priv; struct jpeg_dev *dev = ctx->dev; v4l2_m2m_get_next_job(dev->m2m_dev_enc, ctx->m2m_ctx); return 0; }
static void rot_m2m_job_abort(void *priv) { struct rot_ctx *ctx = priv; struct rot_dev *rot = ctx->rot_dev; int ret; ret = rot_ctx_stop_req(ctx); if (ret < 0) rot_err("wait timeout\n"); v4l2_m2m_get_next_job(rot->m2m.m2m_dev, ctx->m2m_ctx); }
static int rot_vb2_stop_streaming(struct vb2_queue *vq) { struct rot_ctx *ctx = vb2_get_drv_priv(vq); struct rot_dev *rot = ctx->rot_dev; int ret; ret = rot_ctx_stop_req(ctx); if (ret < 0) rot_err("wait timeout\n"); clear_bit(CTX_STREAMING, &ctx->flags); v4l2_m2m_get_next_job(rot->m2m.m2m_dev, ctx->m2m_ctx); return 0; }
static void jpeg_job_dec_abort(void *priv) { struct jpeg_ctx *ctx = priv; struct jpeg_dev *dev = ctx->dev; v4l2_m2m_get_next_job(dev->m2m_dev_dec, ctx->m2m_ctx); }