Commit 15513c12 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab
Browse files

[media] solo6x10: fix sequence handling

parent 9a8bfe9f
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -173,6 +173,7 @@ struct solo_enc_dev {

	u32			fmt;
	enum solo_enc_types	type;
	u32			sequence;
	struct vb2_queue	vidq;
	struct list_head	vidq_active;
	int			desc_count;
@@ -267,6 +268,7 @@ struct solo_dev {
	/* Buffer handling */
	struct vb2_queue	vidq;
	struct vb2_alloc_ctx	*alloc_ctx;
	u32			sequence;
	struct task_struct      *kthread;
	struct mutex		lock;
	spinlock_t		slock;
+2 −1
Original line number Diff line number Diff line
@@ -269,6 +269,7 @@ static int solo_enc_on(struct solo_enc_dev *solo_enc)
	/* Make sure to do a bandwidth check */
	if (solo_enc->bw_weight > solo_dev->enc_bw_remain)
		return -EBUSY;
	solo_enc->sequence = 0;
	solo_dev->enc_bw_remain -= solo_enc->bw_weight;

	if (solo_enc->type == SOLO_ENC_TYPE_EXT)
@@ -522,7 +523,7 @@ static int solo_enc_fillbuf(struct solo_enc_dev *solo_enc,
		ret = solo_fill_jpeg(solo_enc, vb, vh);

	if (!ret) {
		vb->v4l2_buf.sequence++;
		vb->v4l2_buf.sequence = solo_enc->sequence++;
		vb->v4l2_buf.timestamp.tv_sec = vh->sec;
		vb->v4l2_buf.timestamp.tv_usec = vh->usec;
	}
+2 −1
Original line number Diff line number Diff line
@@ -224,7 +224,7 @@ finish_buf:
	if (!error) {
		vb2_set_plane_payload(vb, 0,
			solo_vlines(solo_dev) * solo_bytesperline(solo_dev));
		vb->v4l2_buf.sequence++;
		vb->v4l2_buf.sequence = solo_dev->sequence++;
		v4l2_get_timestamp(&vb->v4l2_buf.timestamp);
	}

@@ -332,6 +332,7 @@ static int solo_start_streaming(struct vb2_queue *q, unsigned int count)
{
	struct solo_dev *solo_dev = vb2_get_drv_priv(q);

	solo_dev->sequence = 0;
	return solo_start_thread(solo_dev);
}