diff options
| -rw-r--r-- | sound/atmel/ac97c.c | 5 | ||||
| -rw-r--r-- | sound/pci/azt3328.c | 38 | ||||
| -rw-r--r-- | sound/pci/hda/hda_eld.c | 2 | ||||
| -rw-r--r-- | sound/pci/hda/patch_realtek.c | 30 | ||||
| -rw-r--r-- | sound/pci/ice1712/delta.c | 7 | ||||
| -rw-r--r-- | sound/pci/oxygen/xonar_cs43xx.c | 2 |
6 files changed, 49 insertions, 35 deletions
diff --git a/sound/atmel/ac97c.c b/sound/atmel/ac97c.c index 10c3a871a12d..b310702c646e 100644 --- a/sound/atmel/ac97c.c +++ b/sound/atmel/ac97c.c | |||
| @@ -33,9 +33,12 @@ | |||
| 33 | #include <linux/dw_dmac.h> | 33 | #include <linux/dw_dmac.h> |
| 34 | 34 | ||
| 35 | #include <mach/cpu.h> | 35 | #include <mach/cpu.h> |
| 36 | #include <mach/hardware.h> | ||
| 37 | #include <mach/gpio.h> | 36 | #include <mach/gpio.h> |
| 38 | 37 | ||
| 38 | #ifdef CONFIG_ARCH_AT91 | ||
| 39 | #include <mach/hardware.h> | ||
| 40 | #endif | ||
| 41 | |||
| 39 | #include "ac97c.h" | 42 | #include "ac97c.h" |
| 40 | 43 | ||
| 41 | enum { | 44 | enum { |
diff --git a/sound/pci/azt3328.c b/sound/pci/azt3328.c index 6117595fc075..573594bf3225 100644 --- a/sound/pci/azt3328.c +++ b/sound/pci/azt3328.c | |||
| @@ -979,31 +979,25 @@ snd_azf3328_codec_setfmt(struct snd_azf3328_codec_data *codec, | |||
| 979 | 979 | ||
| 980 | snd_azf3328_dbgcallenter(); | 980 | snd_azf3328_dbgcallenter(); |
| 981 | switch (bitrate) { | 981 | switch (bitrate) { |
| 982 | #define AZF_FMT_XLATE(in_freq, out_bits) \ | 982 | case AZF_FREQ_4000: freq = SOUNDFORMAT_FREQ_SUSPECTED_4000; break; |
| 983 | do { \ | 983 | case AZF_FREQ_4800: freq = SOUNDFORMAT_FREQ_SUSPECTED_4800; break; |
| 984 | case AZF_FREQ_ ## in_freq: \ | 984 | case AZF_FREQ_5512: |
| 985 | freq = SOUNDFORMAT_FREQ_ ## out_bits; \ | 985 | /* the AZF3328 names it "5510" for some strange reason */ |
| 986 | break; \ | 986 | freq = SOUNDFORMAT_FREQ_5510; break; |
| 987 | } while (0); | 987 | case AZF_FREQ_6620: freq = SOUNDFORMAT_FREQ_6620; break; |
| 988 | AZF_FMT_XLATE(4000, SUSPECTED_4000) | 988 | case AZF_FREQ_8000: freq = SOUNDFORMAT_FREQ_8000; break; |
| 989 | AZF_FMT_XLATE(4800, SUSPECTED_4800) | 989 | case AZF_FREQ_9600: freq = SOUNDFORMAT_FREQ_9600; break; |
| 990 | /* the AZF3328 names it "5510" for some strange reason: */ | 990 | case AZF_FREQ_11025: freq = SOUNDFORMAT_FREQ_11025; break; |
| 991 | AZF_FMT_XLATE(5512, 5510) | 991 | case AZF_FREQ_13240: freq = SOUNDFORMAT_FREQ_SUSPECTED_13240; break; |
| 992 | AZF_FMT_XLATE(6620, 6620) | 992 | case AZF_FREQ_16000: freq = SOUNDFORMAT_FREQ_16000; break; |
| 993 | AZF_FMT_XLATE(8000, 8000) | 993 | case AZF_FREQ_22050: freq = SOUNDFORMAT_FREQ_22050; break; |
| 994 | AZF_FMT_XLATE(9600, 9600) | 994 | case AZF_FREQ_32000: freq = SOUNDFORMAT_FREQ_32000; break; |
| 995 | AZF_FMT_XLATE(11025, 11025) | ||
| 996 | AZF_FMT_XLATE(13240, SUSPECTED_13240) | ||
| 997 | AZF_FMT_XLATE(16000, 16000) | ||
| 998 | AZF_FMT_XLATE(22050, 22050) | ||
| 999 | AZF_FMT_XLATE(32000, 32000) | ||
| 1000 | default: | 995 | default: |
| 1001 | snd_printk(KERN_WARNING "unknown bitrate %d, assuming 44.1kHz!\n", bitrate); | 996 | snd_printk(KERN_WARNING "unknown bitrate %d, assuming 44.1kHz!\n", bitrate); |
| 1002 | /* fall-through */ | 997 | /* fall-through */ |
| 1003 | AZF_FMT_XLATE(44100, 44100) | 998 | case AZF_FREQ_44100: freq = SOUNDFORMAT_FREQ_44100; break; |
| 1004 | AZF_FMT_XLATE(48000, 48000) | 999 | case AZF_FREQ_48000: freq = SOUNDFORMAT_FREQ_48000; break; |
| 1005 | AZF_FMT_XLATE(66200, SUSPECTED_66200) | 1000 | case AZF_FREQ_66200: freq = SOUNDFORMAT_FREQ_SUSPECTED_66200; break; |
| 1006 | #undef AZF_FMT_XLATE | ||
| 1007 | } | 1001 | } |
| 1008 | /* val = 0xff07; 3m27.993s (65301Hz; -> 64000Hz???) hmm, 66120, 65967, 66123 */ | 1002 | /* val = 0xff07; 3m27.993s (65301Hz; -> 64000Hz???) hmm, 66120, 65967, 66123 */ |
| 1009 | /* val = 0xff09; 17m15.098s (13123,478Hz; -> 12000Hz???) hmm, 13237.2Hz? */ | 1003 | /* val = 0xff09; 17m15.098s (13123,478Hz; -> 12000Hz???) hmm, 13237.2Hz? */ |
diff --git a/sound/pci/hda/hda_eld.c b/sound/pci/hda/hda_eld.c index 4a663471dadc..74b0560289c0 100644 --- a/sound/pci/hda/hda_eld.c +++ b/sound/pci/hda/hda_eld.c | |||
| @@ -381,7 +381,7 @@ static void hdmi_show_short_audio_desc(struct cea_sad *a) | |||
| 381 | snd_print_pcm_rates(a->rates, buf, sizeof(buf)); | 381 | snd_print_pcm_rates(a->rates, buf, sizeof(buf)); |
| 382 | 382 | ||
| 383 | if (a->format == AUDIO_CODING_TYPE_LPCM) | 383 | if (a->format == AUDIO_CODING_TYPE_LPCM) |
| 384 | snd_print_pcm_bits(a->sample_bits, buf2 + 8, sizeof(buf2 - 8)); | 384 | snd_print_pcm_bits(a->sample_bits, buf2 + 8, sizeof(buf2) - 8); |
| 385 | else if (a->max_bitrate) | 385 | else if (a->max_bitrate) |
| 386 | snprintf(buf2, sizeof(buf2), | 386 | snprintf(buf2, sizeof(buf2), |
| 387 | ", max bitrate = %d", a->max_bitrate); | 387 | ", max bitrate = %d", a->max_bitrate); |
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 269dbff70b92..2fa9ed99c32f 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
| @@ -1721,7 +1721,9 @@ static void alc_apply_fixup(struct hda_codec *codec, int action) | |||
| 1721 | { | 1721 | { |
| 1722 | struct alc_spec *spec = codec->spec; | 1722 | struct alc_spec *spec = codec->spec; |
| 1723 | int id = spec->fixup_id; | 1723 | int id = spec->fixup_id; |
| 1724 | #ifdef CONFIG_SND_DEBUG_VERBOSE | ||
| 1724 | const char *modelname = spec->fixup_name; | 1725 | const char *modelname = spec->fixup_name; |
| 1726 | #endif | ||
| 1725 | int depth = 0; | 1727 | int depth = 0; |
| 1726 | 1728 | ||
| 1727 | if (!spec->fixup_list) | 1729 | if (!spec->fixup_list) |
| @@ -10930,9 +10932,6 @@ static int alc_auto_add_mic_boost(struct hda_codec *codec) | |||
| 10930 | return 0; | 10932 | return 0; |
| 10931 | } | 10933 | } |
| 10932 | 10934 | ||
| 10933 | static int alc861vd_auto_create_multi_out_ctls(struct alc_spec *spec, | ||
| 10934 | const struct auto_pin_cfg *cfg); | ||
| 10935 | |||
| 10936 | /* almost identical with ALC880 parser... */ | 10935 | /* almost identical with ALC880 parser... */ |
| 10937 | static int alc882_parse_auto_config(struct hda_codec *codec) | 10936 | static int alc882_parse_auto_config(struct hda_codec *codec) |
| 10938 | { | 10937 | { |
| @@ -10950,10 +10949,7 @@ static int alc882_parse_auto_config(struct hda_codec *codec) | |||
| 10950 | err = alc880_auto_fill_dac_nids(spec, &spec->autocfg); | 10949 | err = alc880_auto_fill_dac_nids(spec, &spec->autocfg); |
| 10951 | if (err < 0) | 10950 | if (err < 0) |
| 10952 | return err; | 10951 | return err; |
| 10953 | if (codec->vendor_id == 0x10ec0887) | 10952 | err = alc880_auto_create_multi_out_ctls(spec, &spec->autocfg); |
| 10954 | err = alc861vd_auto_create_multi_out_ctls(spec, &spec->autocfg); | ||
| 10955 | else | ||
| 10956 | err = alc880_auto_create_multi_out_ctls(spec, &spec->autocfg); | ||
| 10957 | if (err < 0) | 10953 | if (err < 0) |
| 10958 | return err; | 10954 | return err; |
| 10959 | err = alc880_auto_create_extra_out(spec, spec->autocfg.hp_pins[0], | 10955 | err = alc880_auto_create_extra_out(spec, spec->autocfg.hp_pins[0], |
| @@ -12635,6 +12631,8 @@ static struct snd_pci_quirk alc262_cfg_tbl[] = { | |||
| 12635 | ALC262_HP_BPC), | 12631 | ALC262_HP_BPC), |
| 12636 | SND_PCI_QUIRK_MASK(0x103c, 0xff00, 0x1300, "HP xw series", | 12632 | SND_PCI_QUIRK_MASK(0x103c, 0xff00, 0x1300, "HP xw series", |
| 12637 | ALC262_HP_BPC), | 12633 | ALC262_HP_BPC), |
| 12634 | SND_PCI_QUIRK_MASK(0x103c, 0xff00, 0x1500, "HP z series", | ||
| 12635 | ALC262_HP_BPC), | ||
| 12638 | SND_PCI_QUIRK_MASK(0x103c, 0xff00, 0x1700, "HP xw series", | 12636 | SND_PCI_QUIRK_MASK(0x103c, 0xff00, 0x1700, "HP xw series", |
| 12639 | ALC262_HP_BPC), | 12637 | ALC262_HP_BPC), |
| 12640 | SND_PCI_QUIRK(0x103c, 0x2800, "HP D7000", ALC262_HP_BPC_D7000_WL), | 12638 | SND_PCI_QUIRK(0x103c, 0x2800, "HP D7000", ALC262_HP_BPC_D7000_WL), |
| @@ -14956,8 +14954,11 @@ static struct snd_pci_quirk alc269_fixup_tbl[] = { | |||
| 14956 | SND_PCI_QUIRK(0x104d, 0x9084, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ), | 14954 | SND_PCI_QUIRK(0x104d, 0x9084, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ), |
| 14957 | SND_PCI_QUIRK_VENDOR(0x104d, "Sony VAIO", ALC269_FIXUP_SONY_VAIO), | 14955 | SND_PCI_QUIRK_VENDOR(0x104d, "Sony VAIO", ALC269_FIXUP_SONY_VAIO), |
| 14958 | SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z), | 14956 | SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z), |
| 14959 | SND_PCI_QUIRK(0x17aa, 0x21b8, "Thinkpad Edge 14", ALC269_FIXUP_SKU_IGNORE), | ||
| 14960 | SND_PCI_QUIRK(0x17aa, 0x20f2, "Thinkpad SL410/510", ALC269_FIXUP_SKU_IGNORE), | 14957 | SND_PCI_QUIRK(0x17aa, 0x20f2, "Thinkpad SL410/510", ALC269_FIXUP_SKU_IGNORE), |
| 14958 | SND_PCI_QUIRK(0x17aa, 0x215e, "Thinkpad L512", ALC269_FIXUP_SKU_IGNORE), | ||
| 14959 | SND_PCI_QUIRK(0x17aa, 0x21b8, "Thinkpad Edge 14", ALC269_FIXUP_SKU_IGNORE), | ||
| 14960 | SND_PCI_QUIRK(0x17aa, 0x21ca, "Thinkpad L412", ALC269_FIXUP_SKU_IGNORE), | ||
| 14961 | SND_PCI_QUIRK(0x17aa, 0x21e9, "Thinkpad Edge 15", ALC269_FIXUP_SKU_IGNORE), | ||
| 14961 | SND_PCI_QUIRK(0x1043, 0x1a13, "Asus G73Jw", ALC269_FIXUP_ASUS_G73JW), | 14962 | SND_PCI_QUIRK(0x1043, 0x1a13, "Asus G73Jw", ALC269_FIXUP_ASUS_G73JW), |
| 14962 | SND_PCI_QUIRK(0x17aa, 0x9e54, "LENOVO NB", ALC269_FIXUP_LENOVO_EAPD), | 14963 | SND_PCI_QUIRK(0x17aa, 0x9e54, "LENOVO NB", ALC269_FIXUP_LENOVO_EAPD), |
| 14963 | {} | 14964 | {} |
| @@ -17134,7 +17135,7 @@ static void alc861vd_auto_init_analog_input(struct hda_codec *codec) | |||
| 17134 | #define alc861vd_idx_to_mixer_switch(nid) ((nid) + 0x0c) | 17135 | #define alc861vd_idx_to_mixer_switch(nid) ((nid) + 0x0c) |
| 17135 | 17136 | ||
| 17136 | /* add playback controls from the parsed DAC table */ | 17137 | /* add playback controls from the parsed DAC table */ |
| 17137 | /* Based on ALC880 version. But ALC861VD and ALC887 have separate, | 17138 | /* Based on ALC880 version. But ALC861VD has separate, |
| 17138 | * different NIDs for mute/unmute switch and volume control */ | 17139 | * different NIDs for mute/unmute switch and volume control */ |
| 17139 | static int alc861vd_auto_create_multi_out_ctls(struct alc_spec *spec, | 17140 | static int alc861vd_auto_create_multi_out_ctls(struct alc_spec *spec, |
| 17140 | const struct auto_pin_cfg *cfg) | 17141 | const struct auto_pin_cfg *cfg) |
| @@ -19461,6 +19462,7 @@ enum { | |||
| 19461 | ALC662_FIXUP_ASPIRE, | 19462 | ALC662_FIXUP_ASPIRE, |
| 19462 | ALC662_FIXUP_IDEAPAD, | 19463 | ALC662_FIXUP_IDEAPAD, |
| 19463 | ALC272_FIXUP_MARIO, | 19464 | ALC272_FIXUP_MARIO, |
| 19465 | ALC662_FIXUP_CZC_P10T, | ||
| 19464 | }; | 19466 | }; |
| 19465 | 19467 | ||
| 19466 | static const struct alc_fixup alc662_fixups[] = { | 19468 | static const struct alc_fixup alc662_fixups[] = { |
| @@ -19481,7 +19483,14 @@ static const struct alc_fixup alc662_fixups[] = { | |||
| 19481 | [ALC272_FIXUP_MARIO] = { | 19483 | [ALC272_FIXUP_MARIO] = { |
| 19482 | .type = ALC_FIXUP_FUNC, | 19484 | .type = ALC_FIXUP_FUNC, |
| 19483 | .v.func = alc272_fixup_mario, | 19485 | .v.func = alc272_fixup_mario, |
| 19484 | } | 19486 | }, |
| 19487 | [ALC662_FIXUP_CZC_P10T] = { | ||
| 19488 | .type = ALC_FIXUP_VERBS, | ||
| 19489 | .v.verbs = (const struct hda_verb[]) { | ||
| 19490 | {0x14, AC_VERB_SET_EAPD_BTLENABLE, 0}, | ||
| 19491 | {} | ||
| 19492 | } | ||
| 19493 | }, | ||
| 19485 | }; | 19494 | }; |
| 19486 | 19495 | ||
| 19487 | static struct snd_pci_quirk alc662_fixup_tbl[] = { | 19496 | static struct snd_pci_quirk alc662_fixup_tbl[] = { |
| @@ -19489,6 +19498,7 @@ static struct snd_pci_quirk alc662_fixup_tbl[] = { | |||
| 19489 | SND_PCI_QUIRK(0x144d, 0xc051, "Samsung R720", ALC662_FIXUP_IDEAPAD), | 19498 | SND_PCI_QUIRK(0x144d, 0xc051, "Samsung R720", ALC662_FIXUP_IDEAPAD), |
| 19490 | SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo Ideapad Y550P", ALC662_FIXUP_IDEAPAD), | 19499 | SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo Ideapad Y550P", ALC662_FIXUP_IDEAPAD), |
| 19491 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Ideapad Y550", ALC662_FIXUP_IDEAPAD), | 19500 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Ideapad Y550", ALC662_FIXUP_IDEAPAD), |
| 19501 | SND_PCI_QUIRK(0x1b35, 0x2206, "CZC P10T", ALC662_FIXUP_CZC_P10T), | ||
| 19492 | {} | 19502 | {} |
| 19493 | }; | 19503 | }; |
| 19494 | 19504 | ||
diff --git a/sound/pci/ice1712/delta.c b/sound/pci/ice1712/delta.c index 7b62de089fee..20c6b079d0df 100644 --- a/sound/pci/ice1712/delta.c +++ b/sound/pci/ice1712/delta.c | |||
| @@ -580,6 +580,7 @@ static int __devinit snd_ice1712_delta_init(struct snd_ice1712 *ice) | |||
| 580 | { | 580 | { |
| 581 | int err; | 581 | int err; |
| 582 | struct snd_akm4xxx *ak; | 582 | struct snd_akm4xxx *ak; |
| 583 | unsigned char tmp; | ||
| 583 | 584 | ||
| 584 | if (ice->eeprom.subvendor == ICE1712_SUBDEVICE_DELTA1010 && | 585 | if (ice->eeprom.subvendor == ICE1712_SUBDEVICE_DELTA1010 && |
| 585 | ice->eeprom.gpiodir == 0x7b) | 586 | ice->eeprom.gpiodir == 0x7b) |
| @@ -622,6 +623,12 @@ static int __devinit snd_ice1712_delta_init(struct snd_ice1712 *ice) | |||
| 622 | break; | 623 | break; |
| 623 | } | 624 | } |
| 624 | 625 | ||
| 626 | /* initialize the SPI clock to high */ | ||
| 627 | tmp = snd_ice1712_read(ice, ICE1712_IREG_GPIO_DATA); | ||
| 628 | tmp |= ICE1712_DELTA_AP_CCLK; | ||
| 629 | snd_ice1712_write(ice, ICE1712_IREG_GPIO_DATA, tmp); | ||
| 630 | udelay(5); | ||
| 631 | |||
| 625 | /* initialize spdif */ | 632 | /* initialize spdif */ |
| 626 | switch (ice->eeprom.subvendor) { | 633 | switch (ice->eeprom.subvendor) { |
| 627 | case ICE1712_SUBDEVICE_AUDIOPHILE: | 634 | case ICE1712_SUBDEVICE_AUDIOPHILE: |
diff --git a/sound/pci/oxygen/xonar_cs43xx.c b/sound/pci/oxygen/xonar_cs43xx.c index 9f72d424969c..252719101c42 100644 --- a/sound/pci/oxygen/xonar_cs43xx.c +++ b/sound/pci/oxygen/xonar_cs43xx.c | |||
| @@ -392,7 +392,7 @@ static void dump_d1_registers(struct oxygen *chip, | |||
| 392 | unsigned int i; | 392 | unsigned int i; |
| 393 | 393 | ||
| 394 | snd_iprintf(buffer, "\nCS4398: 7?"); | 394 | snd_iprintf(buffer, "\nCS4398: 7?"); |
| 395 | for (i = 2; i <= 8; ++i) | 395 | for (i = 2; i < 8; ++i) |
| 396 | snd_iprintf(buffer, " %02x", data->cs4398_regs[i]); | 396 | snd_iprintf(buffer, " %02x", data->cs4398_regs[i]); |
| 397 | snd_iprintf(buffer, "\n"); | 397 | snd_iprintf(buffer, "\n"); |
| 398 | dump_cs4362a_registers(data, buffer); | 398 | dump_cs4362a_registers(data, buffer); |
