phonepad: solve rt3261 ringtone off and on bug, because headset always have interrupt.
author宋秀杰 <sxj@rock-chips.com>
Fri, 7 Dec 2012 06:21:13 +0000 (14:21 +0800)
committer宋秀杰 <sxj@rock-chips.com>
Fri, 7 Dec 2012 06:21:13 +0000 (14:21 +0800)
sound/soc/codecs/rt3261.c

index 564180c6761c3de82479e7cc4ed44ea4f8245aaa..c8a071377c24fe7d0ec41ffec5b66dd89e588354 100644 (file)
@@ -3097,27 +3097,8 @@ static int rt3261_set_bias_level(struct snd_soc_codec *codec,
                break;
 
        case SND_SOC_BIAS_PREPARE:
-               /* headphone mute sequence */
-               snd_soc_update_bits(codec, RT3261_DEPOP_M3,
-                       RT3261_CP_FQ1_MASK | RT3261_CP_FQ2_MASK | RT3261_CP_FQ3_MASK,
-                       (RT3261_CP_FQ_96_KHZ << RT3261_CP_FQ1_SFT) |
-                       (RT3261_CP_FQ_12_KHZ << RT3261_CP_FQ2_SFT) |
-                       (RT3261_CP_FQ_96_KHZ << RT3261_CP_FQ3_SFT));
-               rt3261_index_write(codec, RT3261_MAMP_INT_REG2, 0xfc00);
-               snd_soc_update_bits(codec, RT3261_DEPOP_M1,
-                       RT3261_HP_SG_MASK, RT3261_HP_SG_EN);
-               snd_soc_update_bits(codec, RT3261_DEPOP_M1,
-                       RT3261_RSTP_MASK, RT3261_RSTP_EN);
-               snd_soc_update_bits(codec, RT3261_DEPOP_M1,
-                       RT3261_RSTP_MASK | RT3261_HP_L_SMT_MASK |
-                       RT3261_HP_R_SMT_MASK, RT3261_RSTP_DIS |
-                       RT3261_HP_L_SMT_EN | RT3261_HP_R_SMT_EN);
-
                snd_soc_update_bits(codec, RT3261_HP_VOL,
-                       RT3261_L_MUTE | RT3261_R_MUTE, RT3261_L_MUTE | RT3261_R_MUTE);
-               msleep(30);
-               snd_soc_write(codec, RT3261_DEPOP_M1, 0x0004);
-
+                       RT3261_L_MUTE | RT3261_R_MUTE, RT3261_L_MUTE | RT3261_R_MUTE); //bard 12-7
                snd_soc_update_bits(codec, RT3261_SPK_VOL,
                        RT3261_L_MUTE | RT3261_R_MUTE,
                        RT3261_L_MUTE | RT3261_R_MUTE);