Loading include/sound/apr_audio-v2.h +10 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,8 @@ struct param_outband { #define ADM_MATRIX_ID_AUDIO_TX 1 #define ADM_MATRIX_ID_COMPRESSED_AUDIO_RX 2 #define ADM_MATRIX_ID_LISTEN_TX 4 /* Enumeration for an audio Tx matrix ID.*/ #define ADM_MATRIX_ID_AUDIOX 1 Loading Loading @@ -8350,6 +8352,7 @@ struct asm_dts_eagle_param_get { #define LSM_SESSION_EVENT_DETECTION_STATUS_V2 (0x00012B01) #define LSM_DATA_EVENT_READ_DONE (0x00012B02) #define LSM_DATA_EVENT_STATUS (0x00012B03) #define LSM_SESSION_EVENT_DETECTION_STATUS_V3 (0x00012B04) #define LSM_MODULE_ID_VOICE_WAKEUP (0x00012C00) #define LSM_PARAM_ID_ENDPOINT_DETECT_THRESHOLD (0x00012C01) Loading @@ -8362,6 +8365,12 @@ struct asm_dts_eagle_param_get { #define LSM_PARAM_ID_LAB_ENABLE (0x00012C09) #define LSM_PARAM_ID_LAB_CONFIG (0x00012C0A) #define LSM_MODULE_ID_FRAMEWORK (0x00012C0E) #define LSM_PARAM_ID_SWMAD_CFG (0x00012C18) #define LSM_PARAM_ID_SWMAD_MODEL (0x00012C19) #define LSM_PARAM_ID_SWMAD_ENABLE (0x00012C1A) #define LSM_PARAM_ID_POLLING_ENABLE (0x00012C1B) #define LSM_PARAM_ID_MEDIA_FMT (0x00012C1E) #define LSM_PARAM_ID_FWK_MODE_CONFIG (0x00012C27) /* HW MAD specific */ #define AFE_MODULE_HW_MAD (0x00010230) Loading Loading @@ -9451,6 +9460,7 @@ enum { LEGACY_PCM = 0, COMPRESSED_PASSTHROUGH, COMPRESSED_PASSTHROUGH_CONVERT, LISTEN, }; #define AUDPROC_MODULE_ID_COMPRESSED_MUTE 0x00010770 Loading include/sound/q6adm-v2.h +1 −1 Original line number Diff line number Diff line Loading @@ -96,7 +96,7 @@ int adm_unmap_rtac_block(uint32_t *mem_map_handle); int adm_close(int port, int topology, int perf_mode); int adm_matrix_map(int path, struct route_payload payload_map, int perf_mode); int perf_mode, uint32_t passthr_mode); int adm_connect_afe_port(int mode, int session_id, int port_id); Loading include/sound/q6lsm.h +64 −6 Original line number Diff line number Diff line /* * Copyright (c) 2013-2015, Linux Foundation. All rights reserved. * Copyright (c) 2013-2016, Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading @@ -21,6 +21,10 @@ #define MAX_NUM_CONFIDENCE 20 #define ADM_LSM_PORT_ID 0xADCB #define LSM_MAX_NUM_CHANNELS 8 typedef void (*lsm_app_cb)(uint32_t opcode, uint32_t token, uint32_t *payload, void *priv); Loading Loading @@ -49,11 +53,12 @@ struct lsm_lab_buffer { uint32_t mem_map_handle; }; struct lsm_lab_hw_params { struct lsm_hw_params { u16 sample_rate; u16 sample_size; u32 buf_sz; u32 period_count; u16 num_chs; }; struct lsm_client { Loading @@ -79,8 +84,12 @@ struct lsm_client { bool lab_enable; bool lab_started; struct lsm_lab_buffer *lab_buffer; struct lsm_lab_hw_params hw_params; struct lsm_hw_params hw_params; bool use_topology; int session_state; bool poll_enable; int perf_mode; uint32_t event_mode; }; struct lsm_stream_cmd_open_tx { Loading Loading @@ -134,6 +143,27 @@ struct lsm_param_connect_to_port { uint16_t reserved; } __packed; struct lsm_param_poll_enable { struct lsm_param_payload_common common; uint32_t minor_version; /* indicates to voice wakeup that HW MAD/SW polling is enabled or not */ uint32_t polling_enable; } __packed; struct lsm_param_fwk_mode_cfg { struct lsm_param_payload_common common; uint32_t minor_version; uint32_t mode; } __packed; struct lsm_param_media_fmt { struct lsm_param_payload_common common; uint32_t minor_version; uint32_t sample_rate; uint16_t num_channels; uint16_t bit_width; uint8_t channel_mapping[LSM_MAX_NUM_CHANNELS]; } __packed; /* * This param cannot be sent in this format. Loading Loading @@ -163,13 +193,24 @@ struct lsm_cmd_set_params_conf { struct lsm_param_min_confidence_levels conf_payload; } __packed; struct lsm_cmd_set_opmode_connectport { struct lsm_cmd_set_params_opmode { struct apr_hdr msg_hdr; struct lsm_set_params_hdr params_hdr; struct lsm_param_connect_to_port connect_to_port; struct lsm_param_op_mode op_mode; } __packed; struct lsm_cmd_set_connectport { struct apr_hdr msg_hdr; struct lsm_set_params_hdr params_hdr; struct lsm_param_connect_to_port connect_to_port; } __packed; struct lsm_cmd_poll_enable { struct apr_hdr msg_hdr; struct lsm_set_params_hdr params_hdr; struct lsm_param_poll_enable poll_enable; } __packed; struct lsm_param_epd_thres { struct lsm_param_payload_common common; uint32_t minor_version; Loading Loading @@ -250,6 +291,19 @@ struct lsm_cmd_read_done { uint32_t flags; } __packed; struct lsm_cmd_set_fwk_mode_cfg { struct apr_hdr msg_hdr; struct lsm_set_params_hdr params_hdr; struct lsm_param_fwk_mode_cfg fwk_mode_cfg; } __packed; struct lsm_cmd_set_media_fmt { struct apr_hdr msg_hdr; struct lsm_set_params_hdr params_hdr; struct lsm_param_media_fmt media_fmt; } __packed; struct lsm_client *q6lsm_client_alloc(lsm_app_cb cb, void *priv); void q6lsm_client_free(struct lsm_client *client); int q6lsm_open(struct lsm_client *client, uint16_t app_id); Loading Loading @@ -278,4 +332,8 @@ int q6lsm_set_one_param(struct lsm_client *client, void q6lsm_sm_set_param_data(struct lsm_client *client, struct lsm_params_info *p_info, size_t *offset); int q6lsm_set_port_connected(struct lsm_client *client); int q6lsm_polling_enable(struct lsm_client *client, bool poll_enable); int q6lsm_set_fwk_mode_cfg(struct lsm_client *client, uint32_t event_mode); int q6lsm_set_media_fmt_params(struct lsm_client *client); #endif /* __Q6LSM_H__ */ sound/soc/msm/msm-dai-fe.c +48 −32 Original line number Diff line number Diff line Loading @@ -2127,12 +2127,14 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .capture = { .stream_name = "Listen 1 Audio Service Capture", .aif_name = "LSM1_UL_HL", .rates = SNDRV_PCM_RATE_16000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .rates = (SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_48000), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE), .channels_min = 1, .channels_max = 1, .channels_max = 4, .rate_min = 16000, .rate_max = 16000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "LSM1", Loading @@ -2142,12 +2144,14 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .capture = { .stream_name = "Listen 2 Audio Service Capture", .aif_name = "LSM2_UL_HL", .rates = SNDRV_PCM_RATE_16000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .rates = (SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_48000), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE), .channels_min = 1, .channels_max = 1, .channels_max = 4, .rate_min = 16000, .rate_max = 16000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "LSM2", Loading @@ -2157,12 +2161,14 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .capture = { .stream_name = "Listen 3 Audio Service Capture", .aif_name = "LSM3_UL_HL", .rates = SNDRV_PCM_RATE_16000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .rates = (SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_48000), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE), .channels_min = 1, .channels_max = 1, .channels_max = 4, .rate_min = 16000, .rate_max = 16000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "LSM3", Loading @@ -2172,12 +2178,14 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .capture = { .stream_name = "Listen 4 Audio Service Capture", .aif_name = "LSM4_UL_HL", .rates = SNDRV_PCM_RATE_16000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .rates = (SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_48000), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE), .channels_min = 1, .channels_max = 1, .channels_max = 4, .rate_min = 16000, .rate_max = 16000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "LSM4", Loading @@ -2187,12 +2195,14 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .capture = { .stream_name = "Listen 5 Audio Service Capture", .aif_name = "LSM5_UL_HL", .rates = SNDRV_PCM_RATE_16000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .rates = (SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_48000), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE), .channels_min = 1, .channels_max = 1, .channels_max = 4, .rate_min = 16000, .rate_max = 16000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "LSM5", Loading @@ -2202,12 +2212,14 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .capture = { .stream_name = "Listen 6 Audio Service Capture", .aif_name = "LSM6_UL_HL", .rates = SNDRV_PCM_RATE_16000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .rates = (SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_48000), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE), .channels_min = 1, .channels_max = 1, .channels_max = 4, .rate_min = 16000, .rate_max = 16000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "LSM6", Loading @@ -2217,12 +2229,14 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .capture = { .stream_name = "Listen 7 Audio Service Capture", .aif_name = "LSM7_UL_HL", .rates = SNDRV_PCM_RATE_16000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .rates = (SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_48000), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE), .channels_min = 1, .channels_max = 1, .channels_max = 4, .rate_min = 16000, .rate_max = 16000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "LSM7", Loading @@ -2232,12 +2246,14 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .capture = { .stream_name = "Listen 8 Audio Service Capture", .aif_name = "LSM8_UL_HL", .rates = SNDRV_PCM_RATE_16000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .rates = (SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_48000), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE), .channels_min = 1, .channels_max = 1, .channels_max = 4, .rate_min = 16000, .rate_max = 16000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "LSM8", Loading Loading
include/sound/apr_audio-v2.h +10 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,8 @@ struct param_outband { #define ADM_MATRIX_ID_AUDIO_TX 1 #define ADM_MATRIX_ID_COMPRESSED_AUDIO_RX 2 #define ADM_MATRIX_ID_LISTEN_TX 4 /* Enumeration for an audio Tx matrix ID.*/ #define ADM_MATRIX_ID_AUDIOX 1 Loading Loading @@ -8350,6 +8352,7 @@ struct asm_dts_eagle_param_get { #define LSM_SESSION_EVENT_DETECTION_STATUS_V2 (0x00012B01) #define LSM_DATA_EVENT_READ_DONE (0x00012B02) #define LSM_DATA_EVENT_STATUS (0x00012B03) #define LSM_SESSION_EVENT_DETECTION_STATUS_V3 (0x00012B04) #define LSM_MODULE_ID_VOICE_WAKEUP (0x00012C00) #define LSM_PARAM_ID_ENDPOINT_DETECT_THRESHOLD (0x00012C01) Loading @@ -8362,6 +8365,12 @@ struct asm_dts_eagle_param_get { #define LSM_PARAM_ID_LAB_ENABLE (0x00012C09) #define LSM_PARAM_ID_LAB_CONFIG (0x00012C0A) #define LSM_MODULE_ID_FRAMEWORK (0x00012C0E) #define LSM_PARAM_ID_SWMAD_CFG (0x00012C18) #define LSM_PARAM_ID_SWMAD_MODEL (0x00012C19) #define LSM_PARAM_ID_SWMAD_ENABLE (0x00012C1A) #define LSM_PARAM_ID_POLLING_ENABLE (0x00012C1B) #define LSM_PARAM_ID_MEDIA_FMT (0x00012C1E) #define LSM_PARAM_ID_FWK_MODE_CONFIG (0x00012C27) /* HW MAD specific */ #define AFE_MODULE_HW_MAD (0x00010230) Loading Loading @@ -9451,6 +9460,7 @@ enum { LEGACY_PCM = 0, COMPRESSED_PASSTHROUGH, COMPRESSED_PASSTHROUGH_CONVERT, LISTEN, }; #define AUDPROC_MODULE_ID_COMPRESSED_MUTE 0x00010770 Loading
include/sound/q6adm-v2.h +1 −1 Original line number Diff line number Diff line Loading @@ -96,7 +96,7 @@ int adm_unmap_rtac_block(uint32_t *mem_map_handle); int adm_close(int port, int topology, int perf_mode); int adm_matrix_map(int path, struct route_payload payload_map, int perf_mode); int perf_mode, uint32_t passthr_mode); int adm_connect_afe_port(int mode, int session_id, int port_id); Loading
include/sound/q6lsm.h +64 −6 Original line number Diff line number Diff line /* * Copyright (c) 2013-2015, Linux Foundation. All rights reserved. * Copyright (c) 2013-2016, Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading @@ -21,6 +21,10 @@ #define MAX_NUM_CONFIDENCE 20 #define ADM_LSM_PORT_ID 0xADCB #define LSM_MAX_NUM_CHANNELS 8 typedef void (*lsm_app_cb)(uint32_t opcode, uint32_t token, uint32_t *payload, void *priv); Loading Loading @@ -49,11 +53,12 @@ struct lsm_lab_buffer { uint32_t mem_map_handle; }; struct lsm_lab_hw_params { struct lsm_hw_params { u16 sample_rate; u16 sample_size; u32 buf_sz; u32 period_count; u16 num_chs; }; struct lsm_client { Loading @@ -79,8 +84,12 @@ struct lsm_client { bool lab_enable; bool lab_started; struct lsm_lab_buffer *lab_buffer; struct lsm_lab_hw_params hw_params; struct lsm_hw_params hw_params; bool use_topology; int session_state; bool poll_enable; int perf_mode; uint32_t event_mode; }; struct lsm_stream_cmd_open_tx { Loading Loading @@ -134,6 +143,27 @@ struct lsm_param_connect_to_port { uint16_t reserved; } __packed; struct lsm_param_poll_enable { struct lsm_param_payload_common common; uint32_t minor_version; /* indicates to voice wakeup that HW MAD/SW polling is enabled or not */ uint32_t polling_enable; } __packed; struct lsm_param_fwk_mode_cfg { struct lsm_param_payload_common common; uint32_t minor_version; uint32_t mode; } __packed; struct lsm_param_media_fmt { struct lsm_param_payload_common common; uint32_t minor_version; uint32_t sample_rate; uint16_t num_channels; uint16_t bit_width; uint8_t channel_mapping[LSM_MAX_NUM_CHANNELS]; } __packed; /* * This param cannot be sent in this format. Loading Loading @@ -163,13 +193,24 @@ struct lsm_cmd_set_params_conf { struct lsm_param_min_confidence_levels conf_payload; } __packed; struct lsm_cmd_set_opmode_connectport { struct lsm_cmd_set_params_opmode { struct apr_hdr msg_hdr; struct lsm_set_params_hdr params_hdr; struct lsm_param_connect_to_port connect_to_port; struct lsm_param_op_mode op_mode; } __packed; struct lsm_cmd_set_connectport { struct apr_hdr msg_hdr; struct lsm_set_params_hdr params_hdr; struct lsm_param_connect_to_port connect_to_port; } __packed; struct lsm_cmd_poll_enable { struct apr_hdr msg_hdr; struct lsm_set_params_hdr params_hdr; struct lsm_param_poll_enable poll_enable; } __packed; struct lsm_param_epd_thres { struct lsm_param_payload_common common; uint32_t minor_version; Loading Loading @@ -250,6 +291,19 @@ struct lsm_cmd_read_done { uint32_t flags; } __packed; struct lsm_cmd_set_fwk_mode_cfg { struct apr_hdr msg_hdr; struct lsm_set_params_hdr params_hdr; struct lsm_param_fwk_mode_cfg fwk_mode_cfg; } __packed; struct lsm_cmd_set_media_fmt { struct apr_hdr msg_hdr; struct lsm_set_params_hdr params_hdr; struct lsm_param_media_fmt media_fmt; } __packed; struct lsm_client *q6lsm_client_alloc(lsm_app_cb cb, void *priv); void q6lsm_client_free(struct lsm_client *client); int q6lsm_open(struct lsm_client *client, uint16_t app_id); Loading Loading @@ -278,4 +332,8 @@ int q6lsm_set_one_param(struct lsm_client *client, void q6lsm_sm_set_param_data(struct lsm_client *client, struct lsm_params_info *p_info, size_t *offset); int q6lsm_set_port_connected(struct lsm_client *client); int q6lsm_polling_enable(struct lsm_client *client, bool poll_enable); int q6lsm_set_fwk_mode_cfg(struct lsm_client *client, uint32_t event_mode); int q6lsm_set_media_fmt_params(struct lsm_client *client); #endif /* __Q6LSM_H__ */
sound/soc/msm/msm-dai-fe.c +48 −32 Original line number Diff line number Diff line Loading @@ -2127,12 +2127,14 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .capture = { .stream_name = "Listen 1 Audio Service Capture", .aif_name = "LSM1_UL_HL", .rates = SNDRV_PCM_RATE_16000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .rates = (SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_48000), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE), .channels_min = 1, .channels_max = 1, .channels_max = 4, .rate_min = 16000, .rate_max = 16000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "LSM1", Loading @@ -2142,12 +2144,14 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .capture = { .stream_name = "Listen 2 Audio Service Capture", .aif_name = "LSM2_UL_HL", .rates = SNDRV_PCM_RATE_16000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .rates = (SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_48000), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE), .channels_min = 1, .channels_max = 1, .channels_max = 4, .rate_min = 16000, .rate_max = 16000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "LSM2", Loading @@ -2157,12 +2161,14 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .capture = { .stream_name = "Listen 3 Audio Service Capture", .aif_name = "LSM3_UL_HL", .rates = SNDRV_PCM_RATE_16000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .rates = (SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_48000), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE), .channels_min = 1, .channels_max = 1, .channels_max = 4, .rate_min = 16000, .rate_max = 16000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "LSM3", Loading @@ -2172,12 +2178,14 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .capture = { .stream_name = "Listen 4 Audio Service Capture", .aif_name = "LSM4_UL_HL", .rates = SNDRV_PCM_RATE_16000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .rates = (SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_48000), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE), .channels_min = 1, .channels_max = 1, .channels_max = 4, .rate_min = 16000, .rate_max = 16000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "LSM4", Loading @@ -2187,12 +2195,14 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .capture = { .stream_name = "Listen 5 Audio Service Capture", .aif_name = "LSM5_UL_HL", .rates = SNDRV_PCM_RATE_16000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .rates = (SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_48000), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE), .channels_min = 1, .channels_max = 1, .channels_max = 4, .rate_min = 16000, .rate_max = 16000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "LSM5", Loading @@ -2202,12 +2212,14 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .capture = { .stream_name = "Listen 6 Audio Service Capture", .aif_name = "LSM6_UL_HL", .rates = SNDRV_PCM_RATE_16000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .rates = (SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_48000), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE), .channels_min = 1, .channels_max = 1, .channels_max = 4, .rate_min = 16000, .rate_max = 16000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "LSM6", Loading @@ -2217,12 +2229,14 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .capture = { .stream_name = "Listen 7 Audio Service Capture", .aif_name = "LSM7_UL_HL", .rates = SNDRV_PCM_RATE_16000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .rates = (SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_48000), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE), .channels_min = 1, .channels_max = 1, .channels_max = 4, .rate_min = 16000, .rate_max = 16000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "LSM7", Loading @@ -2232,12 +2246,14 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .capture = { .stream_name = "Listen 8 Audio Service Capture", .aif_name = "LSM8_UL_HL", .rates = SNDRV_PCM_RATE_16000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .rates = (SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_48000), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE), .channels_min = 1, .channels_max = 1, .channels_max = 4, .rate_min = 16000, .rate_max = 16000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "LSM8", Loading