From a769577b3716c757e354a681aab3524ac6b651be Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Thu, 27 Apr 2006 16:56:07 +0200
Subject: [PATCH] [ALSA] via82xx - Use DXS_SRC as default for VIA8235/8237/8251
 chips

Use DXS_SRC as the default value for dxs_support option for
VIA8235/8237/8251 chips.  These new chips should work well with SRC.
For VIA8233/A/C, the old default DXS_48K is still used to be sure.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 sound/pci/via82xx.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/sound/pci/via82xx.c b/sound/pci/via82xx.c
index 111dada439f1e..39daf62d2bad5 100644
--- a/sound/pci/via82xx.c
+++ b/sound/pci/via82xx.c
@@ -2332,7 +2332,7 @@ struct dxs_whitelist {
 	short action;	/* new dxs_support value */
 };
 
-static int __devinit check_dxs_list(struct pci_dev *pci)
+static int __devinit check_dxs_list(struct pci_dev *pci, int revision)
 {
 	static struct dxs_whitelist whitelist[] = {
 		{ .subvendor = 0x1005, .subdevice = 0x4710, .action = VIA_DXS_ENABLE }, /* Avance Logic Mobo */
@@ -2413,6 +2413,10 @@ static int __devinit check_dxs_list(struct pci_dev *pci)
 		}
 	}
 
+	/* for newer revision, default to DXS_SRC */
+	if (revision >= VIA_REV_8235)
+		return VIA_DXS_SRC;
+
 	/*
 	 * not detected, try 48k rate only to be sure.
 	 */
@@ -2457,7 +2461,7 @@ static int __devinit snd_via82xx_probe(struct pci_dev *pci,
 		}
 		if (chip_type != TYPE_VIA8233A) {
 			if (dxs_support == VIA_DXS_AUTO)
-				dxs_support = check_dxs_list(pci);
+				dxs_support = check_dxs_list(pci, revision);
 			/* force to use VIA8233 or 8233A model according to
 			 * dxs_support module option
 			 */
-- 
GitLab