[alsa-devel] HDA-Intel - Patch to support detecting HD Audio devices with PCI class code
Yang, Libin
Libin.Yang at amd.com
Thu Nov 13 11:01:00 CET 2008
Hi Takashi,
The following patch is updated. Would you please review it? Thanks a
lot.
------------------------------------------------------------------------
-
The patch uses HD Audio PCI class code to detect AMD HD Audio cards.
Signed-off-by: Libin Yang <libin.yang at amd.com>
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 8f6c1df..8ca441c 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -292,6 +292,8 @@ enum {
/* Define VIA HD Audio Device ID*/
#define VIA_HDAC_DEVICE_ID 0x3288
+/* HD Audio class code */
+#define PCI_CLASS_MULTIMEDIA_HD_AUDIO 0x0403
/*
*/
@@ -415,6 +417,7 @@ enum {
AZX_DRIVER_ULI,
AZX_DRIVER_NVIDIA,
AZX_DRIVER_TERA,
+ AZX_DRIVER_GENERIC,
AZX_NUM_DRIVERS, /* keep this as last entry */
};
@@ -428,6 +431,7 @@ static char *driver_short_names[] __devinitdata = {
[AZX_DRIVER_ULI] = "HDA ULI M5461",
[AZX_DRIVER_NVIDIA] = "HDA NVidia",
[AZX_DRIVER_TERA] = "HDA Teradici",
+ [AZX_DRIVER_GENERIC] = "HD-Audio Generic",
};
/*
@@ -2203,6 +2207,7 @@ static int __devinit azx_create(struct snd_card
*card, struct pci_dev *pci,
chip->playback_streams = ATIHDMI_NUM_PLAYBACK;
chip->capture_streams = ATIHDMI_NUM_CAPTURE;
break;
+ case AZX_DRIVER_GENERIC:
default:
chip->playback_streams = ICH6_NUM_PLAYBACK;
chip->capture_streams = ICH6_NUM_CAPTURE;
@@ -2427,6 +2432,11 @@ static struct pci_device_id azx_ids[] = {
{ PCI_DEVICE(0x10de, 0x0bd7), .driver_data = AZX_DRIVER_NVIDIA
},
/* Teradici */
{ PCI_DEVICE(0x6549, 0x1200), .driver_data = AZX_DRIVER_TERA },
+ /* AMD Generic, PCI class code and Vendor ID for HD Audio */
+ { PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_ANY_ID),
+ .class = PCI_CLASS_MULTIMEDIA_HD_AUDIO << 8,
+ .class_mask = 0xffffff,
+ .driver_data = AZX_DRIVER_GENERIC },
{ 0, }
};
MODULE_DEVICE_TABLE(pci, azx_ids);
> -----Original Message-----
> From: Takashi Iwai [mailto:tiwai at suse.de]
> Sent: Tuesday, November 11, 2008 4:43 PM
> To: Yang, Libin
> Cc: alsa-devel at alsa-project.org
> Subject: Re: HDA-Intel - Patch to support detecting HD Audio devices
with
> PCI class code
>
> At Tue, 11 Nov 2008 16:39:27 +0800,
> Yang, Libin wrote:
> >
> > Thanks for the comments and I will refine the patch.
>
> Thanks. One thing I forgot to mention.
>
> > > > static unsigned int azx_default_codecs[AZX_NUM_DRIVERS]
> > __devinitdata =
> > > > {
> > > > [AZX_DRIVER_ICH] = 3,
> > > > [AZX_DRIVER_ATI] = 3,
> > > > + [AZX_DRIVER_AMD_AUTO] = 3,
> > >
> > > I thought you'll have up to 4 codecs?
>
> This array is completely changed in the recent code.
> There is only one entry (TERRA) as an exception.
>
> Please create a patch based on the latest sound tree,
> git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
> either master branch or topic/hda branch.
>
>
> thanks,
>
> Takashi
More information about the Alsa-devel
mailing list