• Anssi Hannula's avatar
    ALSA: usb-audio: Extend DragonFly dB scale quirk to cover other variants · edc95534
    Anssi Hannula authored
    commit eb1a74b7 upstream.
    
    The DragonFly quirk added in 42e3121d ("ALSA: usb-audio: Add a more
    accurate volume quirk for AudioQuest DragonFly") applies a custom dB map
    on the volume control when its range is reported as 0..50 (0 .. 0.2dB).
    
    However, there exists at least one other variant (hw v1.0c, as opposed
    to the tested v1.2) which reports a different non-sensical volume range
    (0..53) and the custom map is therefore not applied for that device.
    
    This results in all of the volume change appearing close to 100% on
    mixer UIs that utilize the dB TLV information.
    
    Add a fallback case where no dB TLV is reported at all if the control
    range is not 0..50 but still 0..N where N <= 1000 (3.9 dB). Also
    restrict the quirk to only apply to the volume control as there is also
    a mute control which would match the check otherwise.
    
    Fixes: 42e3121d ("ALSA: usb-audio: Add a more accurate volume quirk for AudioQuest DragonFly")
    Signed-off-by: default avatarAnssi Hannula <anssi.hannula@iki.fi>
    Reported-by: default avatarDavid W <regulars@d-dub.org.uk>
    Tested-by: default avatarDavid W <regulars@d-dub.org.uk>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    [bwh: Backported to 3.2: keep using dev_info()]
    Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
    edc95534
mixer_quirks.c 20.5 KB