Skip to content

Commit

Permalink
ASoC: Use a lower detection rate when monitoring headphones on WM8915
Browse files Browse the repository at this point in the history
We only need to increase the detection rate to maximum if we're monitoring
for button presses as the response times needed for user interaction there
are much lower.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
  • Loading branch information
Mark Brown committed Jun 2, 2011
1 parent 1e025a3 commit e6a9be0
Showing 1 changed file with 14 additions and 6 deletions.
20 changes: 14 additions & 6 deletions sound/soc/codecs/wm8915.c
Original file line number Diff line number Diff line change
Expand Up @@ -2288,6 +2288,12 @@ static void wm8915_micd(struct snd_soc_codec *codec)
SND_JACK_HEADSET | SND_JACK_BTN_0);
wm8915->jack_mic = true;
wm8915->detecting = false;

/* Increase poll rate to give better responsiveness
* for buttons */
snd_soc_update_bits(codec, WM8915_MIC_DETECT_1,
WM8915_MICD_RATE_MASK,
5 << WM8915_MICD_RATE_SHIFT);
}

/* If we detected a lower impedence during initial startup
Expand Down Expand Up @@ -2328,15 +2334,17 @@ static void wm8915_micd(struct snd_soc_codec *codec)
SND_JACK_HEADPHONE,
SND_JACK_HEADSET |
SND_JACK_BTN_0);

/* Increase the detection rate a bit for
* responsiveness.
*/
snd_soc_update_bits(codec, WM8915_MIC_DETECT_1,
WM8915_MICD_RATE_MASK,
7 << WM8915_MICD_RATE_SHIFT);

wm8915->detecting = false;
}
}

/* Increase poll rate to give better responsiveness for buttons */
if (!wm8915->detecting)
snd_soc_update_bits(codec, WM8915_MIC_DETECT_1,
WM8915_MICD_RATE_MASK,
5 << WM8915_MICD_RATE_SHIFT);
}

static irqreturn_t wm8915_irq(int irq, void *data)
Expand Down

0 comments on commit e6a9be0

Please sign in to comment.