Skip to content

Commit

Permalink
ASoC: Fully specify DC servo bits to update in wm_hubs
Browse files Browse the repository at this point in the history
Avoids potential issues if we read back unexpected values during
a read/modify/write cycle.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
  • Loading branch information
Mark Brown committed Sep 2, 2009
1 parent 5c0d38c commit 2eff31e
Showing 1 changed file with 2 additions and 10 deletions.
12 changes: 2 additions & 10 deletions sound/soc/codecs/wm_hubs.c
Original file line number Diff line number Diff line change
Expand Up @@ -273,17 +273,12 @@ static int hp_event(struct snd_soc_dapm_widget *w,

/* Start the DC servo */
snd_soc_update_bits(codec, WM8993_DC_SERVO_0,
WM8993_DCS_ENA_CHAN_0 |
WM8993_DCS_ENA_CHAN_1 |
WM8993_DCS_TRIG_STARTUP_1 |
WM8993_DCS_TRIG_STARTUP_0,
0xFFFF,
WM8993_DCS_ENA_CHAN_0 |
WM8993_DCS_ENA_CHAN_1 |
WM8993_DCS_TRIG_STARTUP_1 |
WM8993_DCS_TRIG_STARTUP_0);
wait_for_dc_servo(codec);
snd_soc_update_bits(codec, WM8993_DC_SERVO_1,
WM8993_DCS_TIMER_PERIOD_01_MASK, 0xa);

reg |= WM8993_HPOUT1R_OUTP | WM8993_HPOUT1R_RMV_SHORT |
WM8993_HPOUT1L_OUTP | WM8993_HPOUT1L_RMV_SHORT;
Expand All @@ -298,11 +293,8 @@ static int hp_event(struct snd_soc_dapm_widget *w,
WM8993_HPOUT1R_DLY |
WM8993_HPOUT1R_OUTP);

snd_soc_update_bits(codec, WM8993_DC_SERVO_1,
WM8993_DCS_TIMER_PERIOD_01_MASK, 0);
snd_soc_update_bits(codec, WM8993_DC_SERVO_0,
WM8993_DCS_ENA_CHAN_0 |
WM8993_DCS_ENA_CHAN_1, 0);
0xffff, 0);

snd_soc_write(codec, WM8993_ANALOGUE_HP_0, reg);
snd_soc_update_bits(codec, WM8993_POWER_MANAGEMENT_1,
Expand Down

0 comments on commit 2eff31e

Please sign in to comment.