ASoC: Updates for v6.10 This is a very big update, in large part due to extensive work the Intel people have been doing in their drivers though it's also been busy elsewhere. There's also a big overhaul of the DAPM documentation from Luca Ceresoli arising from the work he did putting together his recent ELC talk, and he also contributed a new tool for visualising the DAPM state. - A new tool dapm-graph for visualising the DAPM state. - Substantial fixes and clarifications for the DAPM documentation. - Very large updates throughout the Intel audio drivers. - Cleanups of accessors for driver data, module labelling, and for constification. - Modernsation and cleanup work in the Mediatek drivers. - Several fixes and features for the DaVinci I2S driver. - New drivers for several AMD and Intel platforms, Nuvoton NAU8325, Rockchip RK3308 and Texas Instruments PCM6240.
Showing the changes to include/uapi (4 of 1365 files). Show all
Unified · Split
| @@ -57,7 +57,7 @@ enum vdpa_attr { · 56 unmodified lines | ||
| 57 | 57 | VDPA_ATTR_DEV_FEATURES, /* u64 */ |
| 58 | 58 | |
| 59 | 59 | VDPA_ATTR_DEV_BLK_CFG_CAPACITY, /* u64 */ |
| 60 | − VDPA_ATTR_DEV_BLK_CFG_SEG_SIZE, /* u32 */ | |
| 60 | + VDPA_ATTR_DEV_BLK_CFG_SIZE_MAX, /* u32 */ | |
| 61 | 61 | VDPA_ATTR_DEV_BLK_CFG_BLK_SIZE, /* u32 */ |
| 62 | 62 | VDPA_ATTR_DEV_BLK_CFG_SEG_MAX, /* u32 */ |
| 63 | 63 | VDPA_ATTR_DEV_BLK_CFG_NUM_QUEUES, /* u16 */ |
| @@ -70,8 +70,8 @@ enum vdpa_attr { · 6 unmodified lines | ||
| 70 | 70 | VDPA_ATTR_DEV_BLK_CFG_DISCARD_SEC_ALIGN,/* u32 */ |
| 71 | 71 | VDPA_ATTR_DEV_BLK_CFG_MAX_WRITE_ZEROES_SEC, /* u32 */ |
| 72 | 72 | VDPA_ATTR_DEV_BLK_CFG_MAX_WRITE_ZEROES_SEG, /* u32 */ |
| 73 | − VDPA_ATTR_DEV_BLK_CFG_READ_ONLY, /* u8 */ | |
| 74 | − VDPA_ATTR_DEV_BLK_CFG_FLUSH, /* u8 */ | |
| 73 | + VDPA_ATTR_DEV_BLK_READ_ONLY, /* u8 */ | |
| 74 | + VDPA_ATTR_DEV_BLK_FLUSH, /* u8 */ | |
| 75 | 75 | |
| 76 | 76 | /* new attributes must be added above here */ |
| 77 | 77 | VDPA_ATTR_MAX, |
| @@ -179,12 +179,6 @@ · 178 unmodified lines | ||
| 179 | 179 | /* Get the config size */ |
| 180 | 180 | #define VHOST_VDPA_GET_CONFIG_SIZE _IOR(VHOST_VIRTIO, 0x79, __u32) |
| 181 | 181 | |
| 182 | −/* Get the count of all virtqueues */ | |
| 183 | −#define VHOST_VDPA_GET_VQS_COUNT _IOR(VHOST_VIRTIO, 0x80, __u32) | |
| 184 | − | |
| 185 | −/* Get the number of virtqueue groups. */ | |
| 186 | −#define VHOST_VDPA_GET_GROUP_NUM _IOR(VHOST_VIRTIO, 0x81, __u32) | |
| 187 | − | |
| 188 | 182 | /* Get the number of address spaces. */ |
| 189 | 183 | #define VHOST_VDPA_GET_AS_NUM _IOR(VHOST_VIRTIO, 0x7A, unsigned int) |
| 190 | 184 | |
| @@ -228,10 +222,17 @@ · 37 unmodified lines | ||
| 228 | 222 | #define VHOST_VDPA_GET_VRING_DESC_GROUP _IOWR(VHOST_VIRTIO, 0x7F, \ |
| 229 | 223 | struct vhost_vring_state) |
| 230 | 224 | |
| 225 | + | |
| 226 | +/* Get the count of all virtqueues */ | |
| 227 | +#define VHOST_VDPA_GET_VQS_COUNT _IOR(VHOST_VIRTIO, 0x80, __u32) | |
| 228 | + | |
| 229 | +/* Get the number of virtqueue groups. */ | |
| 230 | +#define VHOST_VDPA_GET_GROUP_NUM _IOR(VHOST_VIRTIO, 0x81, __u32) | |
| 231 | + | |
| 231 | 232 | /* Get the queue size of a specific virtqueue. |
| 232 | 233 | * userspace set the vring index in vhost_vring_state.index |
| 233 | 234 | * kernel set the queue size in vhost_vring_state.num |
| 234 | 235 | */ |
| 235 | −#define VHOST_VDPA_GET_VRING_SIZE _IOWR(VHOST_VIRTIO, 0x80, \ | |
| 236 | +#define VHOST_VDPA_GET_VRING_SIZE _IOWR(VHOST_VIRTIO, 0x82, \ | |
| 236 | 237 | struct vhost_vring_state) |
| 237 | 238 | #endif |
| @@ -576,60 +576,4 @@ struct snd_soc_tplg_dai { · 575 unmodified lines | ||
| 576 | 576 | struct snd_soc_tplg_private priv; |
| 577 | 577 | } __attribute__((packed)); |
| 578 | 578 | |
| 579 | −/* | |
| 580 | − * Old version of ABI structs, supported for backward compatibility. | |
| 581 | − */ | |
| 582 | − | |
| 583 | −/* Manifest v4 */ | |
| 584 | −struct snd_soc_tplg_manifest_v4 { | |
| 585 | − __le32 size; /* in bytes of this structure */ | |
| 586 | − __le32 control_elems; /* number of control elements */ | |
| 587 | − __le32 widget_elems; /* number of widget elements */ | |
| 588 | − __le32 graph_elems; /* number of graph elements */ | |
| 589 | − __le32 pcm_elems; /* number of PCM elements */ | |
| 590 | − __le32 dai_link_elems; /* number of DAI link elements */ | |
| 591 | − struct snd_soc_tplg_private priv; | |
| 592 | −} __packed; | |
| 593 | − | |
| 594 | −/* Stream Capabilities v4 */ | |
| 595 | −struct snd_soc_tplg_stream_caps_v4 { | |
| 596 | − __le32 size; /* in bytes of this structure */ | |
| 597 | − char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; | |
| 598 | − __le64 formats; /* supported formats SNDRV_PCM_FMTBIT_* */ | |
| 599 | − __le32 rates; /* supported rates SNDRV_PCM_RATE_* */ | |
| 600 | − __le32 rate_min; /* min rate */ | |
| 601 | − __le32 rate_max; /* max rate */ | |
| 602 | − __le32 channels_min; /* min channels */ | |
| 603 | − __le32 channels_max; /* max channels */ | |
| 604 | − __le32 periods_min; /* min number of periods */ | |
| 605 | − __le32 periods_max; /* max number of periods */ | |
| 606 | − __le32 period_size_min; /* min period size bytes */ | |
| 607 | − __le32 period_size_max; /* max period size bytes */ | |
| 608 | − __le32 buffer_size_min; /* min buffer size bytes */ | |
| 609 | − __le32 buffer_size_max; /* max buffer size bytes */ | |
| 610 | −} __packed; | |
| 611 | − | |
| 612 | −/* PCM v4 */ | |
| 613 | −struct snd_soc_tplg_pcm_v4 { | |
| 614 | − __le32 size; /* in bytes of this structure */ | |
| 615 | − char pcm_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; | |
| 616 | − char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; | |
| 617 | − __le32 pcm_id; /* unique ID - used to match with DAI link */ | |
| 618 | − __le32 dai_id; /* unique ID - used to match */ | |
| 619 | − __le32 playback; /* supports playback mode */ | |
| 620 | − __le32 capture; /* supports capture mode */ | |
| 621 | − __le32 compress; /* 1 = compressed; 0 = PCM */ | |
| 622 | − struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* for DAI link */ | |
| 623 | − __le32 num_streams; /* number of streams */ | |
| 624 | − struct snd_soc_tplg_stream_caps_v4 caps[2]; /* playback and capture for DAI */ | |
| 625 | −} __packed; | |
| 626 | − | |
| 627 | −/* Physical link config v4 */ | |
| 628 | −struct snd_soc_tplg_link_config_v4 { | |
| 629 | − __le32 size; /* in bytes of this structure */ | |
| 630 | − __le32 id; /* unique ID - used to match */ | |
| 631 | − struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* supported configs playback and captrure */ | |
| 632 | − __le32 num_streams; /* number of streams */ | |
| 633 | −} __packed; | |
| 634 | − | |
| 635 | 579 | #endif |
| @@ -165,78 +165,4 @@ enum skl_tuple_type { · 164 unmodified lines | ||
| 165 | 165 | SKL_TYPE_DATA |
| 166 | 166 | }; |
| 167 | 167 | |
| 168 | −/* v4 configuration data */ | |
| 169 | − | |
| 170 | −struct skl_dfw_v4_module_pin { | |
| 171 | − __u16 module_id; | |
| 172 | − __u16 instance_id; | |
| 173 | −} __packed; | |
| 174 | − | |
| 175 | −struct skl_dfw_v4_module_fmt { | |
| 176 | − __u32 channels; | |
| 177 | − __u32 freq; | |
| 178 | − __u32 bit_depth; | |
| 179 | − __u32 valid_bit_depth; | |
| 180 | − __u32 ch_cfg; | |
| 181 | − __u32 interleaving_style; | |
| 182 | − __u32 sample_type; | |
| 183 | − __u32 ch_map; | |
| 184 | −} __packed; | |
| 185 | − | |
| 186 | −struct skl_dfw_v4_module_caps { | |
| 187 | − __u32 set_params:2; | |
| 188 | − __u32 rsvd:30; | |
| 189 | − __u32 param_id; | |
| 190 | − __u32 caps_size; | |
| 191 | − __u32 caps[HDA_SST_CFG_MAX]; | |
| 192 | −} __packed; | |
| 193 | − | |
| 194 | −struct skl_dfw_v4_pipe { | |
| 195 | − __u8 pipe_id; | |
| 196 | − __u8 pipe_priority; | |
| 197 | − __u16 conn_type:4; | |
| 198 | − __u16 rsvd:4; | |
| 199 | − __u16 memory_pages:8; | |
| 200 | −} __packed; | |
| 201 | − | |
| 202 | −struct skl_dfw_v4_module { | |
| 203 | − char uuid[SKL_UUID_STR_SZ]; | |
| 204 | − | |
| 205 | − __u16 module_id; | |
| 206 | − __u16 instance_id; | |
| 207 | − __u32 max_mcps; | |
| 208 | − __u32 mem_pages; | |
| 209 | − __u32 obs; | |
| 210 | − __u32 ibs; | |
| 211 | − __u32 vbus_id; | |
| 212 | − | |
| 213 | − __u32 max_in_queue:8; | |
| 214 | − __u32 max_out_queue:8; | |
| 215 | − __u32 time_slot:8; | |
| 216 | − __u32 core_id:4; | |
| 217 | − __u32 rsvd1:4; | |
| 218 | − | |
| 219 | − __u32 module_type:8; | |
| 220 | − __u32 conn_type:4; | |
| 221 | − __u32 dev_type:4; | |
| 222 | − __u32 hw_conn_type:4; | |
| 223 | − __u32 rsvd2:12; | |
| 224 | − | |
| 225 | − __u32 params_fixup:8; | |
| 226 | − __u32 converter:8; | |
| 227 | − __u32 input_pin_type:1; | |
| 228 | − __u32 output_pin_type:1; | |
| 229 | − __u32 is_dynamic_in_pin:1; | |
| 230 | − __u32 is_dynamic_out_pin:1; | |
| 231 | − __u32 is_loadable:1; | |
| 232 | − __u32 rsvd3:11; | |
| 233 | − | |
| 234 | − struct skl_dfw_v4_pipe pipe; | |
| 235 | − struct skl_dfw_v4_module_fmt in_fmt[MAX_IN_QUEUE]; | |
| 236 | − struct skl_dfw_v4_module_fmt out_fmt[MAX_OUT_QUEUE]; | |
| 237 | − struct skl_dfw_v4_module_pin in_pin[MAX_IN_QUEUE]; | |
| 238 | − struct skl_dfw_v4_module_pin out_pin[MAX_OUT_QUEUE]; | |
| 239 | − struct skl_dfw_v4_module_caps caps; | |
| 240 | −} __packed; | |
| 241 | − | |
| 242 | 168 | #endif |