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: Use STAC_DELL_M6_BOTH quirk for Dell Studio 1558 ALSA: hda: Use LPIB quirk for DG965OT board version AAD63733-203 ALSA: snd-meastro3: Ignore spurious HV interrupts during suspend / resume ALSA: snd-meastro3: Add amp_gpio quirk for Compaq EVO N600C ALSA: hda: Use ALC880_F1734 quirk for Fujitsu Siemens AMILO Xi 1526 ALSA: hda: Use STAC_DELL_M6_BOTH quirk for Dell Studio XPS 1645 ALSA: hda - Fix resume from StR of HP 2510p with docking-station
This commit is contained in:
commit
33eaf78834
|
@ -2273,6 +2273,7 @@ static struct snd_pci_quirk position_fix_list[] __devinitdata = {
|
||||||
SND_PCI_QUIRK(0x1462, 0x1002, "MSI Wind U115", POS_FIX_LPIB),
|
SND_PCI_QUIRK(0x1462, 0x1002, "MSI Wind U115", POS_FIX_LPIB),
|
||||||
SND_PCI_QUIRK(0x1565, 0x820f, "Biostar Microtech", POS_FIX_LPIB),
|
SND_PCI_QUIRK(0x1565, 0x820f, "Biostar Microtech", POS_FIX_LPIB),
|
||||||
SND_PCI_QUIRK(0x1565, 0x8218, "Biostar Microtech", POS_FIX_LPIB),
|
SND_PCI_QUIRK(0x1565, 0x8218, "Biostar Microtech", POS_FIX_LPIB),
|
||||||
|
SND_PCI_QUIRK(0x8086, 0x2503, "DG965OT AAD63733-203", POS_FIX_LPIB),
|
||||||
SND_PCI_QUIRK(0x8086, 0xd601, "eMachines T5212", POS_FIX_LPIB),
|
SND_PCI_QUIRK(0x8086, 0xd601, "eMachines T5212", POS_FIX_LPIB),
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
|
@ -519,14 +519,6 @@ static int ad198x_suspend(struct hda_codec *codec, pm_message_t state)
|
||||||
ad198x_power_eapd(codec);
|
ad198x_power_eapd(codec);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ad198x_resume(struct hda_codec *codec)
|
|
||||||
{
|
|
||||||
ad198x_init(codec);
|
|
||||||
snd_hda_codec_resume_amp(codec);
|
|
||||||
snd_hda_codec_resume_cache(codec);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static struct hda_codec_ops ad198x_patch_ops = {
|
static struct hda_codec_ops ad198x_patch_ops = {
|
||||||
|
@ -539,7 +531,6 @@ static struct hda_codec_ops ad198x_patch_ops = {
|
||||||
#endif
|
#endif
|
||||||
#ifdef SND_HDA_NEEDS_RESUME
|
#ifdef SND_HDA_NEEDS_RESUME
|
||||||
.suspend = ad198x_suspend,
|
.suspend = ad198x_suspend,
|
||||||
.resume = ad198x_resume,
|
|
||||||
#endif
|
#endif
|
||||||
.reboot_notify = ad198x_shutup,
|
.reboot_notify = ad198x_shutup,
|
||||||
};
|
};
|
||||||
|
|
|
@ -4143,7 +4143,7 @@ static struct snd_pci_quirk alc880_cfg_tbl[] = {
|
||||||
SND_PCI_QUIRK(0x1695, 0x4012, "EPox EP-5LDA", ALC880_5ST_DIG),
|
SND_PCI_QUIRK(0x1695, 0x4012, "EPox EP-5LDA", ALC880_5ST_DIG),
|
||||||
SND_PCI_QUIRK(0x1734, 0x107c, "FSC F1734", ALC880_F1734),
|
SND_PCI_QUIRK(0x1734, 0x107c, "FSC F1734", ALC880_F1734),
|
||||||
SND_PCI_QUIRK(0x1734, 0x1094, "FSC Amilo M1451G", ALC880_FUJITSU),
|
SND_PCI_QUIRK(0x1734, 0x1094, "FSC Amilo M1451G", ALC880_FUJITSU),
|
||||||
SND_PCI_QUIRK(0x1734, 0x10ac, "FSC", ALC880_UNIWILL),
|
SND_PCI_QUIRK(0x1734, 0x10ac, "FSC AMILO Xi 1526", ALC880_F1734),
|
||||||
SND_PCI_QUIRK(0x1734, 0x10b0, "Fujitsu", ALC880_FUJITSU),
|
SND_PCI_QUIRK(0x1734, 0x10b0, "Fujitsu", ALC880_FUJITSU),
|
||||||
SND_PCI_QUIRK(0x1854, 0x0018, "LG LW20", ALC880_LG_LW),
|
SND_PCI_QUIRK(0x1854, 0x0018, "LG LW20", ALC880_LG_LW),
|
||||||
SND_PCI_QUIRK(0x1854, 0x003b, "LG", ALC880_LG),
|
SND_PCI_QUIRK(0x1854, 0x003b, "LG", ALC880_LG),
|
||||||
|
|
|
@ -1607,6 +1607,10 @@ static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = {
|
||||||
"Dell Studio 1555", STAC_DELL_M6_DMIC),
|
"Dell Studio 1555", STAC_DELL_M6_DMIC),
|
||||||
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02bd,
|
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02bd,
|
||||||
"Dell Studio 1557", STAC_DELL_M6_DMIC),
|
"Dell Studio 1557", STAC_DELL_M6_DMIC),
|
||||||
|
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02fe,
|
||||||
|
"Dell Studio XPS 1645", STAC_DELL_M6_BOTH),
|
||||||
|
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0413,
|
||||||
|
"Dell Studio 1558", STAC_DELL_M6_BOTH),
|
||||||
{} /* terminator */
|
{} /* terminator */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -849,6 +849,7 @@ struct snd_m3 {
|
||||||
struct snd_kcontrol *master_switch;
|
struct snd_kcontrol *master_switch;
|
||||||
struct snd_kcontrol *master_volume;
|
struct snd_kcontrol *master_volume;
|
||||||
struct tasklet_struct hwvol_tq;
|
struct tasklet_struct hwvol_tq;
|
||||||
|
unsigned int in_suspend;
|
||||||
|
|
||||||
#ifdef CONFIG_PM
|
#ifdef CONFIG_PM
|
||||||
u16 *suspend_mem;
|
u16 *suspend_mem;
|
||||||
|
@ -884,6 +885,7 @@ static DEFINE_PCI_DEVICE_TABLE(snd_m3_ids) = {
|
||||||
MODULE_DEVICE_TABLE(pci, snd_m3_ids);
|
MODULE_DEVICE_TABLE(pci, snd_m3_ids);
|
||||||
|
|
||||||
static struct snd_pci_quirk m3_amp_quirk_list[] __devinitdata = {
|
static struct snd_pci_quirk m3_amp_quirk_list[] __devinitdata = {
|
||||||
|
SND_PCI_QUIRK(0x0E11, 0x0094, "Compaq Evo N600c", 0x0c),
|
||||||
SND_PCI_QUIRK(0x10f7, 0x833e, "Panasonic CF-28", 0x0d),
|
SND_PCI_QUIRK(0x10f7, 0x833e, "Panasonic CF-28", 0x0d),
|
||||||
SND_PCI_QUIRK(0x10f7, 0x833d, "Panasonic CF-72", 0x0d),
|
SND_PCI_QUIRK(0x10f7, 0x833d, "Panasonic CF-72", 0x0d),
|
||||||
SND_PCI_QUIRK(0x1033, 0x80f1, "NEC LM800J/7", 0x03),
|
SND_PCI_QUIRK(0x1033, 0x80f1, "NEC LM800J/7", 0x03),
|
||||||
|
@ -1613,6 +1615,11 @@ static void snd_m3_update_hw_volume(unsigned long private_data)
|
||||||
outb(0x88, chip->iobase + SHADOW_MIX_REG_MASTER);
|
outb(0x88, chip->iobase + SHADOW_MIX_REG_MASTER);
|
||||||
outb(0x88, chip->iobase + HW_VOL_COUNTER_MASTER);
|
outb(0x88, chip->iobase + HW_VOL_COUNTER_MASTER);
|
||||||
|
|
||||||
|
/* Ignore spurious HV interrupts during suspend / resume, this avoids
|
||||||
|
mistaking them for a mute button press. */
|
||||||
|
if (chip->in_suspend)
|
||||||
|
return;
|
||||||
|
|
||||||
if (!chip->master_switch || !chip->master_volume)
|
if (!chip->master_switch || !chip->master_volume)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -2424,6 +2431,7 @@ static int m3_suspend(struct pci_dev *pci, pm_message_t state)
|
||||||
if (chip->suspend_mem == NULL)
|
if (chip->suspend_mem == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
chip->in_suspend = 1;
|
||||||
snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
|
snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
|
||||||
snd_pcm_suspend_all(chip->pcm);
|
snd_pcm_suspend_all(chip->pcm);
|
||||||
snd_ac97_suspend(chip->ac97);
|
snd_ac97_suspend(chip->ac97);
|
||||||
|
@ -2497,6 +2505,7 @@ static int m3_resume(struct pci_dev *pci)
|
||||||
snd_m3_hv_init(chip);
|
snd_m3_hv_init(chip);
|
||||||
|
|
||||||
snd_power_change_state(card, SNDRV_CTL_POWER_D0);
|
snd_power_change_state(card, SNDRV_CTL_POWER_D0);
|
||||||
|
chip->in_suspend = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_PM */
|
#endif /* CONFIG_PM */
|
||||||
|
|
Loading…
Reference in a new issue