• Oswald Buddenhagen's avatar
    ALSA: emu10k1: straighten out FX send init · 155e3d3b
    Oswald Buddenhagen authored
    The mixer structures were filled in two places: on driver init, and when
    the devices are opened. The latter made the former pointless, so we
    remove the former. This implies that mixer dumps may now return all
    zeroes, which is OK, as restoring them is meaningless as well.
    
    Things were even weirder for the (generally unused) secondary sends:
    
    Some of the initialization loops were forgotten when support for Audigy
    was added, thus creating the technically illegal state of multiple sends
    being routed to the same FX accumulator (though it apparently doesn't
    matter when the amount is zero).
    
    The global multi-channel init used some rather bizarre values for the
    secondary sends, and the init on open actually forgot to re-initialize
    them. We now use a not really more useful, but simpler formula.
    
    The direct register init was also bogus. This doesn't really matter, as
    the value is overwritten when a voice comes into use, but still.
    Signed-off-by: default avatarOswald Buddenhagen <oswald.buddenhagen@gmx.de>
    Link: https://lore.kernel.org/r/20230516093612.3536451-2-oswald.buddenhagen@gmx.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    155e3d3b
emu10k1_main.c 65.7 KB