ALSA: emu10k1: improve API of low-level voice manipulation functions
authorOswald Buddenhagen <oswald.buddenhagen@gmx.de>
Wed, 17 May 2023 17:42:54 +0000 (19:42 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 18 May 2023 05:30:34 +0000 (07:30 +0200)
commit9e72666b9ee1140b7ecc66abc30b1c694ed7a6a0
treeecc0e55ec587f2608abce31bd969532f77bd42ce
parent5b1cd21f0f05757e724e18a599b391689f8565fc
ALSA: emu10k1: improve API of low-level voice manipulation functions

Originally, there was a 1:1 relationship between the PCM streams' and
the low-level voices' parameters. The addition of multi-channel playback
partially invalidated that, but didn't introduce proper layering, so
things kept working only by virtue of the multi-channel device never
having two channels (yet). The upcoming addition of 32-bit playback
would complete upending the relationships.

So this patch detaches the low-level parameters from the high-level
ones: we pass pre-calculated bit width and stereo flags to the low-level
manipulation functions instead of calculating them in-place from the
stream parameters.

Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Link: https://lore.kernel.org/r/20230517174256.3657060-7-oswald.buddenhagen@gmx.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/emu10k1/emupcm.c