[PATCH 2/2] ASoC: fsl_sai: Export transmitter MCLK as clock
Marek Vasut
marex at denx.de
Mon Dec 19 20:34:39 CET 2022
On 12/19/22 10:18, Shengjiu Wang wrote:
[...]
>> + if (tx_keep_tere) {
>> + regmap_read(sai->regmap, FSL_SAI_TCSR(ofs), &tcsr);
>> + tcsr &= FSL_SAI_CSR_TERE;
>> + }
>>
>> if (tx)
>> - regmap_write(sai->regmap, FSL_SAI_TCSR(ofs),
>> FSL_SAI_CSR_SR);
>> + regmap_write(sai->regmap, FSL_SAI_TCSR(ofs),
>> FSL_SAI_CSR_SR | tcsr);
>> if (rx)
>> - regmap_write(sai->regmap, FSL_SAI_RCSR(ofs),
>> FSL_SAI_CSR_SR);
>> + regmap_write(sai->regmap, FSL_SAI_RCSR(ofs),
>> FSL_SAI_CSR_SR | rcsr);
>> usleep_range(1000, 2000);
>>
>
> Not sure if you have test your patch.
On the hardware I have available, MX8MNano EVK is not one of them.
> there is kernel dump for "scheduling while atomic"
Is it still there if you replace the usleep_range() with udelay() ?
> [ 248.778590] BUG: scheduling while atomic: swapper/0/0/0x00010003
> [ 248.784618] Modules linked in:
> [ 248.787677] CPU: 0 PID: 0 Comm: swapper/0 Not tainted
> 6.1.0-rc6-00014-gf2b129b4c056-dirty #136
[...]
>> @@ -1295,6 +1356,13 @@ static int fsl_sai_probe(struct platform_device
>> *pdev)
>> int irq, ret, i;
>> int index;
>> u32 dmas[4];
>> + const char *mclk_parent_names[FSL_SAI_MCLK_MAX];
>> + const char *mclk_rxtx_names[2] = { "mclk_rx", "mclk_tx" };
>>
>
> please consider multi sai instance case, this name will duplicate
> that cause sai probe issue.
What kind of issue ? Details please.
[...]
More information about the Alsa-devel
mailing list