• Oswald Buddenhagen's avatar
    ALSA: emu10k1: make E-MU I/O routing init data-driven · 1fc710f0
    Oswald Buddenhagen authored
    ... and move it to the mixer init, as it's logically part of it.
    
    As a side effect, this fixes the initial values of the input destination
    mixer controls, which would have previously remained at "Silent" despite
    different defaults. This didn't really matter, though, as ALSA state
    restoration would hide that bug beyond first use.
    
    Note that this completely does away with clearing the output routing
    registers, as it was rather pointless - we just programmed the FPGA
    (resetting it first if necessary), so everything is zeroed anyway
    (that's documented by Xilinx, and as further evidence, some of the loops
    terminated too early, and we didn't bother clearing the high channels of
    the input routes at all, all with no observed adverse effects).
    
    As a drive-by, this also fixes some capture channel defaults - any
    EMU_SRC_*2 isn't a sensible value in 1x clock mode.
    Signed-off-by: default avatarOswald Buddenhagen <oswald.buddenhagen@gmx.de>
    Link: https://lore.kernel.org/r/20230516093612.3536508-7-oswald.buddenhagen@gmx.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    1fc710f0
emu10k1_main.c 55.7 KB