• Takashi Sakamoto's avatar
    ALSA: dice: Split stream functionality into a file · 6eb6c81e
    Takashi Sakamoto authored
    This commit adds a file with some helper functions for streaming, and move some
    codes into the file with some arrangements.
    
    Well-known CMP is not used to start/stop streams for Dice chipset. It's
    achieved by writing to specific address. We call this way as 'enable'.
    When devices are 'enabled', streaming starts in registered isochronous channel.
    Some helper functions are already implemented in previous commit.
    
    Basically, the stream is compliant to IEC 61883-6, so-called as AMDTP. But Dice
    has a specific quirk, so called-as 'Dual Wire'. This quirk is applied at
    176.4/192.0kHz. In this mode, each packet includes double number of events than
    number in the specification, and stream runs at a half of sampling rate.
    
    There is another quirk at bus reset. Dice chipset handles drivers' request but
    don't re-enable streaming. So stream should be stopped.
    Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    6eb6c81e
dice.c 26.6 KB