Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 45ba82d8 authored by Mark Brown's avatar Mark Brown
Browse files

ASoC: Tune the accessory detection rates for WM8996



Use longer intervals when the microphone is not inserted to increase
robustness against leisurely insertion.

Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent a3462490
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -2572,8 +2572,10 @@ static void wm8996_micd(struct snd_soc_codec *codec)
				    SND_JACK_BTN_0);

		snd_soc_update_bits(codec, WM8996_MIC_DETECT_1,
				    WM8996_MICD_RATE_MASK,
				    WM8996_MICD_RATE_MASK);
				    WM8996_MICD_RATE_MASK |
				    WM8996_MICD_BIAS_STARTTIME_MASK,
				    WM8996_MICD_RATE_MASK |
				    9 << WM8996_MICD_BIAS_STARTTIME_SHIFT);
		return;
	}

@@ -2590,8 +2592,10 @@ static void wm8996_micd(struct snd_soc_codec *codec)
			/* Increase poll rate to give better responsiveness
			 * for buttons */
			snd_soc_update_bits(codec, WM8996_MIC_DETECT_1,
					    WM8996_MICD_RATE_MASK,
					    5 << WM8996_MICD_RATE_SHIFT);
					    WM8996_MICD_RATE_MASK |
					    WM8996_MICD_BIAS_STARTTIME_MASK,
					    5 << WM8996_MICD_RATE_SHIFT |
					    7 << WM8996_MICD_BIAS_STARTTIME_SHIFT);
		} else {
			dev_dbg(codec->dev, "Mic button up\n");
			snd_soc_jack_report(wm8996->jack, 0, SND_JACK_BTN_0);
@@ -2639,8 +2643,10 @@ static void wm8996_micd(struct snd_soc_codec *codec)
			 * responsiveness.
			 */
			snd_soc_update_bits(codec, WM8996_MIC_DETECT_1,
					    WM8996_MICD_RATE_MASK,
					    7 << WM8996_MICD_RATE_SHIFT);
					    WM8996_MICD_RATE_MASK |
					    WM8996_MICD_BIAS_STARTTIME_MASK,
					    7 << WM8996_MICD_RATE_SHIFT |
					    7 << WM8996_MICD_BIAS_STARTTIME_SHIFT);
		}
	}
}