On 04.01.2018 20:07, Nicolin Chen wrote: > On Mon, Jan 01, 2018 at 04:17:20PM +0100, Maciej S. Szmigiero wrote: >>> AC97 configures some registers earlier to start a communication >>> with CODECs, so this patch moves those register settings to the >>> dai_probe() as well, along with other register configurations. > >> This patch breaks AC'97 CODEC probing. >> >> Namely, the fsl_ssi DAI probe callback is only called after the AC'97 >> CODEC probe callback, so when you move SSI AC'97 startup to its DAI >> probe callback it won't be done yet when the CODEC is probed (and this >> requires a working AC'97 interface to successfully complete). > > Hmm...What's the dependency here? Why is it required like this? This patch moves enabling AC'97 communication (done by fsl_ssi_setup_ac97() ) from SSI _platform device_ probe path to SSI _DAI_ probe path. However, it turns out that a SSI _DAI_ probe happens after a AC'97 CODEC probe (that is, ac97_soc_probe() in sound/soc/codecs/ac97.c). And a AC'97 CODEC probe needs AC'97 communication to be working, since it has to detect the CODEC model, configure it, etc. > I am okay to put everything to a separate fsl_ssi_hw_init() and > move it back to the platform probe() though. > This could be a solution - I assume that by "everything" in the above sentence you mean (at least) enabling the AC'97 communication at the SSI. Maciej _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel