[PATCH v2 00/21] em28xx: add support fur USB bulk transfers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch series adds support for USB bulk transfers to the em28xx driver.

Patch 1 is a bugfix for the image data processing with non-interlaced
devices (webcams) that should be considered for stable (see commit message).

Patches 2-21 extend the driver to support USB bulk transfers.
USB endpoint mapping had to be extended and is a bit tricky.
It might still not be sufficient to handle ALL isoc/bulk endpoints 
of ALL existing devices, but it should work with the devices we have 
seen so far and (most important !) preserves backwards compatibility to 
the current driver behavior.
Isoc endpoints/transfers are preffered by default, patch 21 adds a 
module parameter to change this behavior.

Changes in v2:
- remove warnings about untestet changes from the commit messages of
  patches 14 and 15 (meanwhile changes have been tested)
- fix interpretation of the new module parameter prefer_bulk (patch 21)
- drop patches 22 and 23 (they are not really related to USB transfers)



Frank Schäfer (21):
  em28xx: fix wrong data offset for non-interlaced mode in
    em28xx_copy_video
  em28xx: clarify meaning of field 'progressive' in struct em28xx
  em28xx: rename isoc packet number constants and parameters
  em28xx: rename struct em28xx_usb_isoc_bufs to em28xx_usb_bufs
  em28xx: rename struct em28xx_usb_isoc_ctl to em28xx_usb_ctl
  em28xx: remove obsolete #define EM28XX_URB_TIMEOUT
  em28xx: update description of em28xx_irq_callback
  em28xx: rename function em28xx_uninit_isoc to em28xx_uninit_usb_xfer
  em28xx: create a common function for isoc and bulk URB allocation and
    setup
  em28xx: create a common function for isoc and bulk USB transfer
    initialization
  em28xx: clear USB halt/stall condition in em28xx_init_usb_xfer when
    using bulk transfers
  em28xx: remove double checks for urb->status == -ENOENT in
    urb_data_copy functions
  em28xx: rename function em28xx_isoc_copy and extend for USB bulk
    transfers
  em28xx: rename function em28xx_isoc_copy_vbi and extend for USB bulk
    transfers
  em28xx: rename function em28xx_dvb_isoc_copy and extend for USB bulk
    transfers
  em28xx: rename usb debugging module parameter and macro
  em28xx: rename some USB parameter fields in struct em28xx to clarify
    their role
  em28xx: add fields for analog and DVB USB transfer type selection to
    struct em28xx
  em28xx: set USB alternate settings for analog video bulk transfers
    properly
  em28xx: improve USB endpoint logic, also use bulk transfers
  em28xx: add module parameter for selection of the preferred USB
    transfer type

 drivers/media/usb/em28xx/em28xx-cards.c |  116 +++++++++++---
 drivers/media/usb/em28xx/em28xx-core.c  |  247 +++++++++++++++++------------
 drivers/media/usb/em28xx/em28xx-dvb.c   |   85 ++++++----
 drivers/media/usb/em28xx/em28xx-reg.h   |    4 +-
 drivers/media/usb/em28xx/em28xx-vbi.c   |    4 +-
 drivers/media/usb/em28xx/em28xx-video.c |  259 +++++++++++++++++--------------
 drivers/media/usb/em28xx/em28xx.h       |   78 ++++++----
 7 Dateien geändert, 494 Zeilen hinzugefügt(+), 299 Zeilen entfernt(-)

-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux