aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornhcao <nhcao@marvell.com>2012-07-20 15:30:19 +0800
committerLubomir Rintel <lkundrak@v3.sk>2019-07-22 19:39:58 +0200
commitbbf280bea2eebd187d81ad229ee0e7e3c665b721 (patch)
tree6bf165666228c7e39e6ef2ab4a96a2f31ac26b1d
parentcc8c8aabf008867eebbb671563b5e8d90a01c239 (diff)
downloadlinux-mmp3-dell-ariel-bbf280bea2eebd187d81ad229ee0e7e3c665b721.tar.gz
Audio: do not change to pll1 when zsp halt
Now, System will hang when doing frequency change. So remove this operation when zsp halt. Change-Id: Ia0dbb5985e9ee21c436e4750dbc16c31ae36d06f Signed-off-by: nhcao <nhcao@marvell.com>
-rw-r--r--arch/arm/mach-mmp/mmp3.c26
1 files changed, 0 insertions, 26 deletions
diff --git a/arch/arm/mach-mmp/mmp3.c b/arch/arm/mach-mmp/mmp3.c
index 49e9d8bb53d009..364ad2f1d7fea1 100644
--- a/arch/arm/mach-mmp/mmp3.c
+++ b/arch/arm/mach-mmp/mmp3.c
@@ -1195,29 +1195,8 @@ static void mmp_zsp_domain_on(int spd, int src, int asclk)
static void mmp_zsp_domain_halt(void)
{
- u32 value;
if (aud_pwr_status.zsp_cnt > 0) {
aud_pwr_status.zsp_cnt--;
- if (aud_pwr_status.zsp_cnt == 0) {
- /* reset audio peripheral */
- __raw_modify(ZSP_AUD_DSA_CORE_CLK_RES, 0x0, 0x4);
- udelay(100);
- /* switch to pll1*/
- __raw_modify(ZSP_AUD_DSA_CORE_CLK_RES, 0x30, 0x0);
- /* set divider 2*/
- __raw_modify(ZSP_AUD_CORE_FREQ_CHG, 0xE, 0x4);
- /* enable divider*/
- __raw_modify(ZSP_AUD_DSA_CORE_CLK_RES, 0x0, 0x8);
- /* enabled core clock and release reset*/
- __raw_modify(ZSP_AUD_DSA_CORE_CLK_RES, 0x4, 0x0);
- udelay(10);
- __raw_modify(ZSP_AUD_CORE_FREQ_CHG, 0x0, 0x1);
- udelay(10);
- do {
- value = readl(ZSP_AUD_CORE_FREQ_CHG);
- udelay(10);
- } while ((value & 0x1) != 0);
- }
}
if (aud_pwr_status.aud_dev_cnt > 0)
@@ -1225,12 +1204,7 @@ static void mmp_zsp_domain_halt(void)
if (aud_pwr_status.aud_pll_cnt > 0) {
aud_pwr_status.aud_pll_cnt--;
- if (aud_pwr_status.aud_pll_cnt == 0) {
- __raw_modify(SSPA_AUD_PLL_CTRL1, 0x800, 0x0);
- __raw_modify(SSPA_AUD_PLL_CTRL0, 0x1, 0x0);
- }
}
-
if (aud_pwr_status.main_pwr_cnt > 0) {
aud_pwr_status.main_pwr_cnt--;
if (aud_pwr_status.main_pwr_cnt == 0) {