• Takashi Sakamoto's avatar
    ALSA: dice: wait just for NOTIFY_CLOCK_ACCEPTED after GLOBAL_CLOCK_SELECT operation · 41319eb5
    Takashi Sakamoto authored
    NOTIFY_CLOCK_ACCEPTED notification is always generated as a result of
    GLOBAL_CLOCK_SELECT operation, however NOTIFY_LOCK_CHG notification
    doesn't, as long as the selected clock is already configured. In the case,
    ALSA dice driver waits so long. It's inconvenient for some devices to lock
    to the sequence of value in syt field of CIP header in rx packets.
    
    This commit wait just for NOTIFY_CLOCK_ACCEPTED notification by reverting
    changes partially done by two commits below:
    
     * commit fbeac84d ("ALSA: dice: old firmware optimization for Dice notification")
     * commit aec045b8 ("ALSA: dice: change notification mask to detect lock status change")
    
    I note that the successful lock to the sequence of value in syt field of
    CIP header in rx packets results in NOTIFY_EXT_STATUS notification, then
    EXT_STATUS_ARX1_LOCKED bit stands in GLOBAL_EXTENDED_STATUS register.
    The notification can occur enough after receiving the batch of rx packets.
    When the sequence doesn't include value in syt field of CIP header in rx
    packets adequate to the device, the notification occurs again and the bit
    is off.
    Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
    Link: https://lore.kernel.org/r/20210601081753.9191-2-o-takashi@sakamocchi.jpSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    41319eb5
dice-transaction.c 8.56 KB