• Takashi Iwai's avatar
    ALSA: seq: Process queue tempo/ppq change in a shot · 671ec859
    Takashi Iwai authored
    The SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO ioctl sets the tempo and the ppq
    in a single call, while the current implementation updates each value
    one by one.  This is a bit racy, and also suboptimal from the
    performance POV, as each call does re-acquire the lock and invokes
    the update of ALSA timer resolution.
    
    This patch reorganizes the code slightly so that we change both the
    tempo and the ppq in a shot.  The skew value can be put into the same
    lock, but this is rather a rarely used feature and completely
    independent from the temp/ppq (it's evaluated only in the interrupt),
    so it's left as it was.
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    671ec859
seq_queue.c 19.7 KB