• Inaky Perez-Gonzalez's avatar
    i2400m/USB: TX and RX path backends · a8ebf98f
    Inaky Perez-Gonzalez authored
    Implements the backend so that the generic driver can TX/RX to/from
    the USB device.
    
    TX is implemented with a kthread sitting in a never-ending loop that
    when kicked by the generic driver's TX code will pull data from the TX
    FIFO and send it to the device until it drains it. Then it goes back
    sleep, waiting for another kick.
    
    RX is implemented in a similar fashion, but reads are kicked in by the
    device notifying in the interrupt endpoint that data is ready. Device
    reset notifications are also sent via the notification endpoint.
    
    We need a thread contexts to run USB autopm functions (blocking) and
    to process the received data (can get to be heavy in processing
    time).
    Signed-off-by: default avatarInaky Perez-Gonzalez <inaky@linux.intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    a8ebf98f
usb-rx.c 13.2 KB