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 ALSA: arm: Fix empty menuconfig SND_ARM 2016-08-01 16:07:53 +02:00
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 Annotate hardware config module parameters in sound/oss/ 2017-04-20 12:02:32 +01:00
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 dbri: move dereference after check for NULL 2016-12-06 12:18:22 -05:00
spi
synth ALSA: emux: stop if copy_from_user() fails 2017-03-31 16:23:52 +02:00
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
ac97_bus.c
Kconfig ALSA: Enable build with m68k 2017-05-17 07:13:14 +02:00
last.c
Makefile ALSA: add Intel HDMI LPE audio driver for BYT/CHT-T 2017-01-25 14:23:46 +01:00
sound_core.c