Merge tag 'asoc-v4.3-rc6' of 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
This commit is contained in:
@@ -323,10 +323,10 @@ enum ovs_key_attr {
|
||||
OVS_KEY_ATTR_MPLS, /* array of struct ovs_key_mpls.
|
||||
* The implementation may restrict
|
||||
* the accepted length of the array. */
|
||||
OVS_KEY_ATTR_CT_STATE, /* u8 bitmask of OVS_CS_F_* */
|
||||
OVS_KEY_ATTR_CT_STATE, /* u32 bitmask of OVS_CS_F_* */
|
||||
OVS_KEY_ATTR_CT_ZONE, /* u16 connection tracking zone. */
|
||||
OVS_KEY_ATTR_CT_MARK, /* u32 connection tracking mark */
|
||||
OVS_KEY_ATTR_CT_LABEL, /* 16-octet connection tracking label */
|
||||
OVS_KEY_ATTR_CT_LABELS, /* 16-octet connection tracking label */
|
||||
|
||||
#ifdef __KERNEL__
|
||||
OVS_KEY_ATTR_TUNNEL_INFO, /* struct ip_tunnel_info */
|
||||
@@ -439,9 +439,9 @@ struct ovs_key_nd {
|
||||
__u8 nd_tll[ETH_ALEN];
|
||||
};
|
||||
|
||||
#define OVS_CT_LABEL_LEN 16
|
||||
struct ovs_key_ct_label {
|
||||
__u8 ct_label[OVS_CT_LABEL_LEN];
|
||||
#define OVS_CT_LABELS_LEN 16
|
||||
struct ovs_key_ct_labels {
|
||||
__u8 ct_labels[OVS_CT_LABELS_LEN];
|
||||
};
|
||||
|
||||
/* OVS_KEY_ATTR_CT_STATE flags */
|
||||
@@ -449,9 +449,9 @@ struct ovs_key_ct_label {
|
||||
#define OVS_CS_F_ESTABLISHED 0x02 /* Part of an existing connection. */
|
||||
#define OVS_CS_F_RELATED 0x04 /* Related to an established
|
||||
* connection. */
|
||||
#define OVS_CS_F_INVALID 0x20 /* Could not track connection. */
|
||||
#define OVS_CS_F_REPLY_DIR 0x40 /* Flow is in the reply direction. */
|
||||
#define OVS_CS_F_TRACKED 0x80 /* Conntrack has occurred. */
|
||||
#define OVS_CS_F_REPLY_DIR 0x08 /* Flow is in the reply direction. */
|
||||
#define OVS_CS_F_INVALID 0x10 /* Could not track connection. */
|
||||
#define OVS_CS_F_TRACKED 0x20 /* Conntrack has occurred. */
|
||||
|
||||
/**
|
||||
* enum ovs_flow_attr - attributes for %OVS_FLOW_* commands.
|
||||
@@ -618,22 +618,24 @@ struct ovs_action_hash {
|
||||
|
||||
/**
|
||||
* enum ovs_ct_attr - Attributes for %OVS_ACTION_ATTR_CT action.
|
||||
* @OVS_CT_ATTR_FLAGS: u32 connection tracking flags.
|
||||
* @OVS_CT_ATTR_COMMIT: If present, commits the connection to the conntrack
|
||||
* table. This allows future packets for the same connection to be identified
|
||||
* as 'established' or 'related'.
|
||||
* @OVS_CT_ATTR_ZONE: u16 connection tracking zone.
|
||||
* @OVS_CT_ATTR_MARK: u32 value followed by u32 mask. For each bit set in the
|
||||
* mask, the corresponding bit in the value is copied to the connection
|
||||
* tracking mark field in the connection.
|
||||
* @OVS_CT_ATTR_LABEL: %OVS_CT_LABEL_LEN value followed by %OVS_CT_LABEL_LEN
|
||||
* @OVS_CT_ATTR_LABEL: %OVS_CT_LABELS_LEN value followed by %OVS_CT_LABELS_LEN
|
||||
* mask. For each bit set in the mask, the corresponding bit in the value is
|
||||
* copied to the connection tracking label field in the connection.
|
||||
* @OVS_CT_ATTR_HELPER: variable length string defining conntrack ALG.
|
||||
*/
|
||||
enum ovs_ct_attr {
|
||||
OVS_CT_ATTR_UNSPEC,
|
||||
OVS_CT_ATTR_FLAGS, /* u8 bitmask of OVS_CT_F_*. */
|
||||
OVS_CT_ATTR_COMMIT, /* No argument, commits connection. */
|
||||
OVS_CT_ATTR_ZONE, /* u16 zone id. */
|
||||
OVS_CT_ATTR_MARK, /* mark to associate with this connection. */
|
||||
OVS_CT_ATTR_LABEL, /* label to associate with this connection. */
|
||||
OVS_CT_ATTR_LABELS, /* labels to associate with this connection. */
|
||||
OVS_CT_ATTR_HELPER, /* netlink helper to assist detection of
|
||||
related connections. */
|
||||
__OVS_CT_ATTR_MAX
|
||||
@@ -641,14 +643,6 @@ enum ovs_ct_attr {
|
||||
|
||||
#define OVS_CT_ATTR_MAX (__OVS_CT_ATTR_MAX - 1)
|
||||
|
||||
/*
|
||||
* OVS_CT_ATTR_FLAGS flags - bitmask of %OVS_CT_F_*
|
||||
* @OVS_CT_F_COMMIT: Commits the flow to the conntrack table. This allows
|
||||
* future packets for the same connection to be identified as 'established'
|
||||
* or 'related'.
|
||||
*/
|
||||
#define OVS_CT_F_COMMIT 0x01
|
||||
|
||||
/**
|
||||
* enum ovs_action_attr - Action types.
|
||||
*
|
||||
@@ -705,7 +699,7 @@ enum ovs_action_attr {
|
||||
* data immediately followed by a mask.
|
||||
* The data must be zero for the unmasked
|
||||
* bits. */
|
||||
OVS_ACTION_ATTR_CT, /* One nested OVS_CT_ATTR_* . */
|
||||
OVS_ACTION_ATTR_CT, /* Nested OVS_CT_ATTR_* . */
|
||||
|
||||
__OVS_ACTION_ATTR_MAX, /* Nothing past this will be accepted
|
||||
* from userspace. */
|
||||
|
||||
@@ -160,7 +160,7 @@ struct rtattr {
|
||||
|
||||
/* Macros to handle rtattributes */
|
||||
|
||||
#define RTA_ALIGNTO 4
|
||||
#define RTA_ALIGNTO 4U
|
||||
#define RTA_ALIGN(len) ( ((len)+RTA_ALIGNTO-1) & ~(RTA_ALIGNTO-1) )
|
||||
#define RTA_OK(rta,len) ((len) >= (int)sizeof(struct rtattr) && \
|
||||
(rta)->rta_len >= sizeof(struct rtattr) && \
|
||||
|
||||
+41
-35
@@ -83,7 +83,7 @@
|
||||
#define SND_SOC_TPLG_NUM_TEXTS 16
|
||||
|
||||
/* ABI version */
|
||||
#define SND_SOC_TPLG_ABI_VERSION 0x3
|
||||
#define SND_SOC_TPLG_ABI_VERSION 0x4
|
||||
|
||||
/* Max size of TLV data */
|
||||
#define SND_SOC_TPLG_TLV_SIZE 32
|
||||
@@ -103,7 +103,8 @@
|
||||
#define SND_SOC_TPLG_TYPE_PCM 7
|
||||
#define SND_SOC_TPLG_TYPE_MANIFEST 8
|
||||
#define SND_SOC_TPLG_TYPE_CODEC_LINK 9
|
||||
#define SND_SOC_TPLG_TYPE_PDATA 10
|
||||
#define SND_SOC_TPLG_TYPE_BACKEND_LINK 10
|
||||
#define SND_SOC_TPLG_TYPE_PDATA 11
|
||||
#define SND_SOC_TPLG_TYPE_MAX SND_SOC_TPLG_TYPE_PDATA
|
||||
|
||||
/* vendor block IDs - please add new vendor types to end */
|
||||
@@ -198,7 +199,7 @@ struct snd_soc_tplg_ctl_hdr {
|
||||
struct snd_soc_tplg_stream_caps {
|
||||
__le32 size; /* in bytes of this structure */
|
||||
char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
|
||||
__le64 formats[SND_SOC_TPLG_MAX_FORMATS]; /* supported formats SNDRV_PCM_FMTBIT_* */
|
||||
__le64 formats; /* supported formats SNDRV_PCM_FMTBIT_* */
|
||||
__le32 rates; /* supported rates SNDRV_PCM_RATE_* */
|
||||
__le32 rate_min; /* min rate */
|
||||
__le32 rate_max; /* max rate */
|
||||
@@ -217,23 +218,12 @@ struct snd_soc_tplg_stream_caps {
|
||||
*/
|
||||
struct snd_soc_tplg_stream {
|
||||
__le32 size; /* in bytes of this structure */
|
||||
char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; /* Name of the stream */
|
||||
__le64 format; /* SNDRV_PCM_FMTBIT_* */
|
||||
__le32 rate; /* SNDRV_PCM_RATE_* */
|
||||
__le32 period_bytes; /* size of period in bytes */
|
||||
__le32 buffer_bytes; /* size of buffer in bytes */
|
||||
__le32 channels; /* channels */
|
||||
__le32 tdm_slot; /* optional BE bitmask of supported TDM slots */
|
||||
__le32 dai_fmt; /* SND_SOC_DAIFMT_ */
|
||||
} __attribute__((packed));
|
||||
|
||||
/*
|
||||
* Duplex stream configuration supported by SW/FW.
|
||||
*/
|
||||
struct snd_soc_tplg_stream_config {
|
||||
__le32 size; /* in bytes of this structure */
|
||||
char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
|
||||
struct snd_soc_tplg_stream playback;
|
||||
struct snd_soc_tplg_stream capture;
|
||||
} __attribute__((packed));
|
||||
|
||||
/*
|
||||
@@ -366,11 +356,11 @@ struct snd_soc_tplg_dapm_widget {
|
||||
__le32 shift; /* bits to shift */
|
||||
__le32 mask; /* non-shifted mask */
|
||||
__le32 subseq; /* sort within widget type */
|
||||
__u32 invert; /* invert the power bit */
|
||||
__u32 ignore_suspend; /* kept enabled over suspend */
|
||||
__u16 event_flags;
|
||||
__u16 event_type;
|
||||
__u16 num_kcontrols;
|
||||
__le32 invert; /* invert the power bit */
|
||||
__le32 ignore_suspend; /* kept enabled over suspend */
|
||||
__le16 event_flags;
|
||||
__le16 event_type;
|
||||
__le32 num_kcontrols;
|
||||
struct snd_soc_tplg_private priv;
|
||||
/*
|
||||
* kcontrols that relate to this widget
|
||||
@@ -378,30 +368,46 @@ struct snd_soc_tplg_dapm_widget {
|
||||
*/
|
||||
} __attribute__((packed));
|
||||
|
||||
struct snd_soc_tplg_pcm_cfg_caps {
|
||||
struct snd_soc_tplg_stream_caps caps;
|
||||
struct snd_soc_tplg_stream_config configs[SND_SOC_TPLG_STREAM_CONFIG_MAX];
|
||||
__le32 num_configs; /* number of configs */
|
||||
} __attribute__((packed));
|
||||
|
||||
/*
|
||||
* Describes SW/FW specific features of PCM or DAI link.
|
||||
* Describes SW/FW specific features of PCM (FE DAI & DAI link).
|
||||
*
|
||||
* File block representation for PCM/DAI-Link :-
|
||||
* File block representation for PCM :-
|
||||
* +-----------------------------------+-----+
|
||||
* | struct snd_soc_tplg_hdr | 1 |
|
||||
* +-----------------------------------+-----+
|
||||
* | struct snd_soc_tplg_dapm_pcm_dai | N |
|
||||
* | struct snd_soc_tplg_pcm | N |
|
||||
* +-----------------------------------+-----+
|
||||
*/
|
||||
struct snd_soc_tplg_pcm_dai {
|
||||
struct snd_soc_tplg_pcm {
|
||||
__le32 size; /* in bytes of this structure */
|
||||
char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
|
||||
__le32 id; /* unique ID - used to match */
|
||||
__le32 playback; /* supports playback mode */
|
||||
__le32 capture; /* supports capture mode */
|
||||
__le32 compress; /* 1 = compressed; 0 = PCM */
|
||||
struct snd_soc_tplg_pcm_cfg_caps capconf[2]; /* capabilities and configs */
|
||||
char pcm_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
|
||||
char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
|
||||
__le32 pcm_id; /* unique ID - used to match */
|
||||
__le32 dai_id; /* unique ID - used to match */
|
||||
__le32 playback; /* supports playback mode */
|
||||
__le32 capture; /* supports capture mode */
|
||||
__le32 compress; /* 1 = compressed; 0 = PCM */
|
||||
struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* for DAI link */
|
||||
__le32 num_streams; /* number of streams */
|
||||
struct snd_soc_tplg_stream_caps caps[2]; /* playback and capture for DAI */
|
||||
} __attribute__((packed));
|
||||
|
||||
|
||||
/*
|
||||
* Describes the BE or CC link runtime supported configs or params
|
||||
*
|
||||
* File block representation for BE/CC link config :-
|
||||
* +-----------------------------------+-----+
|
||||
* | struct snd_soc_tplg_hdr | 1 |
|
||||
* +-----------------------------------+-----+
|
||||
* | struct snd_soc_tplg_link_config | N |
|
||||
* +-----------------------------------+-----+
|
||||
*/
|
||||
struct snd_soc_tplg_link_config {
|
||||
__le32 size; /* in bytes of this structure */
|
||||
__le32 id; /* unique ID - used to match */
|
||||
struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* supported configs playback and captrure */
|
||||
__le32 num_streams; /* number of streams */
|
||||
} __attribute__((packed));
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user