Re: Ego Sys Waveterminal 192M driver upload

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

 



At Tue, 12 Dec 2006 17:40:19 +0100,
=?ISO-8859-1?Q?Cl=E9ment_Guedez?= wrote:
> 
> I bought a Egos Sys Waterminal192M, when I was doing computer music under Windows
> Meanwhile I discover Linux during my studies, and the digital music possibilities.
> Instead of buying a new card I write the driver, thanks to the Open Source.
> 
> So it's a driver for the Ego Sys Waterminal 192M only (I don't have a 192L or 192X
> card to test driver support)
> I join the patch which contain the source file, and the modification needed
> The patch is based on the 1.0.14rc1 driver source file (which compile correctly on my
> computer if you want to know)
> also the ice1724 driver is in the kernel directory, I put my driver in the
> "alsa-source/pci/ice1724" directory as wanted for test it.

Thanks for the patch.
I think we should put this stuff directly to alsa-kernel tree since
the ice1724 driver itself is already in linux kernel tree.  So, please
make a file alsa-kernel/pci/ice1724/wtm.c containing the main stuff
and make a separate alsa-driver/pci/ice1724/wtm.c that just includes
the alsa-kernel file.

Then local includes from alsa-kernel/*/wtm.c become just like

    #include "ice1712.h"

Also, in general, please follow the standard coding style.
See Documentation/CodingStyle in kernel tree for details.


> I test my driver with jack and music software associated, during a long time for
> stability, and it's working fine with a clean sound
> 
> the Ego Sys Waveterminal192M is composed of :
> - 1 Via Envy24ht chip
> - 2 sigmatel stac9640   (like the one in prodigy192) for the 4 ADC and 8 DAC needed
> - 1 ak4114 (as the Ego Sys Julia) for S/PDIF
> 
> Work :
> - the 8 analog outputs
> - analog inputs 1&2
> - mic input 1
> - integrated S/PDIF output
> - extern S/PDIF output
> - optical output
> 
> Don't Work (for the moment !) :
> - midi I/O
> - analog inputs 3&4
> - mic input 2
> - S/PDIF input
> - optical input
> 
> And I would ask if the midi has even working on a ice1724 card ? Because there is so
> few function in ice1724.c and just one value in my driver source for midi management,
> but it's freeze my computer when I want to read or write my midi port. I don't see
> what can be the problem.

It seems that MIDI on ice1724 is currently broken.
There has been reports about lockup at using MIDI on some boards.

> --- alsa-driver-1.0.14rc1.old/alsa-kernel/pci/ice1712/wtm.h	1970-01-01 01:00:00.000000000 +0100
> +++ alsa-driver-1.0.14rc1/alsa-kernel/pci/ice1712/wtm.h	2006-12-11 21:06:28.000000000 +0100
> @@ -0,0 +1,21 @@
> +#ifndef __SOUND_WTM_H
> +#define __SOUND_WTM_H
> +
> +//ID

Avoid C++ style comments.  Use /* */ instead.

> +#define WTM_DEVICE_DESC		"{EGO SYS INC,WaveTerminal 192M},"

> --- alsa-driver-1.0.14rc1.old/pci/ice1712/wtm.c	1970-01-01 01:00:00.000000000 +0100
> +++ alsa-driver-1.0.14rc1/pci/ice1712/wtm.c	2006-12-12 00:17:16.000000000 +0100
(snip)
> +static inline void stac9460_put(struct snd_ice1712 *ice, int reg, unsigned char val)

Fold lines to fit within 80 chars in a line.
We should follow the standard coding style more strictly, at least,
for new codes :)

> +{
> +	snd_vt1724_write_i2c(ice, STAC9460_I2C_ADDR, reg, val);
> +}

Put an empty line between functions for better readability.

> +static int stac9460_dac_mute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
> +{
> +	struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
> +	unsigned char val;
> +	int idx,id;

Put space after comma.

> +
> +	if (kcontrol->private_value){

Put space between ')' and '{'.

> +		idx = STAC946X_MASTER_VOLUME;
> +		id=0;

Put spaces around '='.

> +	}
> +	else{

Put '}' and else to the same line.

> +		id  = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id);
> +		idx  = id + STAC946X_LF_VOLUME;
> +	}
> +	if(id<6) val = stac9460_get(ice, idx);
> +	else val = stac9460_2_get(ice,idx-6);

Should be:
	if (id < 6)
		val = stac9460_get(ice, idx);
	else
		val = stac9460_2_get(ice, idx - 6);

Also, try to implement TLV stuff for providing the dB information to
user-space.  You can find implmentation examples in other codec
support codes.


thanks,

Takashi

-------------------------------------------------------------------------
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