diff options
author | Andiry Xu <andiry.xu@amd.com> | 2011-12-14 03:10:27 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-12-14 03:18:45 -0500 |
commit | 1815b34a626742733f846ddd266a89bd2fcea28f (patch) | |
tree | dc1c5db095d9e9c23bd3e928dd01f21e3de04470 /sound | |
parent | 97e287626a219e3754a54ac654691c608b78341d (diff) |
ALSA: HDA: Add support for new AMD products
This patch adds HDMI audio support for new AMD products. As HW default
disable snoop, force non-snoop mode in HD audio driver.
Signed-off-by: Andiry Xu <andiry.xu@amd.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/hda_intel.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index d1582ddb426c..9f7c901a52e3 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c | |||
@@ -487,6 +487,7 @@ enum { | |||
487 | AZX_DRIVER_SCH, | 487 | AZX_DRIVER_SCH, |
488 | AZX_DRIVER_ATI, | 488 | AZX_DRIVER_ATI, |
489 | AZX_DRIVER_ATIHDMI, | 489 | AZX_DRIVER_ATIHDMI, |
490 | AZX_DRIVER_ATIHDMI_NS, | ||
490 | AZX_DRIVER_VIA, | 491 | AZX_DRIVER_VIA, |
491 | AZX_DRIVER_SIS, | 492 | AZX_DRIVER_SIS, |
492 | AZX_DRIVER_ULI, | 493 | AZX_DRIVER_ULI, |
@@ -533,6 +534,7 @@ static char *driver_short_names[] __devinitdata = { | |||
533 | [AZX_DRIVER_SCH] = "HDA Intel MID", | 534 | [AZX_DRIVER_SCH] = "HDA Intel MID", |
534 | [AZX_DRIVER_ATI] = "HDA ATI SB", | 535 | [AZX_DRIVER_ATI] = "HDA ATI SB", |
535 | [AZX_DRIVER_ATIHDMI] = "HDA ATI HDMI", | 536 | [AZX_DRIVER_ATIHDMI] = "HDA ATI HDMI", |
537 | [AZX_DRIVER_ATIHDMI_NS] = "HDA ATI HDMI", | ||
536 | [AZX_DRIVER_VIA] = "HDA VIA VT82xx", | 538 | [AZX_DRIVER_VIA] = "HDA VIA VT82xx", |
537 | [AZX_DRIVER_SIS] = "HDA SIS966", | 539 | [AZX_DRIVER_SIS] = "HDA SIS966", |
538 | [AZX_DRIVER_ULI] = "HDA ULI M5461", | 540 | [AZX_DRIVER_ULI] = "HDA ULI M5461", |
@@ -2678,6 +2680,8 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci, | |||
2678 | 2680 | ||
2679 | chip->single_cmd = single_cmd; | 2681 | chip->single_cmd = single_cmd; |
2680 | chip->snoop = hda_snoop; | 2682 | chip->snoop = hda_snoop; |
2683 | if (chip->driver_type == AZX_DRIVER_ATIHDMI_NS) | ||
2684 | chip->snoop = 0; | ||
2681 | 2685 | ||
2682 | if (bdl_pos_adj[dev] < 0) { | 2686 | if (bdl_pos_adj[dev] < 0) { |
2683 | switch (chip->driver_type) { | 2687 | switch (chip->driver_type) { |
@@ -2776,6 +2780,7 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci, | |||
2776 | chip->capture_streams = ULI_NUM_CAPTURE; | 2780 | chip->capture_streams = ULI_NUM_CAPTURE; |
2777 | break; | 2781 | break; |
2778 | case AZX_DRIVER_ATIHDMI: | 2782 | case AZX_DRIVER_ATIHDMI: |
2783 | case AZX_DRIVER_ATIHDMI_NS: | ||
2779 | chip->playback_streams = ATIHDMI_NUM_PLAYBACK; | 2784 | chip->playback_streams = ATIHDMI_NUM_PLAYBACK; |
2780 | chip->capture_streams = ATIHDMI_NUM_CAPTURE; | 2785 | chip->capture_streams = ATIHDMI_NUM_CAPTURE; |
2781 | break; | 2786 | break; |
@@ -3037,6 +3042,14 @@ static DEFINE_PCI_DEVICE_TABLE(azx_ids) = { | |||
3037 | .driver_data = AZX_DRIVER_ATIHDMI | AZX_DCAPS_PRESET_ATI_HDMI }, | 3042 | .driver_data = AZX_DRIVER_ATIHDMI | AZX_DCAPS_PRESET_ATI_HDMI }, |
3038 | { PCI_DEVICE(0x1002, 0xaa48), | 3043 | { PCI_DEVICE(0x1002, 0xaa48), |
3039 | .driver_data = AZX_DRIVER_ATIHDMI | AZX_DCAPS_PRESET_ATI_HDMI }, | 3044 | .driver_data = AZX_DRIVER_ATIHDMI | AZX_DCAPS_PRESET_ATI_HDMI }, |
3045 | { PCI_DEVICE(0x1002, 0x9902), | ||
3046 | .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI }, | ||
3047 | { PCI_DEVICE(0x1002, 0xaaa0), | ||
3048 | .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI }, | ||
3049 | { PCI_DEVICE(0x1002, 0xaaa8), | ||
3050 | .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI }, | ||
3051 | { PCI_DEVICE(0x1002, 0xaab0), | ||
3052 | .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI }, | ||
3040 | /* VIA VT8251/VT8237A */ | 3053 | /* VIA VT8251/VT8237A */ |
3041 | { PCI_DEVICE(0x1106, 0x3288), | 3054 | { PCI_DEVICE(0x1106, 0x3288), |
3042 | .driver_data = AZX_DRIVER_VIA | AZX_DCAPS_POSFIX_VIA }, | 3055 | .driver_data = AZX_DRIVER_VIA | AZX_DCAPS_POSFIX_VIA }, |