05 Nov, 2016
1 commit
11 Oct, 2016
1 commit
-
We had inserted a #error into the topology UAPI code to ensure that the
ABI was not adopted by userspace while final review and testing was
ongoing. The idea was that some finishing touches would be made to the
ABI before declaring it stable and suitable for use in production but
this has not yet happened as more than a year later revisions to the ABI
are still onging.The reality however is that people are shipping topology files in
production and these ABI changes are causing practical issues for users
and we can't break userspace. This makes this error pointless so we
should remove it.Signed-off-by: Mark Brown
Acked-by: Vinod Koul
01 Oct, 2016
1 commit
-
ASoC: Updates for v4.9
Apart from the cleanups done by Morimoto-san this has very much been a
driver focused release with very little generic change:- A big factoring out of the simple-card code to allow it to be shared
more with the rcar generic card from Kuninori Morimoto.
- Removal of some operations duplicated on the CODEC level, again by
Kuninori Morimoto.
- Lots more machine support for x86 systems.
- New drivers for Nuvoton NAU88C10, Realtek RT5660 and RT5663.
30 Sep, 2016
1 commit
-
…opic/tlv320aic31xx', 'asoc/topic/tlv320dac33' and 'asoc/topic/topology' into asoc-next
26 Sep, 2016
1 commit
-
In commit bf1d1c9b6179 ("ALSA: tlv: add DECLARE_TLV_DB_RANGE()"), the new
macro was added so that "dB range information can be specified without
having to count the items manually for TLV_DB_RANGE_HEAD()". In short,
TLV_DB_RANGE_HEAD macro was obsoleted.In commit 46e860f76804 ("ALSA: rename TLV-related macros so that they're
friendly to user applications"), TLV-related macros are exposed for
applications in user land to get content of data structured by
Type/Length/Value shape. The commit managed to expose TLV-related macros
as many as possible, while obsoleted TLV_DB_RANGE_HEAD() was included to
the list of exposed macros.This situation brings some confusions to application developers because
they might think all exposed macros have their own purpose and useful for
applications.For the reason, this commit moves TLV_DB_RANGE_HEAD macro from UAPI header
to a header for kernel land, again. The above commit is done within the
same development period for kernel 4.9, thus not published yet. This
commit might certainly brings no confusions to user land.Reference: commit bf1d1c9b6179 ("ALSA: tlv: add DECLARE_TLV_DB_RANGE()")
Reference: commit 46e860f76804 ("ALSA: rename TLV-related macros so that they're friendly to user applications")
Signed-off-by: Takashi Sakamoto
Signed-off-by: Takashi Iwai
20 Sep, 2016
1 commit
-
We must do it this way, because e.g. POD X3 won't play any sound unless
the host listens on the bulk EP, so we cannot export it only via libusb.The driver currently doesn't use the bulk EP messages in other way,
in future it could e.g. sense/modify volume(s).Signed-off-by: Andrej Krutak
Signed-off-by: Takashi Iwai
15 Sep, 2016
2 commits
-
In a previous commit, some macros newly appeared to UAPI header for TLV
packet. These macros have short names and they easily bring name conflist
to applications. The conflict can be avoided to rename them with a proper
prefix.For this purpose, this commit renames these macros with prefix
'SNDRV_CTL_TLVD_'.Signed-off-by: Takashi Sakamoto
Signed-off-by: Takashi Iwai -
In ALSA control interface, each element set can have threshold level
information. This information is transferred between drivers/applications,
in a shape of tlv packet. The layout of this packet is defined in
'uapi/sound/asound.h' (struct snd_ctl_tlv):struct snd_ctl_tlv {
unsigned int numid;
unsigned int length;
unsigned int tlv[0];
};Data in the payload (struct snd_ctl_tlv.tlv) is expected to be filled
according to our own protocol. This protocol is described in
'include/sound/tlv.h'. A layout of the payload is expected as:struct snd_ctl_tlv.tlv[0]: one of SNDRV_CTL_TLVT_XXX
struct snd_ctl_tlv.tlv[1]: Length of data
struct snd_ctl_tlv.tlv[2...]: dataUnfortunately, the macro is not exported to user land yet, thus
applications cannot get to know the protocol.Additionally, ALSA control core has a feature called as 'user-defined'
element set. This allows applications to add/remove arbitrary element sets
with elements to control devices. Elements in the element set can be
operated by the same way as the ones added by in-kernel implementation.For threshold level information of 'user-defined' element set, applications
need to register the information to an element set. However, as described
above, layout of the payload is closed in kernel land. This is quite
inconvenient, too.This commit moves the protocol to UAPI header for TLV.
Signed-off-by: Takashi Sakamoto
Signed-off-by: Takashi Iwai
23 Aug, 2016
3 commits
-
Topology manifest has lib names and lib count info. So,
define tokens to represent module private data and parse
these tokens to fill up the manifest structure in the driver
accordingly.Signed-off-by: Shreyas NC
Signed-off-by: Vinod Koul
Signed-off-by: Mark Brown -
Kernel struct snd_soc_pcm_stream, SoC PCM stream information, needs this
field. Although current topology users don't configure this, we define it
for future extension.Signed-off-by: Mengdong Lin
Signed-off-by: Mark Brown -
With recent topology changes in alsa-lib, driver data for
modules can now be passed in topology conf file using tuples.This patch defines vendor specific tokens to describe private
data with tuples.The allowed token types are UUID, string, bool, byte, short and
word. These tokens will be referenced by the vendor tuples in
the conf file.In the topology conf file, multiple data blocks can be defined
for a widget which can be either tuple vendor array or blob. So,
each data block will be preceded by a descriptor to identify
size and type of block. These descriptors will be token
value pairs.Tokens for module_id and loadable flag are not defined as these
are read from the DSP FW manifest.Signed-off-by: Shreyas NC
Signed-off-by: Vinod Koul
Signed-off-by: Mark Brown
08 Aug, 2016
1 commit
-
Define the type and ABI struct for Backend DAIs. Add the number of BE DAIs
to manifest, and some reserved fields for future extensions.Pump the version number to 5.
Topology core will check size of ABI objects to detect version mismatch
between user space and kernel.Signed-off-by: Guneshwor Singh
Signed-off-by: Mengdong Lin
Signed-off-by: Mark Brown
31 May, 2016
1 commit
-
include/uapi/sound/Kbuild was missing the inclusion of three header
files in that directory.Signed-off-by: Robert P. J. Day
Signed-off-by: Takashi Iwai
27 May, 2016
1 commit
-
…/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.
25 Apr, 2016
1 commit
-
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
Signed-off-by: Takashi Iwai
21 Apr, 2016
1 commit
-
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
Signed-off-by: Mark Brown
30 Mar, 2016
1 commit
-
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
Signed-off-by: Mark Brown
08 Mar, 2016
1 commit
-
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
Acked-by: Clemens Ladisch
Signed-off-by: Takashi Iwai
04 Mar, 2016
1 commit
-
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
Signed-off-by: Takashi Iwai
01 Mar, 2016
1 commit
-
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
23 Dec, 2015
2 commits
-
…topic/wm8903' and 'asoc/topic/wm8904' into asoc-next
-
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
Acked-by: Vinod Koul
Signed-off-by: Mark Brown
16 Nov, 2015
1 commit
-
This field is the number of PCM objects (a pair of FE DAI and DAI link).
Signed-off-by: Lin Mengdong
Signed-off-by: Mark Brown
26 Oct, 2015
1 commit
-
…ie/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
15 Oct, 2015
2 commits
-
Kernel headers should use linux/types.h based definitions.
Signed-off-by: Mikko Rapeli
Signed-off-by: Takashi Iwai -
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 in message
and Takashi Iwai
in message on lkml.Signed-off-by: Mikko Rapeli
Signed-off-by: Takashi Iwai
03 Oct, 2015
9 commits
-
These two fields are line parameters for BE/CC links and
should not be from toplogy but from ACPI.Signed-off-by: Mengdong Lin
Signed-off-by: Mark Brown -
struct snd_soc_tplg_link_config is defined to configure BE & CC links.
Signed-off-by: Vedang Patel
Signed-off-by: Mengdong Lin
Signed-off-by: Mark Brown -
Define the topology type for BE DAI link: SND_SOC_TPLG_TYPE_BACKEND_LINK.
Signed-off-by: Vedang Patel
Signed-off-by: Mengdong Lin
Signed-off-by: Mark Brown -
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
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
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
Signed-off-by: Mengdong Lin
Signed-off-by: Mark Brown -
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
Signed-off-by: Mengdong Lin
Signed-off-by: Mark Brown -
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
Signed-off-by: Mengdong Lin
Signed-off-by: Mark Brown -
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
Signed-off-by: Mengdong Lin
Signed-off-by: Mark Brown -
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
Signed-off-by: Takashi Iwai
30 Sep, 2015
2 commits
-
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
- 0x00009022The 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
Signed-off-by: Takashi Iwai -
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
Signed-off-by: Takashi Iwai
20 Aug, 2015
1 commit
-
…nel/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.
19 Aug, 2015
1 commit
-
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
06 Aug, 2015
1 commit
-
Add ID for standalone private data object types and bump ABI version to
3 in order to userpsace features.Signed-off-by: Liam Girdwood
Signed-off-by: Mark Brown