예제 #1
0
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;
}
예제 #2
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);
}
예제 #3
0
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;
}
예제 #4
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);
}