Skip to content

Commit

Permalink
ASoC: apple: mca: Add delay after configuring clock
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
marcan authored and herrnst committed Jan 20, 2024
1 parent ff8c034 commit d1a8a3e
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions sound/soc/apple/mca.c
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,12 @@ static void mca_fe_early_trigger(struct snd_pcm_substream *substream, int cmd,
FIELD_PREP(SERDES_CONF_SYNC_SEL, 0));
mca_modify(cl, serdes_conf, SERDES_CONF_SYNC_SEL,
FIELD_PREP(SERDES_CONF_SYNC_SEL, cl->no + 1));
/*
* ADMAC gets started right after this. This delay seems
* to be needed for that to be reliable, e.g. ensure the
* clock is stable?
*/
udelay(10);
break;
default:
break;
Expand Down

0 comments on commit d1a8a3e

Please sign in to comment.