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 jannau committed Mar 5, 2024
1 parent 4f62b41 commit e882bab
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 e882bab

Please sign in to comment.