mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-31 22:25:35 -04:00
topology: ABI - Define new types for physical DAI
Define the type and ABI struct for physical DAIs (e.g. backend DAIs). They are new to ABI and so no backward compatibility risk. Signed-off-by: Guneshwor Singh <guneshwor.o.singh@intel.com> Signed-off-by: Mengdong Lin <mengdong.lin@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
527c8a1b19
commit
50c77cdc7f
1 changed files with 30 additions and 1 deletions
|
|
@ -102,7 +102,8 @@
|
||||||
#define SND_SOC_TPLG_TYPE_CODEC_LINK 9
|
#define SND_SOC_TPLG_TYPE_CODEC_LINK 9
|
||||||
#define SND_SOC_TPLG_TYPE_BACKEND_LINK 10
|
#define SND_SOC_TPLG_TYPE_BACKEND_LINK 10
|
||||||
#define SND_SOC_TPLG_TYPE_PDATA 11
|
#define SND_SOC_TPLG_TYPE_PDATA 11
|
||||||
#define SND_SOC_TPLG_TYPE_MAX SND_SOC_TPLG_TYPE_PDATA
|
#define SND_SOC_TPLG_TYPE_DAI 12
|
||||||
|
#define SND_SOC_TPLG_TYPE_MAX SND_SOC_TPLG_TYPE_DAI
|
||||||
|
|
||||||
/* vendor block IDs - please add new vendor types to end */
|
/* vendor block IDs - please add new vendor types to end */
|
||||||
#define SND_SOC_TPLG_TYPE_VENDOR_FW 1000
|
#define SND_SOC_TPLG_TYPE_VENDOR_FW 1000
|
||||||
|
|
@ -121,6 +122,11 @@
|
||||||
#define SND_SOC_TPLG_TUPLE_TYPE_WORD 4
|
#define SND_SOC_TPLG_TUPLE_TYPE_WORD 4
|
||||||
#define SND_SOC_TPLG_TUPLE_TYPE_SHORT 5
|
#define SND_SOC_TPLG_TUPLE_TYPE_SHORT 5
|
||||||
|
|
||||||
|
/* DAI flags */
|
||||||
|
#define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_RATES (1 << 0)
|
||||||
|
#define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_CHANNELS (1 << 1)
|
||||||
|
#define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_SAMPLEBITS (1 << 2)
|
||||||
|
|
||||||
/* DAI physical PCM data formats.
|
/* DAI physical PCM data formats.
|
||||||
* Add new formats to the end of the list.
|
* Add new formats to the end of the list.
|
||||||
*/
|
*/
|
||||||
|
|
@ -510,4 +516,27 @@ struct snd_soc_tplg_link_config {
|
||||||
__le32 flags; /* SND_SOC_TPLG_LNK_FLGBIT_* flag value */
|
__le32 flags; /* SND_SOC_TPLG_LNK_FLGBIT_* flag value */
|
||||||
struct snd_soc_tplg_private priv;
|
struct snd_soc_tplg_private priv;
|
||||||
} __attribute__((packed));
|
} __attribute__((packed));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Describes SW/FW specific features of physical DAI.
|
||||||
|
* It can be used to configure backend DAIs for DPCM.
|
||||||
|
*
|
||||||
|
* File block representation for physical DAI :-
|
||||||
|
* +-----------------------------------+-----+
|
||||||
|
* | struct snd_soc_tplg_hdr | 1 |
|
||||||
|
* +-----------------------------------+-----+
|
||||||
|
* | struct snd_soc_tplg_dai | N |
|
||||||
|
* +-----------------------------------+-----+
|
||||||
|
*/
|
||||||
|
struct snd_soc_tplg_dai {
|
||||||
|
__le32 size; /* in bytes of this structure */
|
||||||
|
char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; /* name - used to match */
|
||||||
|
__le32 dai_id; /* unique ID - used to match */
|
||||||
|
__le32 playback; /* supports playback mode */
|
||||||
|
__le32 capture; /* supports capture mode */
|
||||||
|
struct snd_soc_tplg_stream_caps caps[2]; /* playback and capture for DAI */
|
||||||
|
__le32 flag_mask; /* bitmask of flags to configure */
|
||||||
|
__le32 flags; /* SND_SOC_TPLG_DAI_FLGBIT_* */
|
||||||
|
struct snd_soc_tplg_private priv;
|
||||||
|
} __attribute__((packed));
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue