aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSeth Heasley <seth.heasley@intel.com>2010-02-22 20:31:09 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2010-04-26 10:48:00 -0400
commit8feb91430b3b5c0e6921f2768b705460b479d3ac (patch)
treee9384f0d2be0c3b26b988a2f184f5925dd1a11b1
parente394b8d741c2879fcfc89a2f0cacaca19bb62383 (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.c6
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 */
451enum { 451enum {
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
465static char *driver_short_names[] __devinitdata = { 466static 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 */