Loading asoc/msm-dai-q6-v2.c +8 −0 Original line number Diff line number Diff line Loading @@ -2249,6 +2249,10 @@ static int msm_dai_q6_afe_enc_cfg_get(struct snd_kcontrol *kcontrol, sizeof(struct asm_aac_enc_cfg_v2_t)); break; case ENC_FMT_APTX: memcpy(ucontrol->value.bytes.data + format_size, &dai_data->enc_config.data, sizeof(struct asm_aptx_enc_cfg_t)); break; case ENC_FMT_APTX_HD: memcpy(ucontrol->value.bytes.data + format_size, &dai_data->enc_config.data, Loading Loading @@ -2298,6 +2302,10 @@ static int msm_dai_q6_afe_enc_cfg_put(struct snd_kcontrol *kcontrol, sizeof(struct asm_aac_enc_cfg_v2_t)); break; case ENC_FMT_APTX: memcpy(&dai_data->enc_config.data, ucontrol->value.bytes.data + format_size, sizeof(struct asm_aptx_enc_cfg_t)); break; case ENC_FMT_APTX_HD: memcpy(&dai_data->enc_config.data, ucontrol->value.bytes.data + format_size, Loading dsp/q6afe.c +18 −0 Original line number Diff line number Diff line Loading @@ -2894,6 +2894,24 @@ static int q6afe_send_enc_config(u16 port_id, goto exit; } if (format == ASM_MEDIA_FMT_APTX) { config.param.payload_size = payload_size + sizeof(config.port.sync_mode_param); pr_debug("%s: sending AFE_PARAM_ID_APTX_SYNC_MODE to DSP", __func__); config.pdata.param_id = AFE_PARAM_ID_APTX_SYNC_MODE; config.pdata.param_size = sizeof(config.port.sync_mode_param); config.port.sync_mode_param.sync_mode = config.port.enc_blk_param.enc_blk_config.aptx_config. aptx_v2_cfg.sync_mode; ret = afe_apr_send_pkt(&config, &this_afe.wait[index]); if (ret) { pr_err("%s: AFE_PARAM_ID_APTX_SYNC_MODE for port 0x%x failed %d\n", __func__, port_id, ret); goto exit; } } config.param.payload_size = payload_size + sizeof(config.port.enc_pkt_id_param); pr_debug("%s:sending AFE_ENCODER_PARAM_ID_PACKETIZER to DSP payload = %d", Loading include/dsp/apr_audio-v2.h +27 −0 Original line number Diff line number Diff line Loading @@ -3074,6 +3074,16 @@ struct afe_param_id_set_topology_cfg { u32 topology_id; } __packed; #define AFE_PARAM_ID_APTX_SYNC_MODE 0x00013205 struct afe_param_id_aptx_sync_mode { /* * sync mode: 0x0 = stereo sync mode (default) * 0x01 = dual mono sync mode * 0x02 = dual mono with no sync on either L or R */ uint32_t sync_mode; } __packed; /* * Generic encoder module ID. Loading Loading @@ -3305,6 +3315,21 @@ struct asm_custom_enc_cfg_t { uint8_t channel_mapping[8]; uint32_t custom_size; } __packed; struct asm_aptx_v2_enc_cfg_ext_t { /* * sync mode: 0x0 = stereo sync mode (default) * 0x01 = dual mono sync mode * 0x02 = dual mono with no sync on either L or R */ uint32_t sync_mode; } __packed; struct asm_aptx_enc_cfg_t { struct asm_custom_enc_cfg_t custom_cfg; struct asm_aptx_v2_enc_cfg_ext_t aptx_v2_cfg; } __packed; #define ASM_MEDIA_FMT_CELT 0x00013221 struct asm_celt_specific_enc_cfg_t { /* Loading Loading @@ -3421,6 +3446,7 @@ union afe_enc_config_data { struct asm_aac_enc_cfg_v2_t aac_config; struct asm_custom_enc_cfg_t custom_config; struct asm_celt_enc_cfg_t celt_config; struct asm_aptx_enc_cfg_t aptx_config; }; struct afe_enc_config { Loading Loading @@ -3461,6 +3487,7 @@ union afe_port_config { struct afe_param_id_set_topology_cfg topology; struct afe_param_id_tdm_cfg tdm; struct afe_param_id_usb_audio_cfg usb_audio; struct afe_param_id_aptx_sync_mode sync_mode_param; struct afe_enc_fmt_id_param_t enc_fmt; struct afe_port_media_type_t media_type; struct afe_enc_cfg_blk_param_t enc_blk_param; Loading Loading
asoc/msm-dai-q6-v2.c +8 −0 Original line number Diff line number Diff line Loading @@ -2249,6 +2249,10 @@ static int msm_dai_q6_afe_enc_cfg_get(struct snd_kcontrol *kcontrol, sizeof(struct asm_aac_enc_cfg_v2_t)); break; case ENC_FMT_APTX: memcpy(ucontrol->value.bytes.data + format_size, &dai_data->enc_config.data, sizeof(struct asm_aptx_enc_cfg_t)); break; case ENC_FMT_APTX_HD: memcpy(ucontrol->value.bytes.data + format_size, &dai_data->enc_config.data, Loading Loading @@ -2298,6 +2302,10 @@ static int msm_dai_q6_afe_enc_cfg_put(struct snd_kcontrol *kcontrol, sizeof(struct asm_aac_enc_cfg_v2_t)); break; case ENC_FMT_APTX: memcpy(&dai_data->enc_config.data, ucontrol->value.bytes.data + format_size, sizeof(struct asm_aptx_enc_cfg_t)); break; case ENC_FMT_APTX_HD: memcpy(&dai_data->enc_config.data, ucontrol->value.bytes.data + format_size, Loading
dsp/q6afe.c +18 −0 Original line number Diff line number Diff line Loading @@ -2894,6 +2894,24 @@ static int q6afe_send_enc_config(u16 port_id, goto exit; } if (format == ASM_MEDIA_FMT_APTX) { config.param.payload_size = payload_size + sizeof(config.port.sync_mode_param); pr_debug("%s: sending AFE_PARAM_ID_APTX_SYNC_MODE to DSP", __func__); config.pdata.param_id = AFE_PARAM_ID_APTX_SYNC_MODE; config.pdata.param_size = sizeof(config.port.sync_mode_param); config.port.sync_mode_param.sync_mode = config.port.enc_blk_param.enc_blk_config.aptx_config. aptx_v2_cfg.sync_mode; ret = afe_apr_send_pkt(&config, &this_afe.wait[index]); if (ret) { pr_err("%s: AFE_PARAM_ID_APTX_SYNC_MODE for port 0x%x failed %d\n", __func__, port_id, ret); goto exit; } } config.param.payload_size = payload_size + sizeof(config.port.enc_pkt_id_param); pr_debug("%s:sending AFE_ENCODER_PARAM_ID_PACKETIZER to DSP payload = %d", Loading
include/dsp/apr_audio-v2.h +27 −0 Original line number Diff line number Diff line Loading @@ -3074,6 +3074,16 @@ struct afe_param_id_set_topology_cfg { u32 topology_id; } __packed; #define AFE_PARAM_ID_APTX_SYNC_MODE 0x00013205 struct afe_param_id_aptx_sync_mode { /* * sync mode: 0x0 = stereo sync mode (default) * 0x01 = dual mono sync mode * 0x02 = dual mono with no sync on either L or R */ uint32_t sync_mode; } __packed; /* * Generic encoder module ID. Loading Loading @@ -3305,6 +3315,21 @@ struct asm_custom_enc_cfg_t { uint8_t channel_mapping[8]; uint32_t custom_size; } __packed; struct asm_aptx_v2_enc_cfg_ext_t { /* * sync mode: 0x0 = stereo sync mode (default) * 0x01 = dual mono sync mode * 0x02 = dual mono with no sync on either L or R */ uint32_t sync_mode; } __packed; struct asm_aptx_enc_cfg_t { struct asm_custom_enc_cfg_t custom_cfg; struct asm_aptx_v2_enc_cfg_ext_t aptx_v2_cfg; } __packed; #define ASM_MEDIA_FMT_CELT 0x00013221 struct asm_celt_specific_enc_cfg_t { /* Loading Loading @@ -3421,6 +3446,7 @@ union afe_enc_config_data { struct asm_aac_enc_cfg_v2_t aac_config; struct asm_custom_enc_cfg_t custom_config; struct asm_celt_enc_cfg_t celt_config; struct asm_aptx_enc_cfg_t aptx_config; }; struct afe_enc_config { Loading Loading @@ -3461,6 +3487,7 @@ union afe_port_config { struct afe_param_id_set_topology_cfg topology; struct afe_param_id_tdm_cfg tdm; struct afe_param_id_usb_audio_cfg usb_audio; struct afe_param_id_aptx_sync_mode sync_mode_param; struct afe_enc_fmt_id_param_t enc_fmt; struct afe_port_media_type_t media_type; struct afe_enc_cfg_blk_param_t enc_blk_param; Loading