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, 22 Feb 2016 03:02:47 +0000 (12:02 +0900)
commit6139b1b184d5f6257f692dc814dbcd47e4cf90f1
tree395e6ecae72279ff8e7d3455b225ae4a56575455
parent99777b07efe3b533b4b6c67e59ad9138607c0467
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: 05cf237972fe ("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
This page took 0.026467 seconds and 5 git commands to generate.