Merge branch 'for-linus' into for-next
This commit is contained in:
Коммит
b95ff8e61a
|
@ -1019,7 +1019,7 @@ static void dice_proc_read(struct snd_info_entry *entry,
|
|||
|
||||
if (dice_proc_read_mem(dice, &tx_rx_header, sections[2], 2) < 0)
|
||||
return;
|
||||
quadlets = min_t(u32, tx_rx_header.size, sizeof(buf.tx));
|
||||
quadlets = min_t(u32, tx_rx_header.size, sizeof(buf.tx) / 4);
|
||||
for (stream = 0; stream < tx_rx_header.number; ++stream) {
|
||||
if (dice_proc_read_mem(dice, &buf.tx, sections[2] + 2 +
|
||||
stream * tx_rx_header.size,
|
||||
|
@ -1045,7 +1045,7 @@ static void dice_proc_read(struct snd_info_entry *entry,
|
|||
|
||||
if (dice_proc_read_mem(dice, &tx_rx_header, sections[4], 2) < 0)
|
||||
return;
|
||||
quadlets = min_t(u32, tx_rx_header.size, sizeof(buf.rx));
|
||||
quadlets = min_t(u32, tx_rx_header.size, sizeof(buf.rx) / 4);
|
||||
for (stream = 0; stream < tx_rx_header.number; ++stream) {
|
||||
if (dice_proc_read_mem(dice, &buf.rx, sections[4] + 2 +
|
||||
stream * tx_rx_header.size,
|
||||
|
|
|
@ -3876,7 +3876,8 @@ static int azx_probe(struct pci_dev *pci,
|
|||
}
|
||||
|
||||
dev++;
|
||||
complete_all(&chip->probe_wait);
|
||||
if (chip->disabled)
|
||||
complete_all(&chip->probe_wait);
|
||||
return 0;
|
||||
|
||||
out_free:
|
||||
|
@ -3953,10 +3954,10 @@ static int azx_probe_continue(struct azx *chip)
|
|||
if ((chip->driver_caps & AZX_DCAPS_PM_RUNTIME) || chip->use_vga_switcheroo)
|
||||
pm_runtime_put_noidle(&pci->dev);
|
||||
|
||||
return 0;
|
||||
|
||||
out_free:
|
||||
chip->init_failed = 1;
|
||||
if (err < 0)
|
||||
chip->init_failed = 1;
|
||||
complete_all(&chip->probe_wait);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
@ -962,6 +962,7 @@ static void ad1884_fixup_hp_eapd(struct hda_codec *codec,
|
|||
switch (action) {
|
||||
case HDA_FIXUP_ACT_PRE_PROBE:
|
||||
spec->gen.vmaster_mute.hook = ad1884_vmaster_hp_gpio_hook;
|
||||
spec->gen.own_eapd_ctl = 1;
|
||||
snd_hda_sequence_write_cache(codec, gpio_init_verbs);
|
||||
break;
|
||||
case HDA_FIXUP_ACT_PROBE:
|
||||
|
|
|
@ -1827,6 +1827,8 @@ enum {
|
|||
ALC889_FIXUP_IMAC91_VREF,
|
||||
ALC882_FIXUP_INV_DMIC,
|
||||
ALC882_FIXUP_NO_PRIMARY_HP,
|
||||
ALC887_FIXUP_ASUS_BASS,
|
||||
ALC887_FIXUP_BASS_CHMAP,
|
||||
};
|
||||
|
||||
static void alc889_fixup_coef(struct hda_codec *codec,
|
||||
|
@ -1960,6 +1962,9 @@ static void alc882_fixup_no_primary_hp(struct hda_codec *codec,
|
|||
}
|
||||
}
|
||||
|
||||
static void alc_fixup_bass_chmap(struct hda_codec *codec,
|
||||
const struct hda_fixup *fix, int action);
|
||||
|
||||
static const struct hda_fixup alc882_fixups[] = {
|
||||
[ALC882_FIXUP_ABIT_AW9D_MAX] = {
|
||||
.type = HDA_FIXUP_PINS,
|
||||
|
@ -2150,6 +2155,19 @@ static const struct hda_fixup alc882_fixups[] = {
|
|||
.type = HDA_FIXUP_FUNC,
|
||||
.v.func = alc882_fixup_no_primary_hp,
|
||||
},
|
||||
[ALC887_FIXUP_ASUS_BASS] = {
|
||||
.type = HDA_FIXUP_PINS,
|
||||
.v.pins = (const struct hda_pintbl[]) {
|
||||
{0x16, 0x99130130}, /* bass speaker */
|
||||
{}
|
||||
},
|
||||
.chained = true,
|
||||
.chain_id = ALC887_FIXUP_BASS_CHMAP,
|
||||
},
|
||||
[ALC887_FIXUP_BASS_CHMAP] = {
|
||||
.type = HDA_FIXUP_FUNC,
|
||||
.v.func = alc_fixup_bass_chmap,
|
||||
},
|
||||
};
|
||||
|
||||
static const struct snd_pci_quirk alc882_fixup_tbl[] = {
|
||||
|
@ -2183,6 +2201,7 @@ static const struct snd_pci_quirk alc882_fixup_tbl[] = {
|
|||
SND_PCI_QUIRK(0x1043, 0x1873, "ASUS W90V", ALC882_FIXUP_ASUS_W90V),
|
||||
SND_PCI_QUIRK(0x1043, 0x1971, "Asus W2JC", ALC882_FIXUP_ASUS_W2JC),
|
||||
SND_PCI_QUIRK(0x1043, 0x835f, "Asus Eee 1601", ALC888_FIXUP_EEE1601),
|
||||
SND_PCI_QUIRK(0x1043, 0x84bc, "ASUS ET2700", ALC887_FIXUP_ASUS_BASS),
|
||||
SND_PCI_QUIRK(0x104d, 0x9047, "Sony Vaio TT", ALC889_FIXUP_VAIO_TT),
|
||||
SND_PCI_QUIRK(0x104d, 0x905a, "Sony Vaio Z", ALC882_FIXUP_NO_PRIMARY_HP),
|
||||
SND_PCI_QUIRK(0x104d, 0x9043, "Sony Vaio VGC-LN51JGB", ALC882_FIXUP_NO_PRIMARY_HP),
|
||||
|
@ -4234,6 +4253,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
|
|||
SND_PCI_QUIRK(0x1028, 0x0614, "Dell Inspiron 3135", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
|
||||
SND_PCI_QUIRK(0x1028, 0x0616, "Dell Vostro 5470", ALC290_FIXUP_MONO_SPEAKERS),
|
||||
SND_PCI_QUIRK(0x1028, 0x061f, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE),
|
||||
SND_PCI_QUIRK(0x1028, 0x0638, "Dell Inspiron 5439", ALC290_FIXUP_MONO_SPEAKERS),
|
||||
SND_PCI_QUIRK(0x1028, 0x063f, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE),
|
||||
SND_PCI_QUIRK(0x1028, 0x15cc, "Dell X5 Precision", ALC269_FIXUP_DELL2_MIC_NO_PRESENCE),
|
||||
SND_PCI_QUIRK(0x1028, 0x15cd, "Dell X5 Precision", ALC269_FIXUP_DELL2_MIC_NO_PRESENCE),
|
||||
|
@ -4525,6 +4545,7 @@ enum {
|
|||
ALC861_FIXUP_AMP_VREF_0F,
|
||||
ALC861_FIXUP_NO_JACK_DETECT,
|
||||
ALC861_FIXUP_ASUS_A6RP,
|
||||
ALC660_FIXUP_ASUS_W7J,
|
||||
};
|
||||
|
||||
/* On some laptops, VREF of pin 0x0f is abused for controlling the main amp */
|
||||
|
@ -4574,10 +4595,21 @@ static const struct hda_fixup alc861_fixups[] = {
|
|||
.v.func = alc861_fixup_asus_amp_vref_0f,
|
||||
.chained = true,
|
||||
.chain_id = ALC861_FIXUP_NO_JACK_DETECT,
|
||||
},
|
||||
[ALC660_FIXUP_ASUS_W7J] = {
|
||||
.type = HDA_FIXUP_VERBS,
|
||||
.v.verbs = (const struct hda_verb[]) {
|
||||
/* ASUS W7J needs a magic pin setup on unused NID 0x10
|
||||
* for enabling outputs
|
||||
*/
|
||||
{0x10, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24},
|
||||
{ }
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
static const struct snd_pci_quirk alc861_fixup_tbl[] = {
|
||||
SND_PCI_QUIRK(0x1043, 0x1253, "ASUS W7J", ALC660_FIXUP_ASUS_W7J),
|
||||
SND_PCI_QUIRK(0x1043, 0x1393, "ASUS A6Rp", ALC861_FIXUP_ASUS_A6RP),
|
||||
SND_PCI_QUIRK_VENDOR(0x1043, "ASUS laptop", ALC861_FIXUP_AMP_VREF_0F),
|
||||
SND_PCI_QUIRK(0x1462, 0x7254, "HP DX2200", ALC861_FIXUP_NO_JACK_DETECT),
|
||||
|
@ -4773,7 +4805,7 @@ static const struct snd_pcm_chmap_elem asus_pcm_2_1_chmaps[] = {
|
|||
};
|
||||
|
||||
/* override the 2.1 chmap */
|
||||
static void alc662_fixup_bass_chmap(struct hda_codec *codec,
|
||||
static void alc_fixup_bass_chmap(struct hda_codec *codec,
|
||||
const struct hda_fixup *fix, int action)
|
||||
{
|
||||
if (action == HDA_FIXUP_ACT_BUILD) {
|
||||
|
@ -4981,7 +5013,7 @@ static const struct hda_fixup alc662_fixups[] = {
|
|||
},
|
||||
[ALC662_FIXUP_BASS_CHMAP] = {
|
||||
.type = HDA_FIXUP_FUNC,
|
||||
.v.func = alc662_fixup_bass_chmap,
|
||||
.v.func = alc_fixup_bass_chmap,
|
||||
.chained = true,
|
||||
.chain_id = ALC662_FIXUP_ASUS_MODE4
|
||||
},
|
||||
|
@ -4994,7 +5026,7 @@ static const struct hda_fixup alc662_fixups[] = {
|
|||
},
|
||||
[ALC662_FIXUP_BASS_1A_CHMAP] = {
|
||||
.type = HDA_FIXUP_FUNC,
|
||||
.v.func = alc662_fixup_bass_chmap,
|
||||
.v.func = alc_fixup_bass_chmap,
|
||||
.chained = true,
|
||||
.chain_id = ALC662_FIXUP_BASS_1A,
|
||||
},
|
||||
|
|
Загрузка…
Ссылка в новой задаче