Commit 115399ca authored by Linus Torvalds's avatar Linus Torvalds

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 - Fix call of alc888_coef_init()
  ALSA: hda_intel: enable snoop for nvidia HDA controller
parents ee265627 1082c748
...@@ -278,6 +278,9 @@ enum { ...@@ -278,6 +278,9 @@ enum {
/* Defines for Nvidia HDA support */ /* Defines for Nvidia HDA support */
#define NVIDIA_HDA_TRANSREG_ADDR 0x4e #define NVIDIA_HDA_TRANSREG_ADDR 0x4e
#define NVIDIA_HDA_ENABLE_COHBITS 0x0f #define NVIDIA_HDA_ENABLE_COHBITS 0x0f
#define NVIDIA_HDA_ISTRM_COH 0x4d
#define NVIDIA_HDA_OSTRM_COH 0x4c
#define NVIDIA_HDA_ENABLE_COHBIT 0x01
/* Defines for Intel SCH HDA snoop control */ /* Defines for Intel SCH HDA snoop control */
#define INTEL_SCH_HDA_DEVC 0x78 #define INTEL_SCH_HDA_DEVC 0x78
...@@ -900,6 +903,12 @@ static void azx_init_pci(struct azx *chip) ...@@ -900,6 +903,12 @@ static void azx_init_pci(struct azx *chip)
update_pci_byte(chip->pci, update_pci_byte(chip->pci,
NVIDIA_HDA_TRANSREG_ADDR, NVIDIA_HDA_TRANSREG_ADDR,
0x0f, NVIDIA_HDA_ENABLE_COHBITS); 0x0f, NVIDIA_HDA_ENABLE_COHBITS);
update_pci_byte(chip->pci,
NVIDIA_HDA_ISTRM_COH,
0x01, NVIDIA_HDA_ENABLE_COHBIT);
update_pci_byte(chip->pci,
NVIDIA_HDA_OSTRM_COH,
0x01, NVIDIA_HDA_ENABLE_COHBIT);
break; break;
case AZX_DRIVER_SCH: case AZX_DRIVER_SCH:
pci_read_config_word(chip->pci, INTEL_SCH_HDA_DEVC, &snoop); pci_read_config_word(chip->pci, INTEL_SCH_HDA_DEVC, &snoop);
......
...@@ -952,7 +952,7 @@ static void alc_subsystem_id(struct hda_codec *codec, ...@@ -952,7 +952,7 @@ static void alc_subsystem_id(struct hda_codec *codec,
tmp | 0x2010); tmp | 0x2010);
break; break;
case 0x10ec0888: case 0x10ec0888:
alc888_coef_init(codec); /*alc888_coef_init(codec);*/ /* called in alc_init() */
break; break;
case 0x10ec0267: case 0x10ec0267:
case 0x10ec0268: case 0x10ec0268:
...@@ -2439,6 +2439,8 @@ static int alc_init(struct hda_codec *codec) ...@@ -2439,6 +2439,8 @@ static int alc_init(struct hda_codec *codec)
unsigned int i; unsigned int i;
alc_fix_pll(codec); alc_fix_pll(codec);
if (codec->vendor_id == 0x10ec0888)
alc888_coef_init(codec);
for (i = 0; i < spec->num_init_verbs; i++) for (i = 0; i < spec->num_init_verbs; i++)
snd_hda_sequence_write(codec, spec->init_verbs[i]); snd_hda_sequence_write(codec, spec->init_verbs[i]);
...@@ -8426,8 +8428,6 @@ static int patch_alc883(struct hda_codec *codec) ...@@ -8426,8 +8428,6 @@ static int patch_alc883(struct hda_codec *codec)
codec->patch_ops = alc_patch_ops; codec->patch_ops = alc_patch_ops;
if (board_config == ALC883_AUTO) if (board_config == ALC883_AUTO)
spec->init_hook = alc883_auto_init; spec->init_hook = alc883_auto_init;
else if (codec->vendor_id == 0x10ec0888)
spec->init_hook = alc888_coef_init;
#ifdef CONFIG_SND_HDA_POWER_SAVE #ifdef CONFIG_SND_HDA_POWER_SAVE
if (!spec->loopback.amplist) if (!spec->loopback.amplist)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment