Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 132787
b: refs/heads/master
c: c42f69b
h: refs/heads/master
i:
  132785: de42a49
  132783: 7cf8a9f
v: v3
  • Loading branch information
Mark Brown committed Jan 16, 2009
1 parent 2a5bd21 commit fa28f53
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 2905a5df4a1600bc3c9ecace2fa65404196d1fda
refs/heads/master: c42f69bb064333624dcc1452ed109441c3c9e7b4
10 changes: 4 additions & 6 deletions trunk/sound/soc/codecs/wm9713.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@

struct wm9713_priv {
u32 pll_in; /* PLL input frequency */
u32 pll_out; /* PLL output frequency */
};

static unsigned int ac97_read(struct snd_soc_codec *codec,
Expand Down Expand Up @@ -723,13 +722,13 @@ static int wm9713_set_pll(struct snd_soc_codec *codec,
struct _pll_div pll_div;

/* turn PLL off ? */
if (freq_in == 0 || freq_out == 0) {
if (freq_in == 0) {
/* disable PLL power and select ext source */
reg = ac97_read(codec, AC97_HANDSET_RATE);
ac97_write(codec, AC97_HANDSET_RATE, reg | 0x0080);
reg = ac97_read(codec, AC97_EXTENDED_MID);
ac97_write(codec, AC97_EXTENDED_MID, reg | 0x0200);
wm9713->pll_out = 0;
wm9713->pll_in = 0;
return 0;
}

Expand Down Expand Up @@ -773,7 +772,6 @@ static int wm9713_set_pll(struct snd_soc_codec *codec,
ac97_write(codec, AC97_EXTENDED_MID, reg & 0xfdff);
reg = ac97_read(codec, AC97_HANDSET_RATE);
ac97_write(codec, AC97_HANDSET_RATE, reg & 0xff7f);
wm9713->pll_out = freq_out;
wm9713->pll_in = freq_in;

/* wait 10ms AC97 link frames for the link to stabilise */
Expand Down Expand Up @@ -1149,8 +1147,8 @@ static int wm9713_soc_resume(struct platform_device *pdev)
wm9713_set_bias_level(codec, SND_SOC_BIAS_STANDBY);

/* do we need to re-start the PLL ? */
if (wm9713->pll_out)
wm9713_set_pll(codec, 0, wm9713->pll_in, wm9713->pll_out);
if (wm9713->pll_in)
wm9713_set_pll(codec, 0, wm9713->pll_in, 0);

/* only synchronise the codec if warm reset failed */
if (ret == 0) {
Expand Down

0 comments on commit fa28f53

Please sign in to comment.