1. 22 9月, 2014 1 次提交
    • W
      [media] uvcvideo: Work around buggy Logitech C920 firmware · 17e1319f
      William Manley 提交于
      The uvcvideo webcam driver exposes the v4l2 control "Exposure (Absolute)"
      which allows the user to control the exposure time of the webcam,
      essentially controlling the brightness of the received image.  By default
      the webcam automatically adjusts the exposure time automatically but the
      if you set the control "Exposure, Auto"="Manual Mode" the user can fix
      the exposure time.
      
      Unfortunately it seems that the Logitech C920 has a firmware bug where
      it will forget that it's in manual mode temporarily during initialisation.
      This means that the camera doesn't respect the exposure time that the user
      requested if they request it before starting to stream video.  They end up
      with a video stream which is either too bright or too dark and must reset
      the controls after video starts streaming.
      
      This patch introduces the quirk UVC_QUIRK_RESTORE_CTRLS_ON_INIT which
      causes the cached controls to be re-uploaded to the camera immediately
      after initialising the camera.  This quirk is applied to the C920 to work
      around this camera bug.
      Signed-off-by: NWilliam Manley <will@williammanley.net>
      Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      17e1319f
  2. 03 9月, 2014 1 次提交
  3. 23 5月, 2014 2 次提交
  4. 06 3月, 2014 1 次提交
    • O
      [media] uvcvideo: Do not use usb_set_interface on bulk EP · b1e43f23
      Oleksij Rempel 提交于
      The UVC specification uses alternate setting selection to notify devices
      of stream start/stop. This breaks when using bulk-based devices, as the
      video streaming interface has a single alternate setting in that case,
      making video stream start and video stream stop events to appear
      identical to the device. Bulk-based devices are thus not well supported
      by UVC.
      
      The webcam built in the Asus Zenbook UX302LA ignores the set interface
      request and will keep the video stream enabled when the driver tries to
      stop it. If USB autosuspend is enabled the device will then be suspended
      and will crash, requiring a cold reboot.
      
      USB trace capture showed that Windows sends a CLEAR_FEATURE(HALT)
      request to the bulk endpoint when stopping the stream instead of
      selecting alternate setting 0. The camera then behaves correctly, and
      thus seems to require that behaviour.
      
      Replace selection of alternate setting 0 with clearing of the endpoint
      halt feature at video stream stop for bulk-based devices. Let's refrain
      from blaming Microsoft this time, as it's not clear whether this
      Windows-specific but USB-compliant behaviour was specifically developed
      to handle bulkd-based UVC devices, or if the camera just took advantage
      of it.
      
      CC: stable@vger.kernel.org
      Signed-off-by: NOleksij Rempel <linux@rempel-privat.de>
      Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      b1e43f23
  5. 01 3月, 2014 1 次提交
  6. 10 12月, 2013 1 次提交
  7. 30 11月, 2013 1 次提交
  8. 08 11月, 2013 1 次提交
    • M
      [media] uvc/lirc_serial: Fix some warnings on parisc arch · ce01cbdc
      Mauro Carvalho Chehab 提交于
      On this arch, usec is not unsigned long. So, we need to typecast,
      in order to remove those warnings:
      	drivers/media/usb/uvc/uvc_video.c: In function 'uvc_video_clock_update':
      	drivers/media/usb/uvc/uvc_video.c:678:2: warning: format '%lu' expects argument of type 'long unsigned int', but argument 9 has type '__kernel_suseconds_t' [-Wformat]
      	drivers/staging/media/lirc/lirc_serial.c: In function 'irq_handler':
      	drivers/staging/media/lirc/lirc_serial.c:707:5: warning: format '%lx' expects argument of type 'long unsigned int', but argument 6 has type '__kernel_suseconds_t' [-Wformat]
      	drivers/staging/media/lirc/lirc_serial.c:707:5: warning: format '%lx' expects argument of type 'long unsigned int', but argument 7 has type '__kernel_suseconds_t' [-Wformat]
      	drivers/staging/media/lirc/lirc_serial.c:719:5: warning: format '%lx' expects argument of type 'long unsigned int', but argument 6 has type '__kernel_suseconds_t' [-Wformat]
      	drivers/staging/media/lirc/lirc_serial.c:719:5: warning: format '%lx' expects argument of type 'long unsigned int', but argument 7 has type '__kernel_suseconds_t' [-Wformat]
      	drivers/staging/media/lirc/lirc_serial.c:728:6: warning: format '%lx' expects argument of type 'long unsigned int', but argument 6 has type '__kernel_suseconds_t' [-Wformat]
      	drivers/staging/media/lirc/lirc_serial.c:728:6: warning: format '%lx' expects argument of type 'long unsigned int', but argument 7 has type '__kernel_suseconds_t' [-Wformat]
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Reviewed-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      ce01cbdc
  9. 28 11月, 2012 1 次提交
  10. 06 10月, 2012 1 次提交
  11. 16 8月, 2012 1 次提交
  12. 14 8月, 2012 1 次提交
  13. 07 7月, 2012 2 次提交
  14. 09 4月, 2012 1 次提交
  15. 28 2月, 2012 1 次提交
  16. 11 12月, 2011 9 次提交
  17. 24 9月, 2011 1 次提交
  18. 22 9月, 2011 1 次提交
  19. 06 8月, 2011 1 次提交
  20. 27 7月, 2011 1 次提交
  21. 01 7月, 2011 1 次提交
  22. 31 3月, 2011 1 次提交
  23. 22 3月, 2011 1 次提交
  24. 02 12月, 2010 1 次提交
  25. 21 10月, 2010 4 次提交
  26. 09 8月, 2010 1 次提交
  27. 21 5月, 2010 1 次提交