• Takashi Sakamoto's avatar
    ALSA: sb: remove needless evaluation in implementation for copy callback · 6dbaf8b9
    Takashi Sakamoto authored
    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: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    6dbaf8b9
emu8000_pcm.c 16.4 KB