ALSA: sb: remove needless evaluation in implementation for copy callback
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Tue, 23 May 2017 13:40:42 +0000 (22:40 +0900)
committerTakashi Iwai <tiwai@suse.de>
Wed, 24 May 2017 21:49:38 +0000 (23:49 +0200)
commit6dbaf8b913f2976ee776beb7c8bb0c52c7066ced
tree2dbc0f42bcea076438a98e9064d3344908865408
parent097a7fe369421347405d448a5ee1d37087cad4ad
ALSA: sb: remove needless evaluation in implementation for copy callback

In design of ALSA pcm core, 'struct snd_pcm_ops.copy' is expected to
copy PCM frames, according to frame alignment on intermediate buffer for
userspace and dedicated buffer for data transmission. In this callback,
value of 'channel' argument depends on the frame alignment, which drivers
registers to runtime of PCM substream. When target devices can handle
non-interleaved buffer, this value has positive value, otherwise negative.

ALSA driver for PCM component of EMU8000 chip is programmed with local
macro to switch the frame alignment. The 'copy' operation in
non-interleaved side has evaluation of the 'channel' argument (actually
it's 'voice' argument). This is useless.

This commit remove the evaluation.

[tiwai: the negative channel argument was the inheritance from the old
 code where -1 was meant for interleaved mode.  The mix-up was dropped
 meanwhile, thus it's correct to assume that we receive no longer -1
 there, and it's safe to cleanup the relevant code.

 Also, voice=0 for channel==1 is trivial, and it can be dropped, too.]

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/isa/sb/emu8000_pcm.c