Hi Sergio, Thank you for your explanation . I learned much from that. Cheers,
Nate On Tue, May 19, 2009 at 2:22 PM, Aguirre Rodriguez, Sergio Alberto <saagui...@ti.com> wrote: > Hi Nate, > > I have 1 input regarding your question: > >>From: linux-media-ow...@vger.kernel.org [linux-media-ow...@vger.kernel.org] >>On Behalf Of Dongsoo, Nathaniel Kim [dongsoo....@gmail.com] >>Sent: Tuesday, May 19, 2009 7:53 AM >>To: Shah, Hardik >>Cc: linux-me...@vger.kernel.org; linux-omap@vger.kernel.org; Jadav, Brijesh >>R; Hiremath, Vaibhav >>Subject: Re: [PATCH 3/3] OMAP2/3 V4L2 Display Driver >> >>Hello Hardik, >> >>Reviewing your driver, I found something made me curious. >> >> >>On Wed, Apr 22, 2009 at 3:25 PM, Hardik Shah <hardik.s...@ti.com> wrote: > > <snip> > >>> +/* Buffer setup function is called by videobuf layer when REQBUF ioctl is >>> + * called. This is used to setup buffers and return size and count of >>> + * buffers allocated. After the call to this buffer, videobuf layer will >>> + * setup buffer queue depending on the size and count of buffers >>> + */ >>> +static int omap_vout_buffer_setup(struct videobuf_queue *q, unsigned int >>> *count, >>> + unsigned int *size) >>> +{ >>> + struct omap_vout_device *vout = q->priv_data; >>> + int startindex = 0, i, j; >>> + u32 phy_addr = 0, virt_addr = 0; >>> + >>> + if (!vout) >>> + return -EINVAL; >>> + >>> + if (V4L2_BUF_TYPE_VIDEO_OUTPUT != q->type) >>> + return -EINVAL; >>> + >>> + startindex = (vout->vid == OMAP_VIDEO1) ? >>> + video1_numbuffers : video2_numbuffers; >>> + if (V4L2_MEMORY_MMAP == vout->memory && *count < startindex) >>> + *count = startindex; >>> + >>> + if ((rotation_enabled(vout->rotation)) && *count > 4) >>> + *count = 4; >>> + >> >> >> >>This seems to be weird to me. If user requests multiple buffers more >>than 4, user cannot recognize that the number of buffers requested is >>forced to change into 4. I'm not sure whether this could be serious or >>not, but it is obvious that user can have doubt about why if user have >>no information about the OMAP H/W. >>Is it really necessary to be configured to 4? >> >> >>Cheers, >> >>Nate >> > > We did a very similar thing on omap3 camera driver, not exactly by the number > of buffers requested, but more about checking if the bytesize of the total > requested buffers was superior to the MMU fixed sized page table size > capabilities to map that size, then we were limiting the number of buffers > accordingly (for keeping the page table size fixed). > > According to the v4l2 spec, changing the count value should be valid, and it > is the userspace app responsability to check the value again, to confirm how > many of the requested buffers are actually available. > > Regards, > Sergio -- = DongSoo, Nathaniel Kim Engineer Mobile S/W Platform Lab. Digital Media & Communications R&D Centre Samsung Electronics CO., LTD. e-mail : dongsoo....@gmail.com dongsoo45....@samsung.com -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html