mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-06 08:46:46 +00:00
ALSA: hda - enable snoop for Intel Cougar Point
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>
This commit is contained in:
parent
d01aecdf90
commit
32679f95ca
1 changed files with 5 additions and 1 deletions
|
@ -448,6 +448,7 @@ struct azx {
|
||||||
/* driver types */
|
/* driver types */
|
||||||
enum {
|
enum {
|
||||||
AZX_DRIVER_ICH,
|
AZX_DRIVER_ICH,
|
||||||
|
AZX_DRIVER_PCH,
|
||||||
AZX_DRIVER_SCH,
|
AZX_DRIVER_SCH,
|
||||||
AZX_DRIVER_ATI,
|
AZX_DRIVER_ATI,
|
||||||
AZX_DRIVER_ATIHDMI,
|
AZX_DRIVER_ATIHDMI,
|
||||||
|
@ -462,6 +463,7 @@ enum {
|
||||||
|
|
||||||
static char *driver_short_names[] __devinitdata = {
|
static char *driver_short_names[] __devinitdata = {
|
||||||
[AZX_DRIVER_ICH] = "HDA Intel",
|
[AZX_DRIVER_ICH] = "HDA Intel",
|
||||||
|
[AZX_DRIVER_PCH] = "HDA Intel PCH",
|
||||||
[AZX_DRIVER_SCH] = "HDA Intel MID",
|
[AZX_DRIVER_SCH] = "HDA Intel MID",
|
||||||
[AZX_DRIVER_ATI] = "HDA ATI SB",
|
[AZX_DRIVER_ATI] = "HDA ATI SB",
|
||||||
[AZX_DRIVER_ATIHDMI] = "HDA ATI HDMI",
|
[AZX_DRIVER_ATIHDMI] = "HDA ATI HDMI",
|
||||||
|
@ -1064,6 +1066,7 @@ static void azx_init_pci(struct azx *chip)
|
||||||
0x01, NVIDIA_HDA_ENABLE_COHBIT);
|
0x01, NVIDIA_HDA_ENABLE_COHBIT);
|
||||||
break;
|
break;
|
||||||
case AZX_DRIVER_SCH:
|
case AZX_DRIVER_SCH:
|
||||||
|
case AZX_DRIVER_PCH:
|
||||||
pci_read_config_word(chip->pci, INTEL_SCH_HDA_DEVC, &snoop);
|
pci_read_config_word(chip->pci, INTEL_SCH_HDA_DEVC, &snoop);
|
||||||
if (snoop & INTEL_SCH_HDA_DEVC_NOSNOOP) {
|
if (snoop & INTEL_SCH_HDA_DEVC_NOSNOOP) {
|
||||||
pci_write_config_word(chip->pci, INTEL_SCH_HDA_DEVC,
|
pci_write_config_word(chip->pci, INTEL_SCH_HDA_DEVC,
|
||||||
|
@ -2421,6 +2424,7 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci,
|
||||||
if (bdl_pos_adj[dev] < 0) {
|
if (bdl_pos_adj[dev] < 0) {
|
||||||
switch (chip->driver_type) {
|
switch (chip->driver_type) {
|
||||||
case AZX_DRIVER_ICH:
|
case AZX_DRIVER_ICH:
|
||||||
|
case AZX_DRIVER_PCH:
|
||||||
bdl_pos_adj[dev] = 1;
|
bdl_pos_adj[dev] = 1;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -2700,7 +2704,7 @@ static struct pci_device_id azx_ids[] = {
|
||||||
/* PCH */
|
/* PCH */
|
||||||
{ PCI_DEVICE(0x8086, 0x3b56), .driver_data = AZX_DRIVER_ICH },
|
{ PCI_DEVICE(0x8086, 0x3b56), .driver_data = AZX_DRIVER_ICH },
|
||||||
/* CPT */
|
/* CPT */
|
||||||
{ PCI_DEVICE(0x8086, 0x1c20), .driver_data = AZX_DRIVER_ICH },
|
{ PCI_DEVICE(0x8086, 0x1c20), .driver_data = AZX_DRIVER_PCH },
|
||||||
/* SCH */
|
/* SCH */
|
||||||
{ PCI_DEVICE(0x8086, 0x811b), .driver_data = AZX_DRIVER_SCH },
|
{ PCI_DEVICE(0x8086, 0x811b), .driver_data = AZX_DRIVER_SCH },
|
||||||
/* ATI SB 450/600 */
|
/* ATI SB 450/600 */
|
||||||
|
|
Loading…
Reference in a new issue