linux_dsm_epyc7002/sound
Takashi Sakamoto 59f6482c21 ALSA: firewire-motu: add an abstraction layer for three types of protocols
In an aspect of used protocols to communicate, models of MOTU FireWire
units are categorized to three generations.

This commit adds an abstraction layer of the protocols for features
related to packet streaming functionality. This layer includes 5
operations.

When configuring packet streaming functionality with sampling rate and
sampling transmission frequency, .get_clock_rate and .set_clock_rate are
called with proper arguments. MOTU FireWire series supports up to 192.0kHz.

When checking current source of sampling clock (not clock for packetization
layer), .get_clock_source is used. Enumeration is added to represent the
sources supported by this series. This operation can be used to expose
available sampling rate to user space applications when the unit is
configured to use any input signal as source of clock instead of crystal
clock.

In the protocols, the path between packet processing layer and digital
signal processing layer can be controlled. This looks a functionality to
'mute' the unit. For this feature, .switch_fetching_mode is added. This
can be used to suppress noises every time packet streaming starts/stops.

In a point of the size of data blocks at a certain sampling transmission
frequency, the most units accept several modes. This is due to usage of
optical interfaces. The size differs depending on which modes are
configured to the interfaces; None, S/PDIF and ADAT. Additionally, format
of packet is different depending on protocols. To cache current size of
data blocks and its format, .cache_packet_formats is added. This is used
by PCM functionality, packet streaming functionality and data block
processing layer.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2017-03-28 12:33:23 +02:00
..
aoa powerpc updates for 4.9 2016-10-07 20:19:31 -07:00
arm
atmel
core sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
drivers ALSA: vx: remove 'out of memory' message 2017-02-28 07:54:33 +01:00
firewire ALSA: firewire-motu: add an abstraction layer for three types of protocols 2017-03-28 12:33:23 +02:00
hda Linux 4.10-rc1 2017-01-24 16:24:18 +00:00
i2c
isa ALSA: es1688: Use strcpy() instead of sprintf() 2017-03-20 12:24:34 +01:00
mips ALSA: mips: avoid potential uninitialized variable use 2017-01-16 14:33:42 +01:00
oss sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
parisc
pci ALSA: au88x0: avoid theoretical uninitialized access 2017-03-24 11:59:51 +01:00
pcmcia lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
ppc scripts/spelling.txt: add "followings" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
sh ktime: Cleanup ktime_set() usage 2016-12-25 17:21:22 +01:00
soc scripts/spelling.txt: add "disble(d)" pattern and fix typo instances 2017-03-09 17:01:09 -08:00
sparc dbri: move dereference after check for NULL 2016-12-06 12:18:22 -05:00
spi
synth ALSA: synth: use designated initializers 2016-12-28 16:06:16 +01:00
usb Merge branch 'topic/for-4.12' into for-next 2017-03-20 12:24:26 +01:00
x86 ALSA: x86: hdmi: select CONFIG_SND_PCM 2017-02-21 23:39:14 +01:00
ac97_bus.c
Kconfig ALSA: add Intel HDMI LPE audio driver for BYT/CHT-T 2017-01-25 14:23:46 +01: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