On Wed, Apr 30, 2008 at 11:37:19AM +0200, Daniel Mack wrote:
Set power bits in output stage control registers to reflect the "!muted" bits. The codec needs them set in order to operate correctly.
Could you explain in more detail what this patch is doing, please (ideally in comments in the code or at least the commit message)?
- case MONOLOPM_CTRL:
if (*val & 0x08)
*val |= 0x01;
else
*val &= ~0x01;
break;
- }
It would be good if the code were clearer about what these register bits mean and why this isn't being handled via DAPM.
If what you're trying to do is avoid powering on amplifiers when they are muted then this is best avoided since it often creates problems with pops and clicks due to things getting powered on and off out of the sequence generated by DAPM. If the amplifier is powered on before its inputs then it will amplify any noise generaetd by the inputs when they change power state. This is why ASoC mute controls for amplifiers are normally independent of their power controls.