Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 353202
b: refs/heads/master
c: dc870f3
h: refs/heads/master
v: v3
  • Loading branch information
Takashi Iwai committed Jan 22, 2013
1 parent cf105fd commit d1695bc
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 14 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: a836dbf685fa58c7db6cd56ad4559b2e6c02c8d9
refs/heads/master: dc870f38e9faf7dd89355aae2252126688a1a372
11 changes: 11 additions & 0 deletions trunk/sound/pci/hda/hda_codec.c
Original file line number Diff line number Diff line change
Expand Up @@ -3637,6 +3637,17 @@ void snd_hda_sequence_write_cache(struct hda_codec *codec,
}
EXPORT_SYMBOL_HDA(snd_hda_sequence_write_cache);

/**
* snd_hda_codec_flush_cache - Execute all pending (cached) amps / verbs
* @codec: HD-audio codec
*/
void snd_hda_codec_flush_cache(struct hda_codec *codec)
{
snd_hda_codec_resume_amp(codec);
snd_hda_codec_resume_cache(codec);
}
EXPORT_SYMBOL_HDA(snd_hda_codec_flush_cache);

void snd_hda_codec_set_power_to_all(struct hda_codec *codec, hda_nid_t fg,
unsigned int power_state,
bool eapd_workaround)
Expand Down
6 changes: 2 additions & 4 deletions trunk/sound/pci/hda/hda_codec.h
Original file line number Diff line number Diff line change
Expand Up @@ -974,10 +974,8 @@ void snd_hda_sequence_write_cache(struct hda_codec *codec,
int snd_hda_codec_update_cache(struct hda_codec *codec, hda_nid_t nid,
int direct, unsigned int verb, unsigned int parm);
void snd_hda_codec_resume_cache(struct hda_codec *codec);

/* it's alias but a bit clearer meaning */
#define snd_hda_codec_flush_cmd_cache(codec) \
snd_hda_codec_resume_cache(codec)
/* both for cmd & amp caches */
void snd_hda_codec_flush_cache(struct hda_codec *codec);

/* the struct for codec->pin_configs */
struct hda_pincfg {
Expand Down
6 changes: 2 additions & 4 deletions trunk/sound/pci/hda/hda_generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -2839,8 +2839,7 @@ static int cap_put_caller(struct snd_kcontrol *kcontrol,
error:
codec->cached_write = 0;
mutex_unlock(&codec->control_mutex);
snd_hda_codec_flush_amp_cache(codec); /* flush the updates */
snd_hda_codec_flush_cmd_cache(codec);
snd_hda_codec_flush_cache(codec); /* flush the updates */
if (err >= 0 && spec->cap_sync_hook)
spec->cap_sync_hook(codec, ucontrol);
return err;
Expand Down Expand Up @@ -4773,8 +4772,7 @@ int snd_hda_gen_init(struct hda_codec *codec)
/* call init functions of standard auto-mute helpers */
update_automute_all(codec);

snd_hda_codec_flush_amp_cache(codec);
snd_hda_codec_flush_cmd_cache(codec);
snd_hda_codec_flush_cache(codec);

if (spec->vmaster_mute.sw_kctl && spec->vmaster_mute.hook)
snd_hda_sync_vmaster_hook(&spec->vmaster_mute);
Expand Down
4 changes: 0 additions & 4 deletions trunk/sound/pci/hda/hda_local.h
Original file line number Diff line number Diff line change
Expand Up @@ -139,10 +139,6 @@ int snd_hda_codec_amp_init_stereo(struct hda_codec *codec, hda_nid_t nid,
int dir, int idx, int mask, int val);
void snd_hda_codec_resume_amp(struct hda_codec *codec);

/* it's alias but a bit clearer meaning */
#define snd_hda_codec_flush_amp_cache(codec) \
snd_hda_codec_resume_amp(codec)

void snd_hda_set_vmaster_tlv(struct hda_codec *codec, hda_nid_t nid, int dir,
unsigned int *tlv);
struct snd_kcontrol *snd_hda_find_mixer_ctl(struct hda_codec *codec,
Expand Down
2 changes: 1 addition & 1 deletion trunk/sound/pci/hda/patch_realtek.c
Original file line number Diff line number Diff line change
Expand Up @@ -621,7 +621,7 @@ static void alc_inv_dmic_sync_adc(struct hda_codec *codec, int adc_idx)
(dir == HDA_OUTPUT ? AC_AMP_SET_OUTPUT : AC_AMP_SET_INPUT);

/* flush all cached amps at first */
snd_hda_codec_flush_amp_cache(codec);
snd_hda_codec_flush_cache(codec);

/* we care only right channel */
val = snd_hda_codec_amp_read(codec, nid, 1, dir, 0);
Expand Down

0 comments on commit d1695bc

Please sign in to comment.