mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-09 14:50:19 +00:00
sound fixes for 3.3-rc4
Basically all small fixes suited as rc4: a few HD-audio regression fixes, a stable fix for an old Dell laptop with intel8x0, and a simple fix for ASoC fsi. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) iQIcBAABAgAGBQJPOjNOAAoJEGwxgFQ9KSmkVq4P/j3wXouR03as78Y97WtvO3xw S6dFyiR12oNVhEFcSZ/nZxVt7NwxeorhTkuM4UsvmrWYZVMRGYbYCKiIBMwzovnF ln2toFEf19uy2vZ66qOdz3GyCbjNCq2kXEOFgD9z+9ICQzn35nDh833NMJ4thDKQ QemDy+pU0EChm//O32kuA0OZ0ZR8EDIQhwmPIBEmWzxD0jq95ozbKzxFtXUpnNhJ N4iubolY2i2c40YlyPWu9m7gyuAC4oxEFa4/GXrBUm1Yxt5odYaVllYru0OZe+vh 1bdobG7SQg8Vs/D8oRwY2gbZV10s6kU98Rgl1q2GVbHEtOC5dI2jA2a6Vx+Utdof 0uwvk7P+FhyW0VFOkQDwMbs1K3bEoQfrtA+pU/IzvLtWoL1PuzLdEfPuN2G7llpV sxJcnrl2/10A3YkmOTGiIr0aR1C/HcJ4NWK/lbnr3c5hPRxoqmRR7BhWrWFkiMlu yf2KOVZ3T7MZCHCmFZmSTDvUx/KEI+VDYLLIg1/Edw4v8Wp14glPFziSpMrgz1mE qLVpvP4uDG2DtFaTMhYjjQLPyWca317fJ4ILxLs6g6Kn7nuM3EXZo4FNNwJ3m6Rd HQxspsnD8YeE1muUpBKGhgcrx+6e9t3aY3CkWOfqweYP70Clf5yDrkGabaDFmXCT wqfiGvrrKTWejCAHoyaw =Dtrw -----END PGP SIGNATURE----- Merge tag 'sound-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound sound fixes for 3.3-rc4 Basically all small fixes suited as rc4: a few HD-audio regression fixes, a stable fix for an old Dell laptop with intel8x0, and a simple fix for ASoC fsi. * tag 'sound-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: intel8x0: Fix default inaudible sound on Gateway M520 ALSA: hda - Fix silent speaker output on Acer Aspire 6935 ALSA: hda - Fix initialization of secondary capture source on VT1705 ASoC: fsi: fixup fsi_pointer() calculation method ALSA: hda - Fix mute-LED VREF value for new HP laptops
This commit is contained in:
commit
13d261932b
@ -4374,6 +4374,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,
|
||||
@ -4427,6 +4428,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,
|
||||
@ -4574,6 +4592,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[] = {
|
||||
@ -4598,6 +4620,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),
|
||||
|
@ -5078,9 +5078,9 @@ static int stac92xx_update_led_status(struct hda_codec *codec)
|
||||
spec->gpio_dir, spec->gpio_data);
|
||||
} else {
|
||||
notmtd_lvl = spec->gpio_led_polarity ?
|
||||
AC_PINCTL_VREF_HIZ : AC_PINCTL_VREF_GRD;
|
||||
AC_PINCTL_VREF_50 : AC_PINCTL_VREF_GRD;
|
||||
muted_lvl = spec->gpio_led_polarity ?
|
||||
AC_PINCTL_VREF_GRD : AC_PINCTL_VREF_HIZ;
|
||||
AC_PINCTL_VREF_GRD : AC_PINCTL_VREF_50;
|
||||
spec->vref_led = muted ? muted_lvl : notmtd_lvl;
|
||||
stac_vrefout_set(codec, spec->vref_mute_led_nid,
|
||||
spec->vref_led);
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -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…
x
Reference in New Issue
Block a user