Commit 8307f0ab authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab

media: vicodec: use correct sizeimage value when draining

After a resolution change is detected, q_data->sizeimage is updated
to the new format, but buf_prepare is still draining buffers that
need to use the old pre-resolution-change value. So store the sizeimage
value in q_data->vb2_sizeimage in queue_setup and use that in
buf_prepare.
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent fbbbb2cd
...@@ -84,6 +84,7 @@ struct vicodec_q_data { ...@@ -84,6 +84,7 @@ struct vicodec_q_data {
unsigned int visible_width; unsigned int visible_width;
unsigned int visible_height; unsigned int visible_height;
unsigned int sizeimage; unsigned int sizeimage;
unsigned int vb2_sizeimage;
unsigned int sequence; unsigned int sequence;
const struct v4l2_fwht_pixfmt_info *info; const struct v4l2_fwht_pixfmt_info *info;
}; };
...@@ -1361,6 +1362,7 @@ static int vicodec_queue_setup(struct vb2_queue *vq, unsigned int *nbuffers, ...@@ -1361,6 +1362,7 @@ static int vicodec_queue_setup(struct vb2_queue *vq, unsigned int *nbuffers,
*nplanes = 1; *nplanes = 1;
sizes[0] = size; sizes[0] = size;
q_data->vb2_sizeimage = size;
return 0; return 0;
} }
...@@ -1391,11 +1393,11 @@ static int vicodec_buf_prepare(struct vb2_buffer *vb) ...@@ -1391,11 +1393,11 @@ static int vicodec_buf_prepare(struct vb2_buffer *vb)
} }
} }
if (vb2_plane_size(vb, 0) < q_data->sizeimage) { if (vb2_plane_size(vb, 0) < q_data->vb2_sizeimage) {
dprintk(ctx->dev, dprintk(ctx->dev,
"%s data will not fit into plane (%lu < %lu)\n", "%s data will not fit into plane (%lu < %lu)\n",
__func__, vb2_plane_size(vb, 0), __func__, vb2_plane_size(vb, 0),
(long)q_data->sizeimage); (long)q_data->vb2_sizeimage);
return -EINVAL; return -EINVAL;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment