Re: A: VIA Technologies Inc. VT1720/24

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Takashi!

On Wed, Jan 24, 2007 at 04:12:02PM +0100, Takashi Iwai wrote:
> I recommend you to use the same string for this driver name here.

Yes.

> This string is referred by alsa-lib to pick up the corresponding
> config file.  As Prodigy 7.1 Hifi is almost identical with Prodigy 7.1
> LT from the configuration POV, it should use "Prodigy71LT", too, so
> that you don't have to change alsa-lib at all.

No, the HiFi seems to be more like the Prodigy71 (without 'LT' or 'XT')
But I might err. Is there something I can do to test is it has 3 or 4
DACs, which seems to be the main difference?

> Otherwise changes look OK to me, but your patch conflicts with the
> latest ALSA HG tree because of the patch applied prior to this.
> Could you regenerate the patch to ALSA HG tree (with the fix above)?

Yes, see below. Three more questions:
1. Since the "Aureon7.1", "Prodigy7.1" and my "Prodigy7.1HiFi"; as well
as the "Prodigy7.1LT" and the "Prodigy7.1XT" respectively seem so share
the same EEPROM-Date, wouldn't it be better to re-use/share those
eeprom-data instead of declaring them 3 respectively 2 times?
Not much space saving, but gcc seems to be too stupid to recognize this;
Even const'ifying the structures doesn't help.

2. Most arrays and structures seem to be read only, what about adding
'const' to them?

3. Do you prefer array initialization in the form of
 {1, 2, 3, } /* IDX0, IDX1, IDX2 */
or as
 { [IDX0] = 1, [IDX1] = 2, [IDX2] = 3, }

> thanks,

You're doing the main job, I have to thank you.

> Takashi

Philipp


From: Philipp Matthias Hahn <pmhahn@xxxxxxxxx>

Fix small typo in comment of Prodigy 7.1 Light/XT
Add support for AudioTrak Prodigy 7.1 HiFi

Signed-of-by: Philipp Matthias Hahn <pmhahn@xxxxxxxxx>
---

--- pci/ice1712/aureon.c~	2007-01-25 10:07:50.000000000 +0100
+++ pci/ice1712/aureon.c	2007-01-25 10:46:56.000000000 +0100
@@ -2141,6 +2141,9 @@ static unsigned char aureon71_eeprom[] _
 	0x00,	/* GPIO_STATE2 */
 };
 
+#if 1 /* Prodigy7.1 has same EEPROM as Aureon7.1 */
+#define prodigy71_eeprom aureon71_eeprom
+#else
 static unsigned char prodigy71_eeprom[] __devinitdata = {
 	0x0b,	/* SYSCONF: clock 512, spdif-in/ADC, 4DACs */
 	0x80,	/* ACLINK: I2S */
@@ -2156,9 +2159,10 @@ static unsigned char prodigy71_eeprom[] 
 	0x00,	/* GPIO_STATE1 */
 	0x00,	/* GPIO_STATE2 */
 };
