Loading asoc/msm-dai-q6-v2.c +17 −5 Original line number Diff line number Diff line Loading @@ -9339,13 +9339,18 @@ static unsigned int tdm_param_set_slot_mask(u16 *slot_offset, int slot_width, unsigned int slot_index = 0; unsigned long slot_mask = 0; unsigned int slot_width_bytes = slot_width / 8; unsigned int channel_count = AFE_PORT_MAX_AUDIO_CHAN_CNT; if (q6core_get_avcs_api_version_per_service( APRV2_IDS_SERVICE_ID_ADSP_AFE_V) >= AFE_API_VERSION_V3) channel_count = AFE_PORT_MAX_AUDIO_CHAN_CNT_V2; if (slot_width_bytes == 0) { pr_err("%s: slot width is zero\n", __func__); return slot_mask; } for (i = 0; i < AFE_PORT_MAX_AUDIO_CHAN_CNT; i++) { for (i = 0; i < channel_count; i++) { if (slot_offset[i] != AFE_SLOT_MAPPING_OFFSET_INVALID) { slot_index = slot_offset[i] / slot_width_bytes; if (slot_index < slots_per_frame) Loading Loading @@ -9467,6 +9472,13 @@ static int msm_dai_q6_tdm_hw_params(struct snd_pcm_substream *substream, */ tdm->nslots_per_frame = tdm_group->nslots_per_frame; tdm->slot_width = tdm_group->slot_width; if (q6core_get_avcs_api_version_per_service( APRV2_IDS_SERVICE_ID_ADSP_AFE_V) >= AFE_API_VERSION_V3) tdm->slot_mask = tdm_param_set_slot_mask( slot_mapping_v2->offset, tdm_group->slot_width, tdm_group->nslots_per_frame); else tdm->slot_mask = tdm_param_set_slot_mask(slot_mapping->offset, tdm_group->slot_width, tdm_group->nslots_per_frame); Loading Loading
asoc/msm-dai-q6-v2.c +17 −5 Original line number Diff line number Diff line Loading @@ -9339,13 +9339,18 @@ static unsigned int tdm_param_set_slot_mask(u16 *slot_offset, int slot_width, unsigned int slot_index = 0; unsigned long slot_mask = 0; unsigned int slot_width_bytes = slot_width / 8; unsigned int channel_count = AFE_PORT_MAX_AUDIO_CHAN_CNT; if (q6core_get_avcs_api_version_per_service( APRV2_IDS_SERVICE_ID_ADSP_AFE_V) >= AFE_API_VERSION_V3) channel_count = AFE_PORT_MAX_AUDIO_CHAN_CNT_V2; if (slot_width_bytes == 0) { pr_err("%s: slot width is zero\n", __func__); return slot_mask; } for (i = 0; i < AFE_PORT_MAX_AUDIO_CHAN_CNT; i++) { for (i = 0; i < channel_count; i++) { if (slot_offset[i] != AFE_SLOT_MAPPING_OFFSET_INVALID) { slot_index = slot_offset[i] / slot_width_bytes; if (slot_index < slots_per_frame) Loading Loading @@ -9467,6 +9472,13 @@ static int msm_dai_q6_tdm_hw_params(struct snd_pcm_substream *substream, */ tdm->nslots_per_frame = tdm_group->nslots_per_frame; tdm->slot_width = tdm_group->slot_width; if (q6core_get_avcs_api_version_per_service( APRV2_IDS_SERVICE_ID_ADSP_AFE_V) >= AFE_API_VERSION_V3) tdm->slot_mask = tdm_param_set_slot_mask( slot_mapping_v2->offset, tdm_group->slot_width, tdm_group->nslots_per_frame); else tdm->slot_mask = tdm_param_set_slot_mask(slot_mapping->offset, tdm_group->slot_width, tdm_group->nslots_per_frame); Loading