Hi Maciej,
On Mon, Jan 18, 2016 at 5:07 PM, Maciej S. Szmigiero mail@maciej.szmigiero.name wrote:
There is no guarantee that on fsl_ssi module load SSI registers will have their power-on-reset values.
In fact, if the driver is reloaded the values in registers will be whatever they were set to previously.
However, the cache needs to be fully populated at probe time to avoid non-atomic allocations during register access.
Special case here is imx21-class SSI, since according to datasheet it don't have SACC{ST,EN,DIS} regs.
This fixes hard lockup on fsl_ssi module reload, at least in AC'97 mode.
Fixes: 05cf237972fe ("ASoC: fsl_ssi: Add driver suspend and resume to support MEGA Fast")
Signed-off-by: Maciej S. Szmigiero mail@maciej.szmigiero.name
I know I have already tested this and it worked fine on a mx6sabresd, but running linux-next 20160201 on a mx6sl-evk the ssi driver does not probe anymore:
[ 2.216954] fsl-asoc-card sound: ASoC: CPU DAI (null) not registered [ 2.223412] fsl-asoc-card sound: snd_soc_register_card failed (-517) [ 2.230258] imx-wm8962 sound: ASoC: CPU DAI 202c000.ssi not registered [ 2.236806] imx-wm8962 sound: snd_soc_register_card failed (-517) [ 2.244782] snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01 00:01:14 UTC (74) [ 2.285864] fsl-asoc-card sound: ASoC: CPU DAI (null) not registered [ 2.292335] fsl-asoc-card sound: snd_soc_register_card failed (-517) [ 2.299572] imx-wm8962 sound: ASoC: CPU DAI 202c000.ssi not registered [ 2.306121] imx-wm8962 sound: snd_soc_register_card failed (-517)
Reverting this patch fixes the problem.
Wandboard also has the same issue:
http://arm-soc.lixom.net/bootlogs/next/next-20160201/wandboard-arm-imx_v6_v7...
Any suggestions?
Thanks