]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: fsl_ssi: remove explicit register defaults
authorMaciej S. Szmigiero <mail@maciej.szmigiero.name>
Mon, 18 Jan 2016 19:07:44 +0000 (20:07 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 25 Jan 2016 15:37:47 +0000 (15:37 +0000)
commitb89b2f0559c26c985085fa9bef06abe2b435d400
tree4708d99801f1fe583e8b8db628396449cf509c05
parentd7e15052ecc9ac4f938d1d7432c1d120a2711a7e
ASoC: fsl_ssi: remove explicit register defaults

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: e5fca5f1d54f ("ASoC: fsl_ssi: Add driver suspend and resume to support MEGA Fast")
Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
Tested-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/fsl/fsl_ssi.c