Skip to content

Commit ab1781d

Browse files
marcanjannau
authored andcommitted
ASoC: apple: mca: Add delay after configuring clock
Right after the early FE setup, ADMAC gets told to start the DMA. This can end up in a weird "slip" state with the channels transposed. Waiting a bit fixes this; presumably this allows the clock to stabilize. Signed-off-by: Hector Martin <marcan@marcan.st>
1 parent 5f21a8c commit ab1781d

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

sound/soc/apple/mca.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,12 @@ static void mca_fe_early_trigger(struct snd_pcm_substream *substream, int cmd,
225225
FIELD_PREP(SERDES_CONF_SYNC_SEL, 0));
226226
mca_modify(cl, serdes_conf, SERDES_CONF_SYNC_SEL,
227227
FIELD_PREP(SERDES_CONF_SYNC_SEL, cl->no + 1));
228+
/*
229+
* ADMAC gets started right after this. This delay seems
230+
* to be needed for that to be reliable, e.g. ensure the
231+
* clock is stable?
232+
*/
233+
udelay(10);
228234
break;
229235
default:
230236
break;

0 commit comments

Comments
 (0)