• Takashi Sakamoto's avatar
    ALSA: fireface: add support for packet streaming on Fireface 800 · fc716397
    Takashi Sakamoto authored
    This commit adds a functionality to multiplex PCM frames into isochronous
    packets and demultiplex PCM frames from isochronous packets for ALSA PCM
    applications.
    
    Fireface 800 voluntarily maintains resources for tx isochronous
    communication.  It performs reservation of isochronous channel and
    allocation/update of bandwidth in some cases below:
     - at a first request to allocation after bus resets
     - at requests to allocation when further bandwidth is required
    
    When request is grant and the unit is prepared, read data from
    0x0000801c0008 represents isochronous channel for tx stream, then
    the unit can handle requests to start communication. If driver
    send the request without checking the register, the unit takes
    panic to continue bus resets. The unit starts transmission of
    tx packets after receiving several rx packets from driver.
    
    I note that the unit can process tx/rx packets and generate/record
    sound regardless of HOST LED.
    Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    fc716397
ff-protocol-ff800.c 3.68 KB