[PATCH v3 00/24] i.MX Media Driver
Steve Longerbeam
slongerbeam at gmail.com
Fri Feb 3 10:49:41 PST 2017
On 02/02/2017 02:29 PM, Russell King - ARM Linux wrote:
> On Thu, Feb 02, 2017 at 11:12:41AM -0800, Steve Longerbeam wrote:
>> Here is the current .queue_setup() op in imx-media-capture.c:
>>
>> static int capture_queue_setup(struct vb2_queue *vq,
>> unsigned int *nbuffers,
>> unsigned int *nplanes,
>> unsigned int sizes[],
>> struct device *alloc_devs[])
>> {
>> struct capture_priv *priv = vb2_get_drv_priv(vq);
>> struct v4l2_pix_format *pix = &priv->vdev.fmt.fmt.pix;
>> unsigned int count = *nbuffers;
>>
>> if (vq->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
>> return -EINVAL;
>>
>> if (*nplanes) {
>> if (*nplanes != 1 || sizes[0] < pix->sizeimage)
>> return -EINVAL;
>> count += vq->num_buffers;
>> }
>>
>> while (pix->sizeimage * count > VID_MEM_LIMIT)
>> count--;
> That's a weird way of writing:
>
> unsigned int max_num = VID_MEM_LIMIT / pix->sizeimage;
> count = max(count, max_num);
I think you mean min() there, but yes thanks, fixed.
Steve
More information about the linux-arm-kernel
mailing list