Re: [PATCH 2/2] ASoC: fsl_sai: Export transmitter MCLK as clock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

[...]



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux