linux/sound
Takashi Iwai 9f60063094 ALSA: pcm: More unification of PCM transfer codes
This patch proceeds more abstraction of PCM read/write loop codes.

For both interleaved and non-interleaved transfers, the same copy or
silence transfer code (which is defined as pcm_transfer_f) is used
now.  This became possible since we switched to byte size to copy_*
and fill_silence ops argument instead of frames.

And, for both read and write, we can use the same copy function (which
is defined as pcm_copy_f), just depending on whether interleaved or
non-interleaved mode.

The transfer function is determined at the beginning of the loop,
depending on whether the driver gives the specific copy ops or it's
the standard read/write.

Another bonus by this change is that we now guarantee the silencing
behavior when NULL buffer is passed to write helpers.  It'll simplify
some codes later.

Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2017-06-02 19:38:22 +02:00
..
aoa ALSA: declare snd_kcontrol_new structures as const 2017-05-30 10:29:25 +02:00
arm
atmel ALSA: atmel: Remove AVR32 bits from the driver 2017-05-15 17:07:00 +02:00
core ALSA: pcm: More unification of PCM transfer codes 2017-06-02 19:38:22 +02:00
drivers ALSA: dummy: Convert to new PCM copy ops 2017-06-02 19:37:56 +02:00
firewire ALSA: declare snd_kcontrol_new structures as const 2017-05-30 10:29:25 +02:00
hda ALSA: hda: Fix cpu lockup when stopping the cmd dmas 2017-05-10 08:47:17 +02:00
i2c ALSA: ak411x: Use array instead of offsetof() 2017-05-17 07:13:03 +02:00
isa ALSA: sb: Convert to the new PCM ops 2017-06-02 19:38:02 +02:00
mips ALSA: declare snd_kcontrol_new structures as const 2017-05-30 10:29:25 +02:00
oss
parisc
pci ALSA: hdsp: Convert to the new PCM ops 2017-06-02 19:38:01 +02:00
pcmcia ALSA: declare snd_kcontrol_new structures as const 2017-05-30 10:29:25 +02:00
ppc ALSA: declare snd_kcontrol_new structures as const 2017-05-30 10:29:25 +02:00
sh ALSA: sh: Convert to the new PCM ops 2017-06-02 19:38:03 +02:00
soc ALSA: pcm: Drop the old copy and silence ops 2017-06-02 19:38:19 +02:00
sparc
spi
synth
usb ALSA: declare snd_kcontrol_new structures as const 2017-05-30 10:29:25 +02:00
x86 alsa: use set_memory.h header 2017-05-08 17:15:14 -07:00
Kconfig ALSA: Enable build with m68k 2017-05-17 07:13:14 +02:00
Makefile
ac97_bus.c
last.c
sound_core.c