Re: [PATCH] ASoC: Intel: sof_rt5682: remove SOF_RT1015_SPEAKER_AMP_100FS flag

From: Pierre-Louis Bossart
Date: Wed Sep 28 2022 - 04:40:01 EST




On 9/27/22 15:16, Lu, Brent wrote:
>>> + case SND_SOC_DAIFMT_DSP_A:
>>> + case SND_SOC_DAIFMT_DSP_B:
>>> + /* 4-slot TDM */
>>> + ret = snd_soc_dai_set_tdm_slot(codec_dai,
>>> + rt1015_tdm_mask[i].tx,
>>> + rt1015_tdm_mask[i].rx,
>>> + 4,
>>> + params_width(params));
>>
>> The changes look ok, just wondering if we can avoid hard-coding those 4 values.
>> Can we not get the number of TDM slots from topology and/or dailink
>> configuration?
>>
>>
>
> I think TDM slot number is possible but not TX/RX mask. What we have in topology
> is union of tx/rx mask of all channels. We don't know the mask of specific channel in
> DAI_CONFIG.
>
> DAI_CONFIG(SSP, 0, BOARD_HP_BE_ID, SSP0-Codec,
> SSP_CONFIG(I2S, SSP_CLOCK(mclk, 19200000, codec_mclk_in),
> SSP_CLOCK(bclk, 2400000, codec_slave),
> SSP_CLOCK(fsync, 48000, codec_slave),
> SSP_TDM(2, 25, 3, 3),

the 3 3 is precisely the channel mask!

> SSP_CONFIG_DATA(SSP, 0, 24, 0, 0, 0, SSP_CC_BCLK_ES)))')
>
> Regards,
> Brent
>