diff options
author | Peer Chen <peerchen@gmail.com> | 2008-08-20 19:43:24 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-08-21 04:46:46 -0400 |
commit | 320dcc30f498e0a8b282b14cf0feed1897ea3b34 (patch) | |
tree | 2a56e270d1249759243f9ed32d6b957cf33d80bf | |
parent | f511b01c8e747b80635c8b2acd61431abcab4b29 (diff) |
ALSA: hda_intel: enable snoop for nvidia HDA controller
Enable the snoop for nvidia hda controller to avoid data coherence issue.
Signed-off-by: Peer Chen <peerchen@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/pci/hda/hda_intel.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index a73d6ca0a906..1c53e337ecb2 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c | |||
@@ -278,6 +278,9 @@ enum { | |||
278 | /* Defines for Nvidia HDA support */ | 278 | /* Defines for Nvidia HDA support */ |
279 | #define NVIDIA_HDA_TRANSREG_ADDR 0x4e | 279 | #define NVIDIA_HDA_TRANSREG_ADDR 0x4e |
280 | #define NVIDIA_HDA_ENABLE_COHBITS 0x0f | 280 | #define NVIDIA_HDA_ENABLE_COHBITS 0x0f |
281 | #define NVIDIA_HDA_ISTRM_COH 0x4d | ||
282 | #define NVIDIA_HDA_OSTRM_COH 0x4c | ||
283 | #define NVIDIA_HDA_ENABLE_COHBIT 0x01 | ||
281 | 284 | ||
282 | /* Defines for Intel SCH HDA snoop control */ | 285 | /* Defines for Intel SCH HDA snoop control */ |
283 | #define INTEL_SCH_HDA_DEVC 0x78 | 286 | #define INTEL_SCH_HDA_DEVC 0x78 |
@@ -900,6 +903,12 @@ static void azx_init_pci(struct azx *chip) | |||
900 | update_pci_byte(chip->pci, | 903 | update_pci_byte(chip->pci, |
901 | NVIDIA_HDA_TRANSREG_ADDR, | 904 | NVIDIA_HDA_TRANSREG_ADDR, |
902 | 0x0f, NVIDIA_HDA_ENABLE_COHBITS); | 905 | 0x0f, NVIDIA_HDA_ENABLE_COHBITS); |
906 | update_pci_byte(chip->pci, | ||
907 | NVIDIA_HDA_ISTRM_COH, | ||
908 | 0x01, NVIDIA_HDA_ENABLE_COHBIT); | ||
909 | update_pci_byte(chip->pci, | ||
910 | NVIDIA_HDA_OSTRM_COH, | ||
911 | 0x01, NVIDIA_HDA_ENABLE_COHBIT); | ||
903 | break; | 912 | break; |
904 | case AZX_DRIVER_SCH: | 913 | case AZX_DRIVER_SCH: |
905 | pci_read_config_word(chip->pci, INTEL_SCH_HDA_DEVC, &snoop); | 914 | pci_read_config_word(chip->pci, INTEL_SCH_HDA_DEVC, &snoop); |