summaryrefslogtreecommitdiff
path: root/include/uapi/sound
AgeCommit message (Collapse)Author
2016-05-31ALSA: uapi: Add three missing header files to Kbuild fileRobert P. J. Day
include/uapi/sound/Kbuild was missing the inclusion of three header files in that directory. Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-05-27Merge tag 'asoc-v4.7-2' of ↵Takashi Iwai
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Updates for v4.7 part 2 Really sorry about this late pull request. It looks like at the time I sent my pull request for v4.7 there was some conflict or other issue which caused my script to stop merging the ASoC branches at some point after the HDMI changes. It's all specific driver updates, including: - New drivers for MAX98371 and TAS5720. - SPI support for TLV320AIC32x4. - TDM support for STI Uniperf IPs. This code should all have been in -next prior to the merge window apart from some fixes, it dropped out on the 18th.
2016-04-25ALSA: timer: remove legacy rtctimerAlexandre Belloni
There are no users of rtctimer left. Remove its code as this is the in-kernel user of the legacy PC RTC driver that will hopefully be removed at some point. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-04-20ASoC: topology: Set the link ID when creating a FE DAI linkMengdong Lin
Topology will set the link's generic id when creating a FE link. Device drivers can check the id for link specific initialization. Signed-off-by: Mengdong Lin <mengdong.lin@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-29ASoC: topology: ABI - Define types for vendor tuplesMengdong Lin
Tuples, a pair of token and value, can be used to define vendor specific data, for controls and widgets. This can avoid importing binary data blob from other files. Vendor specific tuple arrays will be embeded in the private data buffer of a control or widget object. To be backward compatible, union is used to define the tuple arrays in the existing private data ABI object 'struct snd_soc_tplg_private'. Vendors need to make sure the token values defined by the topology conf file match those defined by their driver. Now supported tuple types are uuid, string, bool, byte, short and word. Signed-off-by: Mengdong Lin <mengdong.lin@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-08ALSA: seq: Provide card number / PID via sequencer client infoMartin Koegler
rawmidi devices expose the card number via IOCTLs, which allows to find the corresponding device in sysfs. The sequencer provides no identifing data. Chromium works around this issue by scanning rawmidi as well as sequencer devices and matching them by using assumtions, how the kernel register sequencer devices. This changes adds support for exposing the card number for kernel clients as well as the PID for user client. The minor of the API version is changed to distinguish between the zero initialised reserved field and card number 0. [minor coding style fixes by tiwai] Signed-off-by: Martin Koegler <martin.koegler@chello.at> Acked-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-03-04ALSA: uapi: Make alsa asound.h header more portableThomas Klausner
This header is used as-is in the alsa-lib userland library, which is portable to other operating systems. For this reason, include linux/types.h only on Linux systems. Add sys/ioctl.h for _IOR/_IOW/etc. (works at least on *BSD and Solaris). Signed-off-by: Thomas Klausner <wiz@NetBSD.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-02-29ALSA: seq: Remove unimplemented ioctlsTakashi Iwai
SNDRV_SEQ_IOCTL_{GET|SET}_QUEUE_OWNER and *_{GET|SET}_QUEUE_SYNC ioctls have been never implemented. Get rid of the definitions from uapi header file. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-12-23Merge remote-tracking branches 'asoc/topic/tegra', 'asoc/topic/topology', ↵Mark Brown
'asoc/topic/wm8903' and 'asoc/topic/wm8904' into asoc-next
2015-12-23ALSA: compress: Add SND_AUDIOCODEC_BESPOKECharles Keepax
When working with the compressed framework occasionally vendors will use esoteric internal audio formats. For such formats it doesn't really make sense to add an new define to the kernel as their use is not sufficiently general. This patch adds a new define SND_AUDIOCODEC_BESPOKE that vendors can use in such situations. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-11-16ASoC: topology: ABI - Rename dai_elems to pcm_elems in manifestMengdong Lin
This field is the number of PCM objects (a pair of FE DAI and DAI link). Signed-off-by: Lin Mengdong <mengdong.lin@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-10-26Merge tag 'asoc-v4.3-rc6' of ↵Takashi Iwai
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: Updates for v4.4 Not much core work here, a few small tweaks to interfaces but mainly the changes here are driver ones. Highlights include: - Updates to the topology userspace interface - Big updates to the Renesas support from Morimoto-san - Most of the support for Intel Sky Lake systems. - New drivers for Asahi Kasei Microdevices AK4613, Allwinnner A10, Cirrus Logic WM8998, Dialog DA7219, Nuvoton NAU8825 and Rockchip S/PDIF. - A new driver for the Atmel Class D speaker drivers
2015-10-15ALSA: hdspm: use __u8, __u32 and __u64 from linux/types.h instead of stdint.hMikko Rapeli
Kernel headers should use linux/types.h based definitions. Signed-off-by: Mikko Rapeli <mikko.rapeli@iki.fi> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-10-15ALSA: emu10k1: added EMU10K1 version of DECLARE_BITMAP macro for UAPIMikko Rapeli
Fixes userspace compilation error: error: expected specifier-qualifier-list before ‘DECLARE_BITMAP’ DECLARE_BITMAP(gpr_valid, 0x200); /* bitmask of valid initializers */ DECLARE_BITMAP macro is not meant for userspace headers and thus added here as private copy for emu10k.h. Fix was suggested by Arnd Bergmann <arnd@arndb.de> in message <2168807.4Yxh5gl11Q@wuerfel> and Takashi Iwai <tiwai@suse.de> in message <s5h1thx88tk.wl-tiwai@suse.de> on lkml. Signed-off-by: Mikko Rapeli <mikko.rapeli@iki.fi> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-10-02ASoC: topology: ABI - Remove tdm_slot & dai_fmt from snd_soc_tplg_streamMengdong Lin
These two fields are line parameters for BE/CC links and should not be from toplogy but from ACPI. Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-10-02ASoC: topology: ABI - Add configuration for BE & Codec-Codec DAI LinksVedang Patel
struct snd_soc_tplg_link_config is defined to configure BE & CC links. Signed-off-by: Vedang Patel <vedang.patel@intel.com> Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-10-02ASoC: topology: ABI - Add the type for BE DAI linkVedang Patel
Define the topology type for BE DAI link: SND_SOC_TPLG_TYPE_BACKEND_LINK. Signed-off-by: Vedang Patel <vedang.patel@intel.com> Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-10-02ASoC: topology: ABI - Change stream formats to a bitwise flagMengdong Lin
The toplogy user space tool will generate this bitwise flag by using SNDRV_PCM_FORMAT_* exposed by asound.h, and the topology core will copy this flag when generating DAI streams. Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-10-02ASoC: topology: ABI - Add name element to snd_soc_tplg_streamVedang Patel
For codec-codec links, this struct will be mapped to the DAI links's params, which is struct snd_soc_pcm_stream and it needs a stream name. Signed-off-by: Vedang Patel <vedang.patel@intel.com> Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-10-02ASoC: topology: ABI - Use __le32 instead of __u32 in snd_soc_tplg_dapm_widgetVedang Patel
This fixes the endianness of the ABI parameters in the struct. The field 'num_kcontrols' is also extended from 16 bits to 32 bits. Signed-off-by: Vedang Patel <vedang.patel@intel.com> Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-10-02ASoC: topology: ABI - Remove unused struct snd_soc_tplg_stream_configVedang Patel
The struct snd_soc_tplg_stream_config is no longer used in the ABI. We are using snd_soc_tplg_stream instead. Signed-off-by: Vedang Patel <vedang.patel@intel.com> Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-10-02ASoC: topology: ABI - Add PCM Support and bump ABI version to 4Vedang Patel
The struct snd_soc_tplg_pcm_dai is renamed to snd_soc_tplg_pcm. This struct will now be used to handle data related to PCMs (FE DAI & DAI links). It's not for BE, because BE DAI mappings will be provided by ACPI/FDT data. Remove the unused struct snd_soc_tplg_pcm_cfg_caps. We are using snd_soc_tplg_stream and snd_soc_stream_caps instead. Bump ABI version to 4. Signed-off-by: Vedang Patel <vedang.patel@intel.com> Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-10-02ALSA: firewire-tascam: add hwdep interfaceTakashi Sakamoto
This commit adds hwdep interface so as the other IEEE 1394 sound devices has. This interface is designed for mixer/control applications. By using this interface, an application can get information about firewire node, can lock/unlock kernel streaming and can get notification at starting/stopping kernel streaming. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-09-30ALSA: firewire-digi00x: add support for asynchronous messagingTakashi Sakamoto
Digi 002/003 family uses asynchronous transaction for messaging. The address to transmit this message is stored on a certain register. This commit allocates a range of address on OHCI 1394 host controller to handle the messaging. As long as I know, the purpose of this message seems to notify lost of synchronization. While, the meaning of content of the message is not clear. Actual examples of this messaging: * When clock source is set as internal: - 0x00007051 - 0x00007052 - 0x00007054 - 0x00007057 - 0x00007058 * When clock source is set as somewhat external: - 0x00009000 - 0x00009010 - 0x00009020 - 0x00009021 - 0x00009022 The lost often occurs when using internal clock source. In this case, users hear sounds with quite short gap every several minutes. In fact, the lost is recovered temporarily. When using with external clock source, the lost seems not to occur. The mechanism is not clear yet. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-09-30ALSA: firewire-digi00x: add hwdep interfaceTakashi Sakamoto
This commit adds hwdep interface so as the other sound drivers for units on IEEE 1394 bus have. This interface is designed for mixer/control applications. By using this interface, an application can get information about firewire node, can lock/unlock kernel streaming and can get notification at starting/stopping kernel streaming. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-08-19Merge tag 'asoc-v4.2-disable-topology' of ↵Takashi Iwai
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Disable topology support for v4.2 The topology code merged in the v4.2 merge window introduced a new ABI which was believed to be suitable for use but subsequently additional work by the developers of this feature have revealed some problems that need to be addressed. In order to allow this to be done without having to support the initial ABI add Kconfig to disable the build and also add some #error statements to the UAPI header so users can't use them.
2015-08-18ASoC: topology: Disable use from userspaceMark Brown
Since the topology API is still in sufficient flux for changes to be identified disable the use of the userspace ABI by adding #error statements to the code, ensuring that nobody relies on the headers as currently defined. It is expected that this change will be reverted for v4.3. Signed-off-by: Mark Brown <broonie@kernel.org>
2015-08-06ASoC: topology: Add private data type and bump ABI version to 3Liam Girdwood
Add ID for standalone private data object types and bump ABI version to 3 in order to userpsace features. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-08-06ASoC: topology: Add ops support to byte controls UAPIMengdong Lin
Add UAPI support for setting byte control ops. Rename the ops structure to be more generic so it can be sued by other objects too. Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-08-06ASoC: topology: Update TLV support so we can support more TLV typesMengdong Lin
Currently the TLV topology structure is targeted at only supporting the DB scale data. This patch extends support for the other TLV types so they can be easily added at a later stage. TLV structure is moved to common topology control header since it's a common field for controls and can be processed in a general way. Users must set a proper access flag for a control since it's used to decide if the TLV field is valid and if a TLV callback is needed. Removed the following fields from topology TLV struct: - size/count: type can decide the size. - numid: not needed to initialize TLV for kcontrol. - data: replaced by the type specific struct. Added TLV structure to generic control header and removed TLV structure from mixer control. Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-08-06Merge tag 'asoc-fix-v4.2-rc3' into asoc-fix-topologyMark Brown
ASoC: Fixes for v4.2 A lot of small fixes here, a few to the core: - Fix for binding DAPM stream widgets on devices with prefixes assigned to them - Minor fixes for the newly added topology interfaces - Locking and memory leak fixes for DAPM - Driver specific fixes
2015-08-06ASoC: topology: add private data to manifestVinod Koul
The topology file manifest should include a private data field. This allows vendors to specify vendor data in the manifest, like timestamps, hashes, additional information for removing platform configuration out of drivers and making these configurable per platform Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-08-06ASoC: topology: Add subsequence in topologySubhransu S. Prusty
Some widgets may need sorting within, So add this support in topology. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-07-02ASoC: topology: fix typos in topology headerVinod Koul
Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-04ALSA: topology: Export ID types for TLV controls.Liam Girdwood
Make sure userspace can define TLV controls for topology using the correct type numbers and channel mappings. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Acked-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-03ASoC: topology: Add topology UAPI headerLiam Girdwood
The ASoC topology UAPI header defines the structures required to define any DSP firmware audio topology and control objects from userspace. The following objects are supported :- o kcontrols including TLV controls. o DAPM widgets and graph elements o Vendor bespoke objects. o Coefficient data o FE PCM capabilities and config. o BE link capabilities and config. o Codec <-> codec link capabilities and config. o Topology object manifest. The file format is simple and divided into blocks for each object type and each block has a header that defines it's size and type. Blocks can be in any order of type and can either all be in a single file or spread across more than one file. Blocks also have a group identifier ID so that they can be loaded and unloaded by ID. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-04-18ALSA: asound.h - use SNDRV_CTL_ELEM_ID_NAME_MAXLENVinod Koul
we have defined SNDRV_CTL_ELEM_ID_NAME_MAXLEN as size of name array so use this define instead of numeric value Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-03-04ALSA: Fix spelling typo in Documentation/DocBook/alsa-driver-api.xmlMasanari Iida
This patch fix spelling typo found in alsa-driver-api.xml. It is because this file is generated from comments in source files, I have to fix source files. Signed-off-by: Masanari Iida <standby24x7@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-02-23Merge branch 'topic/timestamp' into for-nextTakashi Iwai
2015-02-23Merge branch 'topic/uapi-fix' into for-nextTakashi Iwai
2015-02-20ALSA: bump PCM protocol to 2.0.13Pierre-Louis Bossart
Bump PCM protocol to enable use of STATUS_EXT ioctls, older apps will still use STATUS and audio timestamp configuration is not supported (backwards compatible behavior). Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-02-20ALSA: core: selection of audio_tstamp type and accuracy reportsPierre-Louis Bossart
Audio timestamps can be extracted from sample counters, wall clocks, PHC clocks (Ethernet AVB), on-demand synchronized snapshots. This patch provides the ability to report timestamping capabilities, select timestamp types and retrieve timestamp accuracy, if supported. Details can be found in Documentations/sound/alsa/timestamping.txt This functionality is introduced by reclaiming the reserved_aligned field introduced by commit9c7066aef4a5eb8e4063de28f06c508bf6f2963a in snd_pcm_status to provide userspace with selection/query capabilities. Additional driver_tstamp and audio_tstamp_accuracy fields are also added. snd_pcm_mmap_status remains a read-only structure with only the audio timestamp value accessible from user space. The selection of audio timestamp type is done through snd_pcm_status only This commit does not impact ABI and does not impact the default behavior. By default audio timestamp is aligned with hw_pointer and reports the DMA position. Backwards compatibility is handled by using the HDAudio wall clock for playback and the hw_ptr for all other cases. For timestamp selection a new STATUS_EXT ioctl is introduced with read/write parameters. Alsa-lib will be modified to make use of STATUS_EXT. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-02-17include/uapi/sound/emu10k1.h: include sound/asound.hMikko Rapeli
Fixes userspace compilation errors like: error: field ‘id’ has incomplete type struct snd_ctl_elem_id id; /* full control ID definition */ Signed-off-by: Mikko Rapeli <mikko.rapeli@iki.fi> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-02-17include/uapi/sound/asequencer.h: include sound/asound.hMikko Rapeli
Fixes userspace compilation error: error: unknown type name ‘snd_seq_client_type_t’ snd_seq_client_type_t type; /* client type */ Signed-off-by: Mikko Rapeli <mikko.rapeli@iki.fi> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-02-17include/uapi/sound/asound.h: include stdlib.h in userspaceMikko Rapeli
Fixes compiler errors like: error: field ‘trigger_tstamp’ has incomplete type error: invalid application of ‘sizeof’ to incomplete t ype ‘struct timespec’ Signed-off-by: Mikko Rapeli <mikko.rapeli@iki.fi> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-02-17hdspm.h: include stdint.h in userspaceMikko Rapeli
Fixes compilation error: sound/hdspm.h:43:2: error: unknown type name ‘uint32_t’ Signed-off-by: Mikko Rapeli <mikko.rapeli@iki.fi> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-01-28ALSA: usx2y: Move UAPI definition into include/uapi/sound/usb_stream.hTakashi Iwai
The user-space API definition for usb_stream stuff should be moved to include/uapi/sound to be exposed publicly. While we're at it, add the missing ifdef guard for double inclusion, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-12-31ALSA: pcm: add SNDRV_PCM_TRIGGER_DRAIN triggerLibin Yang
Add SNDRV_PCM_TRIGGER_DRAIN trigger for pcm drain. Some audio devices require notification of drain events in order to properly drain and shutdown an audio stream. Signed-off-by: Libin Yang <libin.yang@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-12-10ALSA: oxfw: Add hwdep interfaceTakashi Sakamoto
This interface is designed for mixer/control application. By using this interface, an application can get information about firewire node, can lock/unlock kernel streaming and can get notification at starting/stopping kernel streaming. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Acked-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-11-28Merge branch 'for-linus' into for-nextTakashi Iwai
The commit [7a2e9ddc: ALSA: usb-audio: Add native DSD support for Denon/Marantz DACs] requires the new format definition that has landed only in for-next branch.