diff options
author | Seth Heasley <seth.heasley@intel.com> | 2010-02-22 20:31:09 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-04-26 10:48:00 -0400 |
commit | 8feb91430b3b5c0e6921f2768b705460b479d3ac (patch) | |
tree | e9384f0d2be0c3b26b988a2f184f5925dd1a11b1 | |
parent | e394b8d741c2879fcfc89a2f0cacaca19bb62383 (diff) |
ALSA: hda - enable snoop for Intel Cougar Point
commit 32679f95cac3b1bdf27dce8b5273e06af186fd91 upstream.
This patch enables snoop, eliminating static during playback.
This patch supersedes the previous Cougar Point audio patch.
Signed-off-by: Seth Heasley <seth.heasley@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: maximilian attems <max@stro.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | sound/pci/hda/hda_intel.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 8ef294a44e1a..aecb0eb7e1a4 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c | |||
@@ -450,6 +450,7 @@ struct azx { | |||
450 | /* driver types */ | 450 | /* driver types */ |
451 | enum { | 451 | enum { |
452 | AZX_DRIVER_ICH, | 452 | AZX_DRIVER_ICH, |
453 | AZX_DRIVER_PCH, | ||
453 | AZX_DRIVER_SCH, | 454 | AZX_DRIVER_SCH, |
454 | AZX_DRIVER_ATI, | 455 | AZX_DRIVER_ATI, |
455 | AZX_DRIVER_ATIHDMI, | 456 | AZX_DRIVER_ATIHDMI, |
@@ -464,6 +465,7 @@ enum { | |||
464 | 465 | ||
465 | static char *driver_short_names[] __devinitdata = { | 466 | static char *driver_short_names[] __devinitdata = { |
466 | [AZX_DRIVER_ICH] = "HDA Intel", | 467 | [AZX_DRIVER_ICH] = "HDA Intel", |
468 | [AZX_DRIVER_PCH] = "HDA Intel PCH", | ||
467 | [AZX_DRIVER_SCH] = "HDA Intel MID", | 469 | [AZX_DRIVER_SCH] = "HDA Intel MID", |
468 | [AZX_DRIVER_ATI] = "HDA ATI SB", | 470 | [AZX_DRIVER_ATI] = "HDA ATI SB", |
469 | [AZX_DRIVER_ATIHDMI] = "HDA ATI HDMI", | 471 | [AZX_DRIVER_ATIHDMI] = "HDA ATI HDMI", |
@@ -1066,6 +1068,7 @@ static void azx_init_pci(struct azx *chip) | |||
1066 | 0x01, NVIDIA_HDA_ENABLE_COHBIT); | 1068 | 0x01, NVIDIA_HDA_ENABLE_COHBIT); |
1067 | break; | 1069 | break; |
1068 | case AZX_DRIVER_SCH: | 1070 | case AZX_DRIVER_SCH: |
1071 | case AZX_DRIVER_PCH: | ||
1069 | pci_read_config_word(chip->pci, INTEL_SCH_HDA_DEVC, &snoop); | 1072 | pci_read_config_word(chip->pci, INTEL_SCH_HDA_DEVC, &snoop); |
1070 | if (snoop & INTEL_SCH_HDA_DEVC_NOSNOOP) { | 1073 | if (snoop & INTEL_SCH_HDA_DEVC_NOSNOOP) { |
1071 | pci_write_config_word(chip->pci, INTEL_SCH_HDA_DEVC, | 1074 | pci_write_config_word(chip->pci, INTEL_SCH_HDA_DEVC, |
@@ -2434,6 +2437,7 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci, | |||
2434 | if (bdl_pos_adj[dev] < 0) { | 2437 | if (bdl_pos_adj[dev] < 0) { |
2435 | switch (chip->driver_type) { | 2438 | switch (chip->driver_type) { |
2436 | case AZX_DRIVER_ICH: | 2439 | case AZX_DRIVER_ICH: |
2440 | case AZX_DRIVER_PCH: | ||
2437 | bdl_pos_adj[dev] = 1; | 2441 | bdl_pos_adj[dev] = 1; |
2438 | break; | 2442 | break; |
2439 | default: | 2443 | default: |
@@ -2713,7 +2717,7 @@ static struct pci_device_id azx_ids[] = { | |||
2713 | /* PCH */ | 2717 | /* PCH */ |
2714 | { PCI_DEVICE(0x8086, 0x3b56), .driver_data = AZX_DRIVER_ICH }, | 2718 | { PCI_DEVICE(0x8086, 0x3b56), .driver_data = AZX_DRIVER_ICH }, |
2715 | /* CPT */ | 2719 | /* CPT */ |
2716 | { PCI_DEVICE(0x8086, 0x1c20), .driver_data = AZX_DRIVER_ICH }, | 2720 | { PCI_DEVICE(0x8086, 0x1c20), .driver_data = AZX_DRIVER_PCH }, |
2717 | /* SCH */ | 2721 | /* SCH */ |
2718 | { PCI_DEVICE(0x8086, 0x811b), .driver_data = AZX_DRIVER_SCH }, | 2722 | { PCI_DEVICE(0x8086, 0x811b), .driver_data = AZX_DRIVER_SCH }, |
2719 | /* ATI SB 450/600 */ | 2723 | /* ATI SB 450/600 */ |