Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c4da29ca authored by Yang, Libin's avatar Yang, Libin Committed by Takashi Iwai
Browse files

ALSA: hda - support detecting HD Audio devices with PCI class code



The patch uses HD Audio PCI class code to detect AMD HD Audio cards.

Signed-off-by: default avatarLibin Yang <libin.yang@amd.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 3a95cb97
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -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);