ASoC: rt5645: Add the HWEQ for the speaker output
authorOder Chiou <oder_chiou@realtek.com>
Fri, 23 Oct 2015 06:05:53 +0000 (14:05 +0800)
committerMark Brown <broonie@kernel.org>
Fri, 23 Oct 2015 17:44:45 +0000 (02:44 +0900)
commitbe77b38a3668306bdc0b0c8dff4660c2a8b38d8e
tree54518796b7e6b3e59f628b802f28fd05f0712ec4
parent942e4a30eb87a7565c1cd28a08825f58b0794711
ASoC: rt5645: Add the HWEQ for the speaker output

The patch adds the HWEQ function for the speaker output. User can set the
HWEQ parameters using the ALSA binary control byte-by-byte. We use the
following struct array to store the HWEQ parameters for implementing as
simple as possible.
struct rt5645_eq_param_s {
unsigned short reg;
unsigned short val;
};
It supports the variant length of the HWEQ parameters that are required.
We add the validating function in the function "rt5645_hweq_put" of the
ALSA binary control to avoid the user that puts the invalid parameters.
In the HWEQ enable function of speaker event, we also add the validating
function to prevent that the invalid parameters are applied to codec.
The HWEQ parameters should be controlled by DAPM for a specific sequence,
so the parameters will be applied to the codec in the speaker power up
event of DAPM, and will be disabled in the speaker power down event of
DAPM.

Signed-off-by: Oder Chiou <oder_chiou@realtek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt5645.c