ASoC: davinci-mcasp: Do not touch 0x04 register above McASP_VERSION_2
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Fri, 4 Apr 2014 12:56:30 +0000 (15:56 +0300)
committerMark Brown <broonie@linaro.org>
Mon, 14 Apr 2014 19:45:33 +0000 (20:45 +0100)
This register is not defined in TI81xx and on AM335x/AM437x it is the
SYSCONFIG register which should not be touched by drivers since it is
related to PM and handled by the generic PM code.
This register write was there since the first time the davinci-mcasp driver
was appeared in the kernel.
The reason why it did not caused any issues on AM335x/AM437x is that it sets
bit 1 in SYSCONFIG register which in turn will enable the smart-idle mode.
This is the default mode and this is the mode McASP should be in also when
in use.
On TI81xx the register is not defined.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/davinci/davinci-mcasp.c

index 8007fcf428d91aae3ba9f2cd1c989c92baa6e455..af92d3e8671d8f2544c32de47656f9e2b18fb301 100644 (file)
@@ -502,7 +502,7 @@ static int mcasp_common_hw_param(struct davinci_mcasp *mcasp, int stream,
        int active_serializers, numevt, n;
        u32 reg;
        /* Default configuration */
-       if (mcasp->version != MCASP_VERSION_4)
+       if (mcasp->version < MCASP_VERSION_3)
                mcasp_set_bits(mcasp, DAVINCI_MCASP_PWREMUMGT_REG, MCASP_SOFT);
 
        /* All PINS as McASP */