diff options
author | Takashi Iwai <tiwai@suse.de> | 2011-01-13 02:37:14 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-01-13 02:37:14 -0500 |
commit | e38302f78284e3e80ffc2eef54001fce7d183bd4 (patch) | |
tree | 0cb61d52ca9d11d446e3fc1bc97d8fd92ab1e934 /sound/pci/hda | |
parent | 3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5 (diff) | |
parent | c386735264da97e6b6d15aa56361e9ef188b26ab (diff) |
Merge branch 'topic/misc' into for-linus
Diffstat (limited to 'sound/pci/hda')
-rw-r--r-- | sound/pci/hda/hda_intel.c | 9 | ||||
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 10 | ||||
-rw-r--r-- | sound/pci/hda/patch_via.c | 3 |
3 files changed, 15 insertions, 7 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index a1c4008af891..d3d18be483e1 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c | |||
@@ -1235,7 +1235,8 @@ static int azx_setup_periods(struct azx *chip, | |||
1235 | pos_adj = 0; | 1235 | pos_adj = 0; |
1236 | } else { | 1236 | } else { |
1237 | ofs = setup_bdle(substream, azx_dev, | 1237 | ofs = setup_bdle(substream, azx_dev, |
1238 | &bdl, ofs, pos_adj, 1); | 1238 | &bdl, ofs, pos_adj, |
1239 | !substream->runtime->no_period_wakeup); | ||
1239 | if (ofs < 0) | 1240 | if (ofs < 0) |
1240 | goto error; | 1241 | goto error; |
1241 | } | 1242 | } |
@@ -1247,7 +1248,8 @@ static int azx_setup_periods(struct azx *chip, | |||
1247 | period_bytes - pos_adj, 0); | 1248 | period_bytes - pos_adj, 0); |
1248 | else | 1249 | else |
1249 | ofs = setup_bdle(substream, azx_dev, &bdl, ofs, | 1250 | ofs = setup_bdle(substream, azx_dev, &bdl, ofs, |
1250 | period_bytes, 1); | 1251 | period_bytes, |
1252 | !substream->runtime->no_period_wakeup); | ||
1251 | if (ofs < 0) | 1253 | if (ofs < 0) |
1252 | goto error; | 1254 | goto error; |
1253 | } | 1255 | } |
@@ -1515,7 +1517,8 @@ static struct snd_pcm_hardware azx_pcm_hw = { | |||
1515 | /* No full-resume yet implemented */ | 1517 | /* No full-resume yet implemented */ |
1516 | /* SNDRV_PCM_INFO_RESUME |*/ | 1518 | /* SNDRV_PCM_INFO_RESUME |*/ |
1517 | SNDRV_PCM_INFO_PAUSE | | 1519 | SNDRV_PCM_INFO_PAUSE | |
1518 | SNDRV_PCM_INFO_SYNC_START), | 1520 | SNDRV_PCM_INFO_SYNC_START | |
1521 | SNDRV_PCM_INFO_NO_PERIOD_WAKEUP), | ||
1519 | .formats = SNDRV_PCM_FMTBIT_S16_LE, | 1522 | .formats = SNDRV_PCM_FMTBIT_S16_LE, |
1520 | .rates = SNDRV_PCM_RATE_48000, | 1523 | .rates = SNDRV_PCM_RATE_48000, |
1521 | .rate_min = 48000, | 1524 | .rate_min = 48000, |
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 552a09e9211f..6e0d872bbf7b 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -10857,6 +10857,9 @@ static int alc_auto_add_mic_boost(struct hda_codec *codec) | |||
10857 | return 0; | 10857 | return 0; |
10858 | } | 10858 | } |
10859 | 10859 | ||
10860 | static int alc861vd_auto_create_multi_out_ctls(struct alc_spec *spec, | ||
10861 | const struct auto_pin_cfg *cfg); | ||
10862 | |||
10860 | /* almost identical with ALC880 parser... */ | 10863 | /* almost identical with ALC880 parser... */ |
10861 | static int alc882_parse_auto_config(struct hda_codec *codec) | 10864 | static int alc882_parse_auto_config(struct hda_codec *codec) |
10862 | { | 10865 | { |
@@ -10874,7 +10877,10 @@ static int alc882_parse_auto_config(struct hda_codec *codec) | |||
10874 | err = alc880_auto_fill_dac_nids(spec, &spec->autocfg); | 10877 | err = alc880_auto_fill_dac_nids(spec, &spec->autocfg); |
10875 | if (err < 0) | 10878 | if (err < 0) |
10876 | return err; | 10879 | return err; |
10877 | err = alc880_auto_create_multi_out_ctls(spec, &spec->autocfg); | 10880 | if (codec->vendor_id == 0x10ec0887) |
10881 | err = alc861vd_auto_create_multi_out_ctls(spec, &spec->autocfg); | ||
10882 | else | ||
10883 | err = alc880_auto_create_multi_out_ctls(spec, &spec->autocfg); | ||
10878 | if (err < 0) | 10884 | if (err < 0) |
10879 | return err; | 10885 | return err; |
10880 | err = alc880_auto_create_extra_out(spec, spec->autocfg.hp_pins[0], | 10886 | err = alc880_auto_create_extra_out(spec, spec->autocfg.hp_pins[0], |
@@ -17043,7 +17049,7 @@ static void alc861vd_auto_init_analog_input(struct hda_codec *codec) | |||
17043 | #define alc861vd_idx_to_mixer_switch(nid) ((nid) + 0x0c) | 17049 | #define alc861vd_idx_to_mixer_switch(nid) ((nid) + 0x0c) |
17044 | 17050 | ||
17045 | /* add playback controls from the parsed DAC table */ | 17051 | /* add playback controls from the parsed DAC table */ |
17046 | /* Based on ALC880 version. But ALC861VD has separate, | 17052 | /* Based on ALC880 version. But ALC861VD and ALC887 have separate, |
17047 | * different NIDs for mute/unmute switch and volume control */ | 17053 | * different NIDs for mute/unmute switch and volume control */ |
17048 | static int alc861vd_auto_create_multi_out_ctls(struct alc_spec *spec, | 17054 | static int alc861vd_auto_create_multi_out_ctls(struct alc_spec *spec, |
17049 | const struct auto_pin_cfg *cfg) | 17055 | const struct auto_pin_cfg *cfg) |
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c index d1c3f8defc48..7f4852a478a1 100644 --- a/sound/pci/hda/patch_via.c +++ b/sound/pci/hda/patch_via.c | |||
@@ -263,8 +263,7 @@ static void vt1708_stop_hp_work(struct via_spec *spec) | |||
263 | return; | 263 | return; |
264 | snd_hda_codec_write(spec->codec, 0x1, 0, 0xf81, | 264 | snd_hda_codec_write(spec->codec, 0x1, 0, 0xf81, |
265 | !spec->vt1708_jack_detectect); | 265 | !spec->vt1708_jack_detectect); |
266 | cancel_delayed_work(&spec->vt1708_hp_work); | 266 | cancel_delayed_work_sync(&spec->vt1708_hp_work); |
267 | flush_scheduled_work(); | ||
268 | } | 267 | } |
269 | 268 | ||
270 | 269 | ||