diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-19 13:57:38 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-19 13:57:38 -0400 |
| commit | af8f937274437fa81b95e4e2d461460220636cb8 (patch) | |
| tree | a0fce546e4693e759ed944ba37603c36bf514430 | |
| parent | 091ccb006fcf5c4aa1283901ca6e62ff85b3a569 (diff) | |
| parent | d6aa764ee8674512287913fcc3a0b1b5c050d5eb (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
ALSA: hda - Set function_id only on FG nodes
ALSA: MAINTAINERS - Update SOUND
ALSA: emu10k1 - off by 1 in snd_emu10k1_wait()
ASoC: OMAP: Fix FS polarity in OSK5912 machine driver
ASoC: OMAP: Fix DSP_B format in OMAP McBSP DAI driver
ASoC: Fix include build error in s3c2412-i2s.c
ASoC: Fix s3c-i2s-v2.c snd_soc_dai changes
ASoC: s3c-i2s-v2.c fix for s3c_i2sv2_iis_calc_rate
ASoC: Fix jive_wm8750.c build problems
ASoC: pxa-ssp: allow setting of dai format 0
ALSA: hda - Add upper-limit of mixer amp for AD1884A-laptop model, too
ALSA: hda - Fix headphone-detection on some machines with STAC/IDT codecs
ALSA: Intel8x0: Add hp_only quirk for SSID 0x1028016a (Dell Inspiron 8600)
ALSA: Intel8x0: Remove conflicting quirk for SSID 0x103c0934
ALSA: hda_intel.c - Consolidate bitfields
| -rw-r--r-- | MAINTAINERS | 5 | ||||
| -rw-r--r-- | sound/pci/emu10k1/io.c | 2 | ||||
| -rw-r--r-- | sound/pci/hda/hda_codec.c | 8 | ||||
| -rw-r--r-- | sound/pci/hda/hda_intel.c | 2 | ||||
| -rw-r--r-- | sound/pci/hda/patch_analog.c | 8 | ||||
| -rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 10 | ||||
| -rw-r--r-- | sound/pci/intel8x0.c | 12 | ||||
| -rw-r--r-- | sound/soc/omap/omap-mcbsp.c | 7 | ||||
| -rw-r--r-- | sound/soc/omap/osk5912.c | 4 | ||||
| -rw-r--r-- | sound/soc/pxa/pxa-ssp.c | 1 | ||||
| -rw-r--r-- | sound/soc/s3c24xx/jive_wm8750.c | 12 | ||||
| -rw-r--r-- | sound/soc/s3c24xx/s3c-i2s-v2.c | 18 | ||||
| -rw-r--r-- | sound/soc/s3c24xx/s3c2412-i2s.c | 2 |
13 files changed, 56 insertions, 35 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index 0beac8a7f8f2..1e067a675e53 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
| @@ -5235,7 +5235,12 @@ M: perex@perex.cz | |||
| 5235 | P: Takashi Iwai | 5235 | P: Takashi Iwai |
| 5236 | M: tiwai@suse.de | 5236 | M: tiwai@suse.de |
| 5237 | L: alsa-devel@alsa-project.org (subscribers-only) | 5237 | L: alsa-devel@alsa-project.org (subscribers-only) |
| 5238 | W: http://www.alsa-project.org/ | ||
| 5239 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git | ||
| 5240 | T: git git://git.alsa-project.org/alsa-kernel.git | ||
| 5238 | S: Maintained | 5241 | S: Maintained |
| 5242 | F: Documentation/sound/ | ||
| 5243 | F: include/sound/ | ||
| 5239 | F: sound/ | 5244 | F: sound/ |
| 5240 | 5245 | ||
| 5241 | SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC) | 5246 | SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC) |
diff --git a/sound/pci/emu10k1/io.c b/sound/pci/emu10k1/io.c index 4bfc31d1b281..c1a5aa15af8f 100644 --- a/sound/pci/emu10k1/io.c +++ b/sound/pci/emu10k1/io.c | |||
| @@ -490,7 +490,7 @@ void snd_emu10k1_wait(struct snd_emu10k1 *emu, unsigned int wait) | |||
| 490 | if (newtime != curtime) | 490 | if (newtime != curtime) |
| 491 | break; | 491 | break; |
| 492 | } | 492 | } |
| 493 | if (count >= 16384) | 493 | if (count > 16384) |
| 494 | break; | 494 | break; |
| 495 | curtime = newtime; | 495 | curtime = newtime; |
| 496 | } | 496 | } |
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index fd6e6f337d10..8820faf6c9d8 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c | |||
| @@ -642,19 +642,21 @@ static int get_codec_name(struct hda_codec *codec) | |||
| 642 | */ | 642 | */ |
| 643 | static void /*__devinit*/ setup_fg_nodes(struct hda_codec *codec) | 643 | static void /*__devinit*/ setup_fg_nodes(struct hda_codec *codec) |
| 644 | { | 644 | { |
| 645 | int i, total_nodes; | 645 | int i, total_nodes, function_id; |
| 646 | hda_nid_t nid; | 646 | hda_nid_t nid; |
| 647 | 647 | ||
| 648 | total_nodes = snd_hda_get_sub_nodes(codec, AC_NODE_ROOT, &nid); | 648 | total_nodes = snd_hda_get_sub_nodes(codec, AC_NODE_ROOT, &nid); |
| 649 | for (i = 0; i < total_nodes; i++, nid++) { | 649 | for (i = 0; i < total_nodes; i++, nid++) { |
| 650 | codec->function_id = snd_hda_param_read(codec, nid, | 650 | function_id = snd_hda_param_read(codec, nid, |
| 651 | AC_PAR_FUNCTION_TYPE) & 0xff; | 651 | AC_PAR_FUNCTION_TYPE) & 0xff; |
| 652 | switch (codec->function_id) { | 652 | switch (function_id) { |
| 653 | case AC_GRP_AUDIO_FUNCTION: | 653 | case AC_GRP_AUDIO_FUNCTION: |
| 654 | codec->afg = nid; | 654 | codec->afg = nid; |
| 655 | codec->function_id = function_id; | ||
| 655 | break; | 656 | break; |
| 656 | case AC_GRP_MODEM_FUNCTION: | 657 | case AC_GRP_MODEM_FUNCTION: |
| 657 | codec->mfg = nid; | 658 | codec->mfg = nid; |
| 659 | codec->function_id = function_id; | ||
| 658 | break; | 660 | break; |
| 659 | default: | 661 | default: |
| 660 | break; | 662 | break; |
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index bc882f8f163c..21e99cfa8c49 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c | |||
| @@ -312,7 +312,6 @@ struct azx_dev { | |||
| 312 | unsigned int period_bytes; /* size of the period in bytes */ | 312 | unsigned int period_bytes; /* size of the period in bytes */ |
| 313 | unsigned int frags; /* number for period in the play buffer */ | 313 | unsigned int frags; /* number for period in the play buffer */ |
| 314 | unsigned int fifo_size; /* FIFO size */ | 314 | unsigned int fifo_size; /* FIFO size */ |
| 315 | unsigned int start_flag: 1; /* stream full start flag */ | ||
| 316 | unsigned long start_jiffies; /* start + minimum jiffies */ | 315 | unsigned long start_jiffies; /* start + minimum jiffies */ |
| 317 | unsigned long min_jiffies; /* minimum jiffies before position is valid */ | 316 | unsigned long min_jiffies; /* minimum jiffies before position is valid */ |
| 318 | 317 | ||
| @@ -333,6 +332,7 @@ struct azx_dev { | |||
| 333 | unsigned int opened :1; | 332 | unsigned int opened :1; |
| 334 | unsigned int running :1; | 333 | unsigned int running :1; |
| 335 | unsigned int irq_pending :1; | 334 | unsigned int irq_pending :1; |
| 335 | unsigned int start_flag: 1; /* stream full start flag */ | ||
| 336 | /* | 336 | /* |
| 337 | * For VIA: | 337 | * For VIA: |
| 338 | * A flag to ensure DMA position is 0 | 338 | * A flag to ensure DMA position is 0 |
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c index 38ad3f7b040f..9bcd8ab5a27f 100644 --- a/sound/pci/hda/patch_analog.c +++ b/sound/pci/hda/patch_analog.c | |||
| @@ -3977,6 +3977,14 @@ static int patch_ad1884a(struct hda_codec *codec) | |||
| 3977 | spec->input_mux = &ad1884a_laptop_capture_source; | 3977 | spec->input_mux = &ad1884a_laptop_capture_source; |
| 3978 | codec->patch_ops.unsol_event = ad1884a_hp_unsol_event; | 3978 | codec->patch_ops.unsol_event = ad1884a_hp_unsol_event; |
| 3979 | codec->patch_ops.init = ad1884a_hp_init; | 3979 | codec->patch_ops.init = ad1884a_hp_init; |
| 3980 | /* set the upper-limit for mixer amp to 0dB for avoiding the | ||
| 3981 | * possible damage by overloading | ||
| 3982 | */ | ||
| 3983 | snd_hda_override_amp_caps(codec, 0x20, HDA_INPUT, | ||
| 3984 | (0x17 << AC_AMPCAP_OFFSET_SHIFT) | | ||
| 3985 | (0x17 << AC_AMPCAP_NUM_STEPS_SHIFT) | | ||
| 3986 | (0x05 << AC_AMPCAP_STEP_SIZE_SHIFT) | | ||
| 3987 | (1 << AC_AMPCAP_MUTE_SHIFT)); | ||
| 3980 | break; | 3988 | break; |
| 3981 | case AD1884A_MOBILE: | 3989 | case AD1884A_MOBILE: |
| 3982 | spec->mixers[0] = ad1884a_mobile_mixers; | 3990 | spec->mixers[0] = ad1884a_mobile_mixers; |
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index ce30b459aee6..917bc5d3ac2c 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
| @@ -3076,6 +3076,11 @@ static int create_multi_out_ctls(struct hda_codec *codec, int num_outs, | |||
| 3076 | unsigned int wid_caps; | 3076 | unsigned int wid_caps; |
| 3077 | 3077 | ||
| 3078 | for (i = 0; i < num_outs && i < ARRAY_SIZE(chname); i++) { | 3078 | for (i = 0; i < num_outs && i < ARRAY_SIZE(chname); i++) { |
| 3079 | if (type == AUTO_PIN_HP_OUT && !spec->hp_detect) { | ||
| 3080 | wid_caps = get_wcaps(codec, pins[i]); | ||
| 3081 | if (wid_caps & AC_WCAP_UNSOL_CAP) | ||
| 3082 | spec->hp_detect = 1; | ||
| 3083 | } | ||
| 3079 | nid = dac_nids[i]; | 3084 | nid = dac_nids[i]; |
| 3080 | if (!nid) | 3085 | if (!nid) |
| 3081 | continue; | 3086 | continue; |
| @@ -3119,11 +3124,6 @@ static int create_multi_out_ctls(struct hda_codec *codec, int num_outs, | |||
| 3119 | err = create_controls_idx(codec, name, idx, nid, 3); | 3124 | err = create_controls_idx(codec, name, idx, nid, 3); |
| 3120 | if (err < 0) | 3125 | if (err < 0) |
| 3121 | return err; | 3126 | return err; |
| 3122 | if (type == AUTO_PIN_HP_OUT && !spec->hp_detect) { | ||
| 3123 | wid_caps = get_wcaps(codec, pins[i]); | ||
| 3124 | if (wid_caps & AC_WCAP_UNSOL_CAP) | ||
| 3125 | spec->hp_detect = 1; | ||
| 3126 | } | ||
| 3127 | } | 3127 | } |
| 3128 | } | 3128 | } |
| 3129 | return 0; | 3129 | return 0; |
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c index 5dced5b79387..8042d5398892 100644 --- a/sound/pci/intel8x0.c +++ b/sound/pci/intel8x0.c | |||
| @@ -1854,6 +1854,12 @@ static struct ac97_quirk ac97_quirks[] __devinitdata = { | |||
| 1854 | }, | 1854 | }, |
| 1855 | { | 1855 | { |
| 1856 | .subvendor = 0x1028, | 1856 | .subvendor = 0x1028, |
| 1857 | .subdevice = 0x016a, | ||
| 1858 | .name = "Dell Inspiron 8600", /* STAC9750/51 */ | ||
| 1859 | .type = AC97_TUNE_HP_ONLY | ||
| 1860 | }, | ||
| 1861 | { | ||
| 1862 | .subvendor = 0x1028, | ||
| 1857 | .subdevice = 0x0186, | 1863 | .subdevice = 0x0186, |
| 1858 | .name = "Dell Latitude D810", /* cf. Malone #41015 */ | 1864 | .name = "Dell Latitude D810", /* cf. Malone #41015 */ |
| 1859 | .type = AC97_TUNE_HP_MUTE_LED | 1865 | .type = AC97_TUNE_HP_MUTE_LED |
| @@ -1896,12 +1902,6 @@ static struct ac97_quirk ac97_quirks[] __devinitdata = { | |||
| 1896 | }, | 1902 | }, |
| 1897 | { | 1903 | { |
| 1898 | .subvendor = 0x103c, | 1904 | .subvendor = 0x103c, |
| 1899 | .subdevice = 0x0934, | ||
| 1900 | .name = "HP nx8220", | ||
| 1901 | .type = AC97_TUNE_MUTE_LED | ||
| 1902 | }, | ||
| 1903 | { | ||
| 1904 | .subvendor = 0x103c, | ||
