aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/uvc/uvc_driver.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@skynet.be>2009-02-16 15:41:52 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 11:42:51 -0400
commit50144aeeb702ea105697ae5249f059ea3990b838 (patch)
treebfc7fedca2655d99094b363ba09934cd6b5aadde /drivers/media/video/uvc/uvc_driver.c
parentc90e777976f6237a0cdb644c6a9406907939b174 (diff)
V4L/DVB (10652): uvcvideo: Add quirk to override wrong bandwidth value for Vimicro devices
At least 3 Vimicro cameras (0x332d, 0x3410 and 0x3420) fail to return correct bandwidth information. The first model rounds the value provided by the host to the nearest supported packet size, while the other two always request the maximum bandwidth. Introduce a device quirk to override the value returned by the device with an estimated bandwidth computed by the driver from the frame size and frame rate, and enable it for all Vimicro cameras. Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/uvc/uvc_driver.c')
-rw-r--r--drivers/media/video/uvc/uvc_driver.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/media/video/uvc/uvc_driver.c b/drivers/media/video/uvc/uvc_driver.c
index ebcd5bf0edb7..22e2783ac555 100644
--- a/drivers/media/video/uvc/uvc_driver.c
+++ b/drivers/media/video/uvc/uvc_driver.c
@@ -1861,6 +1861,15 @@ static struct usb_device_id uvc_ids[] = {
1861 .bInterfaceSubClass = 1, 1861 .bInterfaceSubClass = 1,
1862 .bInterfaceProtocol = 0, 1862 .bInterfaceProtocol = 0,
1863 .driver_info = UVC_QUIRK_STREAM_NO_FID }, 1863 .driver_info = UVC_QUIRK_STREAM_NO_FID },
1864 /* ViMicro */
1865 { .match_flags = USB_DEVICE_ID_MATCH_VENDOR
1866 | USB_DEVICE_ID_MATCH_INT_INFO,
1867 .idVendor = 0x0ac8,
1868 .idProduct = 0x0000,
1869 .bInterfaceClass = USB_CLASS_VIDEO,
1870 .bInterfaceSubClass = 1,
1871 .bInterfaceProtocol = 0,
1872 .driver_info = UVC_QUIRK_FIX_BANDWIDTH },
1864 /* MT6227 */ 1873 /* MT6227 */
1865 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE 1874 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
1866 | USB_DEVICE_ID_MATCH_INT_INFO, 1875 | USB_DEVICE_ID_MATCH_INT_INFO,