[Rebase from R2]audio: sst: sn95031: Enable PLL and VAUDA before changing volume...
authorOmair Mohammed Abdullah <omair.m.abdullah@intel.com>
Tue, 10 Jan 2012 10:59:32 +0000 (16:29 +0530)
committerbuildbot <buildbot@intel.com>
Fri, 13 Jan 2012 09:39:38 +0000 (01:39 -0800)
commit6677c136ec8977b4da5b820df9e233f6b4a0039b
tree1f9be39b15b5c5835f2b65269ea9dd8d4ea6712d
parent9852f94dfaf9f00e642872c3b572366e575a3996
[Rebase from R2]audio: sst: sn95031: Enable PLL and VAUDA before changing volume registers

BZ: 19775

old_BZ:18716

Due to a problem with the codec, any writes made to the *VOLCTRL registers are
not reflected until the VAUDA and clocks are turned on.

Implemented a volume control function which turns on the PLLs and the VAUDA
before changing the VOLCTRL registers. It then restores the previous state back.

While VOLCTRL registers were getting updated eventually when some actual
playback started, the values read back before playback were wrong. This fixes
that issue. Volume can now be set and read using amixer for tuning purposes.

Change-Id: I88ef9db97ce04fb52a45f70053c71a45e1f1a2a6
Old-Change-Id: I935491ad146b230e8da4c26c1fb95c32c055c569
Signed-off-by: Omair Mohammed Abdullah <omair.m.abdullah@intel.com>
Reviewed-on: http://android.intel.com:8080/31707
Reviewed-by: M, Arulselvan <arulselvan.m@intel.com>
Tested-by: M, Arulselvan <arulselvan.m@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
include/sound/intel_sst.h
sound/pci/sst/intel_sst.c
sound/soc/codecs/sn95031.c