| From 32679f95cac3b1bdf27dce8b5273e06af186fd91 Mon Sep 17 00:00:00 2001 |
| From: Seth Heasley <seth.heasley@intel.com> |
| Date: Mon, 22 Feb 2010 17:31:09 -0800 |
| Subject: ALSA: hda - enable snoop for Intel Cougar Point |
| |
| From: Seth Heasley <seth.heasley@intel.com> |
| |
| 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> |
| |
| --- |
| sound/pci/hda/hda_intel.c | 6 +++++- |
| 1 file changed, 5 insertions(+), 1 deletion(-) |
| |
| --- a/sound/pci/hda/hda_intel.c |
| +++ b/sound/pci/hda/hda_intel.c |
| @@ -438,6 +438,7 @@ struct azx { |
| /* driver types */ |
| enum { |
| AZX_DRIVER_ICH, |
| + AZX_DRIVER_PCH, |
| AZX_DRIVER_SCH, |
| AZX_DRIVER_ATI, |
| AZX_DRIVER_ATIHDMI, |
| @@ -452,6 +453,7 @@ enum { |
| |
| static char *driver_short_names[] __devinitdata = { |
| [AZX_DRIVER_ICH] = "HDA Intel", |
| + [AZX_DRIVER_PCH] = "HDA Intel PCH", |
| [AZX_DRIVER_SCH] = "HDA Intel MID", |
| [AZX_DRIVER_ATI] = "HDA ATI SB", |
| [AZX_DRIVER_ATIHDMI] = "HDA ATI HDMI", |
| @@ -1040,6 +1042,7 @@ static void azx_init_pci(struct azx *chi |
| 0x01, NVIDIA_HDA_ENABLE_COHBIT); |
| break; |
| case AZX_DRIVER_SCH: |
| + case AZX_DRIVER_PCH: |
| pci_read_config_word(chip->pci, INTEL_SCH_HDA_DEVC, &snoop); |
| if (snoop & INTEL_SCH_HDA_DEVC_NOSNOOP) { |
| pci_write_config_word(chip->pci, INTEL_SCH_HDA_DEVC, |
| @@ -2393,6 +2396,7 @@ static int __devinit azx_create(struct s |
| if (bdl_pos_adj[dev] < 0) { |
| switch (chip->driver_type) { |
| case AZX_DRIVER_ICH: |
| + case AZX_DRIVER_PCH: |
| bdl_pos_adj[dev] = 1; |
| break; |
| default: |
| @@ -2668,7 +2672,7 @@ static struct pci_device_id azx_ids[] = |
| /* PCH */ |
| { PCI_DEVICE(0x8086, 0x3b56), .driver_data = AZX_DRIVER_ICH }, |
| /* CPT */ |
| - { PCI_DEVICE(0x8086, 0x1c20), .driver_data = AZX_DRIVER_ICH }, |
| + { PCI_DEVICE(0x8086, 0x1c20), .driver_data = AZX_DRIVER_PCH }, |
| /* SCH */ |
| { PCI_DEVICE(0x8086, 0x811b), .driver_data = AZX_DRIVER_SCH }, |
| /* ATI SB 450/600 */ |