mirror of
https://github.com/torvalds/linux.git
synced 2024-11-02 02:01:29 +00:00
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
This commit is contained in:
commit
115399cab1
@ -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)
|
|||||||
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 @@ do_sku:
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
||||||
|
Loading…
Reference in New Issue
Block a user