Skip to content
  • Daniel Mack's avatar
    ALSA: usb-audio: parse clock topology of UAC2 devices · 79f920fb
    Daniel Mack authored
    
    
    Audio devices which comply to the UAC2 standard can export complex clock
    topologies in its descriptors and set up links between them.
    
    The entities that are defined are
    
     - clock sources, which define the end-leafs.
     - clock selectors, which act as switch to select one out of many
       possible clocks sources.
     - clock multipliers, which have an input clock source, and act as clock
       source again. They can be used to derive one clock from another.
    
    All sample rate changes, clock validity queries and the like must go to
    clock source elements, while clock selectors and multipliers can be used
    as terminal clock source.
    
    The following patch adds a parser for these elements and functions to
    iterate over the tree and find the leaf nodes (clock sources).
    
    The samplerate set functions were moved to the new clock.c file.
    
    Signed-off-by: default avatarDaniel Mack <daniel@caiaq.de>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    79f920fb