Loading sound/pci/hda/patch_realtek.c +31 −3 Original line number Diff line number Diff line Loading @@ -80,6 +80,8 @@ enum { ALC_AUTOMUTE_MIXER, /* mute/unmute mixer widget AMP */ }; #define MAX_VOL_NIDS 0x40 struct alc_spec { /* codec parameterization */ const struct snd_kcontrol_new *mixers[5]; /* mixer arrays */ Loading Loading @@ -118,8 +120,8 @@ struct alc_spec { const hda_nid_t *capsrc_nids; hda_nid_t dig_in_nid; /* digital-in NID; optional */ hda_nid_t mixer_nid; /* analog-mixer NID */ DECLARE_BITMAP(vol_ctls, 0x20 << 1); DECLARE_BITMAP(sw_ctls, 0x20 << 1); DECLARE_BITMAP(vol_ctls, MAX_VOL_NIDS << 1); DECLARE_BITMAP(sw_ctls, MAX_VOL_NIDS << 1); /* capture setup for dynamic dual-adc switch */ hda_nid_t cur_adc; Loading Loading @@ -3125,7 +3127,10 @@ static int alc_auto_fill_dac_nids(struct hda_codec *codec) static inline unsigned int get_ctl_pos(unsigned int data) { hda_nid_t nid = get_amp_nid_(data); unsigned int dir = get_amp_direction_(data); unsigned int dir; if (snd_BUG_ON(nid >= MAX_VOL_NIDS)) return 0; dir = get_amp_direction_(data); return (nid << 1) | dir; } Loading Loading @@ -4399,6 +4404,7 @@ enum { ALC882_FIXUP_ACER_ASPIRE_8930G, ALC882_FIXUP_ASPIRE_8930G_VERBS, ALC885_FIXUP_MACPRO_GPIO, ALC889_FIXUP_DAC_ROUTE, }; static void alc889_fixup_coef(struct hda_codec *codec, Loading Loading @@ -4452,6 +4458,23 @@ static void alc885_fixup_macpro_gpio(struct hda_codec *codec, alc882_gpio_mute(codec, 1, 0); } /* Fix the connection of some pins for ALC889: * At least, Acer Aspire 5935 shows the connections to DAC3/4 don't * work correctly (bko#42740) */ static void alc889_fixup_dac_route(struct hda_codec *codec, const struct alc_fixup *fix, int action) { if (action == ALC_FIXUP_ACT_PRE_PROBE) { hda_nid_t conn1[2] = { 0x0c, 0x0d }; hda_nid_t conn2[2] = { 0x0e, 0x0f }; snd_hda_override_conn_list(codec, 0x14, 2, conn1); snd_hda_override_conn_list(codec, 0x15, 2, conn1); snd_hda_override_conn_list(codec, 0x18, 2, conn2); snd_hda_override_conn_list(codec, 0x1a, 2, conn2); } } static const struct alc_fixup alc882_fixups[] = { [ALC882_FIXUP_ABIT_AW9D_MAX] = { .type = ALC_FIXUP_PINS, Loading Loading @@ -4599,6 +4622,10 @@ static const struct alc_fixup alc882_fixups[] = { .type = ALC_FIXUP_FUNC, .v.func = alc885_fixup_macpro_gpio, }, [ALC889_FIXUP_DAC_ROUTE] = { .type = ALC_FIXUP_FUNC, .v.func = alc889_fixup_dac_route, }, }; static const struct snd_pci_quirk alc882_fixup_tbl[] = { Loading @@ -4623,6 +4650,7 @@ static const struct snd_pci_quirk alc882_fixup_tbl[] = { SND_PCI_QUIRK(0x1025, 0x0142, "Acer Aspire 7730G", ALC882_FIXUP_ACER_ASPIRE_4930G), SND_PCI_QUIRK(0x1025, 0x0155, "Packard-Bell M5120", ALC882_FIXUP_PB_M5210), SND_PCI_QUIRK(0x1025, 0x0259, "Acer Aspire 5935", ALC889_FIXUP_DAC_ROUTE), SND_PCI_QUIRK(0x1025, 0x0296, "Acer Aspire 7736z", ALC882_FIXUP_ACER_ASPIRE_7736), SND_PCI_QUIRK(0x1043, 0x13c2, "Asus A7M", ALC882_FIXUP_EAPD), SND_PCI_QUIRK(0x1043, 0x1873, "ASUS W90V", ALC882_FIXUP_ASUS_W90V), Loading sound/pci/hda/patch_via.c +3 −0 Original line number Diff line number Diff line Loading @@ -666,6 +666,9 @@ static void via_auto_init_analog_input(struct hda_codec *codec) /* init input-src */ for (i = 0; i < spec->num_adc_nids; i++) { int adc_idx = spec->inputs[spec->cur_mux[i]].adc_idx; /* secondary ADCs must have the unique MUX */ if (i > 0 && !spec->mux_nids[i]) break; if (spec->mux_nids[adc_idx]) { int mux_idx = spec->inputs[spec->cur_mux[i]].mux_idx; snd_hda_codec_write(codec, spec->mux_nids[adc_idx], 0, Loading sound/pci/intel8x0.c +6 −0 Original line number Diff line number Diff line Loading @@ -2100,6 +2100,12 @@ static struct ac97_quirk ac97_quirks[] __devinitdata = { .name = "MSI P4 ATX 645 Ultra", .type = AC97_TUNE_HP_ONLY }, { .subvendor = 0x161f, .subdevice = 0x202f, .name = "Gateway M520", .type = AC97_TUNE_INV_EAPD }, { .subvendor = 0x161f, .subdevice = 0x203a, Loading sound/soc/sh/fsi.c +1 −5 Original line number Diff line number Diff line Loading @@ -1152,12 +1152,8 @@ static snd_pcm_uframes_t fsi_pointer(struct snd_pcm_substream *substream) { struct fsi_priv *fsi = fsi_get_priv(substream); struct fsi_stream *io = fsi_get_stream(fsi, fsi_is_play(substream)); int samples_pos = io->buff_sample_pos - 1; if (samples_pos < 0) samples_pos = 0; return fsi_sample2frame(fsi, samples_pos); return fsi_sample2frame(fsi, io->buff_sample_pos); } static struct snd_pcm_ops fsi_pcm_ops = { Loading sound/usb/card.h +1 −0 Original line number Diff line number Diff line #ifndef __USBAUDIO_CARD_H #define __USBAUDIO_CARD_H #define MAX_NR_RATES 1024 #define MAX_PACKS 20 #define MAX_PACKS_HS (MAX_PACKS * 8) /* in high speed mode */ #define MAX_URBS 8 Loading Loading
sound/pci/hda/patch_realtek.c +31 −3 Original line number Diff line number Diff line Loading @@ -80,6 +80,8 @@ enum { ALC_AUTOMUTE_MIXER, /* mute/unmute mixer widget AMP */ }; #define MAX_VOL_NIDS 0x40 struct alc_spec { /* codec parameterization */ const struct snd_kcontrol_new *mixers[5]; /* mixer arrays */ Loading Loading @@ -118,8 +120,8 @@ struct alc_spec { const hda_nid_t *capsrc_nids; hda_nid_t dig_in_nid; /* digital-in NID; optional */ hda_nid_t mixer_nid; /* analog-mixer NID */ DECLARE_BITMAP(vol_ctls, 0x20 << 1); DECLARE_BITMAP(sw_ctls, 0x20 << 1); DECLARE_BITMAP(vol_ctls, MAX_VOL_NIDS << 1); DECLARE_BITMAP(sw_ctls, MAX_VOL_NIDS << 1); /* capture setup for dynamic dual-adc switch */ hda_nid_t cur_adc; Loading Loading @@ -3125,7 +3127,10 @@ static int alc_auto_fill_dac_nids(struct hda_codec *codec) static inline unsigned int get_ctl_pos(unsigned int data) { hda_nid_t nid = get_amp_nid_(data); unsigned int dir = get_amp_direction_(data); unsigned int dir; if (snd_BUG_ON(nid >= MAX_VOL_NIDS)) return 0; dir = get_amp_direction_(data); return (nid << 1) | dir; } Loading Loading @@ -4399,6 +4404,7 @@ enum { ALC882_FIXUP_ACER_ASPIRE_8930G, ALC882_FIXUP_ASPIRE_8930G_VERBS, ALC885_FIXUP_MACPRO_GPIO, ALC889_FIXUP_DAC_ROUTE, }; static void alc889_fixup_coef(struct hda_codec *codec, Loading Loading @@ -4452,6 +4458,23 @@ static void alc885_fixup_macpro_gpio(struct hda_codec *codec, alc882_gpio_mute(codec, 1, 0); } /* Fix the connection of some pins for ALC889: * At least, Acer Aspire 5935 shows the connections to DAC3/4 don't * work correctly (bko#42740) */ static void alc889_fixup_dac_route(struct hda_codec *codec, const struct alc_fixup *fix, int action) { if (action == ALC_FIXUP_ACT_PRE_PROBE) { hda_nid_t conn1[2] = { 0x0c, 0x0d }; hda_nid_t conn2[2] = { 0x0e, 0x0f }; snd_hda_override_conn_list(codec, 0x14, 2, conn1); snd_hda_override_conn_list(codec, 0x15, 2, conn1); snd_hda_override_conn_list(codec, 0x18, 2, conn2); snd_hda_override_conn_list(codec, 0x1a, 2, conn2); } } static const struct alc_fixup alc882_fixups[] = { [ALC882_FIXUP_ABIT_AW9D_MAX] = { .type = ALC_FIXUP_PINS, Loading Loading @@ -4599,6 +4622,10 @@ static const struct alc_fixup alc882_fixups[] = { .type = ALC_FIXUP_FUNC, .v.func = alc885_fixup_macpro_gpio, }, [ALC889_FIXUP_DAC_ROUTE] = { .type = ALC_FIXUP_FUNC, .v.func = alc889_fixup_dac_route, }, }; static const struct snd_pci_quirk alc882_fixup_tbl[] = { Loading @@ -4623,6 +4650,7 @@ static const struct snd_pci_quirk alc882_fixup_tbl[] = { SND_PCI_QUIRK(0x1025, 0x0142, "Acer Aspire 7730G", ALC882_FIXUP_ACER_ASPIRE_4930G), SND_PCI_QUIRK(0x1025, 0x0155, "Packard-Bell M5120", ALC882_FIXUP_PB_M5210), SND_PCI_QUIRK(0x1025, 0x0259, "Acer Aspire 5935", ALC889_FIXUP_DAC_ROUTE), SND_PCI_QUIRK(0x1025, 0x0296, "Acer Aspire 7736z", ALC882_FIXUP_ACER_ASPIRE_7736), SND_PCI_QUIRK(0x1043, 0x13c2, "Asus A7M", ALC882_FIXUP_EAPD), SND_PCI_QUIRK(0x1043, 0x1873, "ASUS W90V", ALC882_FIXUP_ASUS_W90V), Loading
sound/pci/hda/patch_via.c +3 −0 Original line number Diff line number Diff line Loading @@ -666,6 +666,9 @@ static void via_auto_init_analog_input(struct hda_codec *codec) /* init input-src */ for (i = 0; i < spec->num_adc_nids; i++) { int adc_idx = spec->inputs[spec->cur_mux[i]].adc_idx; /* secondary ADCs must have the unique MUX */ if (i > 0 && !spec->mux_nids[i]) break; if (spec->mux_nids[adc_idx]) { int mux_idx = spec->inputs[spec->cur_mux[i]].mux_idx; snd_hda_codec_write(codec, spec->mux_nids[adc_idx], 0, Loading
sound/pci/intel8x0.c +6 −0 Original line number Diff line number Diff line Loading @@ -2100,6 +2100,12 @@ static struct ac97_quirk ac97_quirks[] __devinitdata = { .name = "MSI P4 ATX 645 Ultra", .type = AC97_TUNE_HP_ONLY }, { .subvendor = 0x161f, .subdevice = 0x202f, .name = "Gateway M520", .type = AC97_TUNE_INV_EAPD }, { .subvendor = 0x161f, .subdevice = 0x203a, Loading
sound/soc/sh/fsi.c +1 −5 Original line number Diff line number Diff line Loading @@ -1152,12 +1152,8 @@ static snd_pcm_uframes_t fsi_pointer(struct snd_pcm_substream *substream) { struct fsi_priv *fsi = fsi_get_priv(substream); struct fsi_stream *io = fsi_get_stream(fsi, fsi_is_play(substream)); int samples_pos = io->buff_sample_pos - 1; if (samples_pos < 0) samples_pos = 0; return fsi_sample2frame(fsi, samples_pos); return fsi_sample2frame(fsi, io->buff_sample_pos); } static struct snd_pcm_ops fsi_pcm_ops = { Loading
sound/usb/card.h +1 −0 Original line number Diff line number Diff line #ifndef __USBAUDIO_CARD_H #define __USBAUDIO_CARD_H #define MAX_NR_RATES 1024 #define MAX_PACKS 20 #define MAX_PACKS_HS (MAX_PACKS * 8) /* in high speed mode */ #define MAX_URBS 8 Loading