+#endif
 
 static unsigned char prodigy71lt_eeprom[] __devinitdata = {
-	0x4b,	/* SYSCINF: clock 512, spdif-in/ADC, 4DACs */
+	0x4b,	/* SYSCONF: clock 384, spdif-in/ADC, 4DACs */
 	0x80,	/* ACLINK: I2S */
 	0xfc,	/* I2S: vol, 96k, 24bit, 192k */
 	0xc3,	/* SPDIF: out-en, out-int, spdif-in */
@@ -2173,8 +2177,11 @@ static unsigned char prodigy71lt_eeprom[
 	0x00,	/* GPIO_STATE2 */
 };
 
+#if 1 /* Prodigy7.1XT has same EEPROM as Prodigy7.1LT */
+#define prodigy71xt_eeprom prodigy71lt_eeprom
+#else
 static unsigned char prodigy71xt_eeprom[] __devinitdata = {
-	0x4b,	/* SYSCINF: clock 512, spdif-in/ADC, 4DACs */
+	0x4b,	/* SYSCONF: clock 384, spdif-in/ADC, 4DACs */
 	0x80,	/* ACLINK: I2S */
 	0xfc,	/* I2S: vol, 96k, 24bit, 192k */
 	0xc3,	/* SPDIF: out-en, out-int, spdif-in */
@@ -2188,6 +2195,27 @@ static unsigned char prodigy71xt_eeprom[
 	0x00,	/* GPIO_STATE1 */
 	0x00,	/* GPIO_STATE2 */
 };
+#endif
+
+#if 1 /* Prodigy7.1HiFi has same EEPROM as Aureon7.1 */
+#define prodigy71hifi_eeprom aureon71_eeprom
+#else
+static unsigned char prodigy71hifi_eeprom[] __devinitdata = {
+	[ICE_EEP2_SYSCONF]     = 0x0b,	/* clock 512, spdif-in/ADC, 4DACs */
+	[ICE_EEP2_ACLINK]      = 0x80,	/* I2S */
+	[ICE_EEP2_I2S]         = 0xfc,	/* vol, 96k, 24bit, 192k */
+	[ICE_EEP2_SPDIF]       = 0xc3,	/* out-en, out-int, spdif-in */
+	[ICE_EEP2_GPIO_DIR]    = 0xff,
+	[ICE_EEP2_GPIO_DIR1]   = 0xff,
+	[ICE_EEP2_GPIO_DIR2]   = 0x5f,
+	[ICE_EEP2_GPIO_MASK]   = 0x00,
+	[ICE_EEP2_GPIO_MASK1]  = 0x00,
+	[ICE_EEP2_GPIO_MASK2]  = 0x00,
+	[ICE_EEP2_GPIO_STATE]  = 0x00,
+	[ICE_EEP2_GPIO_STATE1] = 0x00,
+	[ICE_EEP2_GPIO_STATE2] = 0x00,
+};
+#endif
 
 /* entry point */
 struct snd_ice1712_card_info snd_vt1724_aureon_cards[] __devinitdata = {
@@ -2251,5 +2279,15 @@ struct snd_ice1712_card_info snd_vt1724_
 		.eeprom_data = prodigy71xt_eeprom,
 		.driver = "Prodigy71LT",
 	},
+	{
+		.subvendor = VT1724_SUBDEVICE_PRODIGY71HIFI,
+		.name = "Audiotrak Prodigy 7.1 HiFi",
+		.model = "prodigy71hifi",
+		.chip_init = aureon_init,
+		.build_controls = aureon_add_controls,
+		.eeprom_size = sizeof(prodigy71hifi_eeprom),
+		.eeprom_data = prodigy71hifi_eeprom,
+		.driver = "Prodigy71", /* should be identical with Aureon71 */
+	},
 	{ } /* terminator */
 };
--- pci/ice1712/aureon.h~	2007-01-25 10:07:50.000000000 +0100
+++ pci/ice1712/aureon.h	2007-01-25 10:20:04.000000000 +0100
@@ -29,7 +29,8 @@
 				       "{Terratec,Aureon 7.1 Universe}," \
 					"{AudioTrak,Prodigy 7.1}," \
 					"{AudioTrak,Prodigy 7.1 LT},"\
-					"{AudioTrak,Prodigy 7.1 XT},"
+					"{AudioTrak,Prodigy 7.1 XT},"\
+					"{AudioTrak,Prodigy 7.1 HiFi},"
 
 #define VT1724_SUBDEVICE_AUREON51_SKY	0x3b154711	/* Aureon 5.1 Sky */
 #define VT1724_SUBDEVICE_AUREON71_SPACE	0x3b154511	/* Aureon 7.1 Space */
@@ -37,6 +38,7 @@
 #define VT1724_SUBDEVICE_PRODIGY71	0x33495345	/* PRODIGY 7.1 */
 #define VT1724_SUBDEVICE_PRODIGY71LT	0x32315441	/* PRODIGY 7.1 LT */
 #define VT1724_SUBDEVICE_PRODIGY71XT	0x36315441	/* PRODIGY 7.1 XT*/
+#define VT1724_SUBDEVICE_PRODIGY71HIFI	0x38315441	/* PRODIGY 7.1 HiFi */
 
 extern struct snd_ice1712_card_info  snd_vt1724_aureon_cards[];

-- 
  / /  (_)__  __ ____  __ Philipp Hahn
 / /__/ / _ \/ // /\ \/ /
/____/_/_//_/\_,_/ /_/\_\ pmhahn@xxxxxxxxxxxxx

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux