• Jaroslav Kysela's avatar
    [ALSA] hwdep interface for pcm data · 246118b9
    Jaroslav Kysela authored
    USB,USB USX2Y
    Implements 'rawusb' pcm data transfer through hwdep interface:
    The usb_hc moves pcm data from/into memory via DMA.
    That memory is mmaped by jack's usx2y driver.
    Jack's usx2y driver is the first/last executable code to read/write pcm data.
    Read/write is a combination of power of 2 period shaping and float/int
    conversation.
    
    Compared to standard alsa/jack we leave out power of 2 period shaping
    inside snd-usb-usx2y which needs memcpy() and additional buffers.
    As a side effect possible unwanted pcm-data coruption resulting of
    standard alsa's snd-usb-usx2y period shaping scheme falls away.
    Result is sane jack operation at buffering schemes down to 128frames,
    2 periods.
    
    Also changed Kconfig file, so snd-usb-usx2y is only available for X86,
    PPC or ALPHA platforms, as on others DMA-memory isn't mmapable.
    Signed-off-by: default avatarKarsten Wiese <annabellesgarden@yahoo.de>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    246118b9
usbusx2yaudio.c 29.7 KB