Re: [PATCH] ac97_patch.c ac97_codec.{ch} - enable 'Smart 5.1' UAJ on VIA vt1618 ac97 codec

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

 



Hi,

thanks for the patch.

At Wed, 14 Mar 2007 18:12:58 -0700,
John Utz wrote:
> 
> Greetings;
> 
> Attached is support for configuring the ins and outs on a vt1618 codec. This is a
> substantially more complicated patch than the previous one for the vt1617a ( tis why i
> did that one first! :-) )
> 
> Several controls are added, they may or may not be implemented on all hardware,
> some of them seem to have no effect on an MSI CN700T mainboard:
> 
> "Center/LFE Exchange"
> "DC Offset Removal"
> "Headphone Amp Disable"
> "Back Channel Disable"
> "Soft Mute  Disable"

Switches to disabling features are rather confusing.
It's better to invert them and make them working as on = enable, off =
disable.

> "Surround Back is Aux In"
> "Universal Audio Jack 0 (Speaker)"
> "Universal Audio Jack 1 (Line In)"
> "Universal Audio Jack 2 (Mic In)"

They are pretty uncommon as mixer names.
Especially, parentheses in mixer names are not good.

> Setting these 3 new controls to the settings to:
> 
>   "DAC Mixed (5.1 Out)", "Reserved (5.1 Out)", "Reserved (5.1 Out)"

Can we simply use "5.1 Out"?

> allows 6 channel output to be played using the following command:
> 
>   aplay -Dhw:0,1 chan-id.wav
> 
> Note that 6 bits would require an impractical 64 way enum, thus the 3 controls.
> 
> Changelog Entry
> 
> ====
> 
> [PATCH] ALSA: Smart 5.1 / Universal Audio Jack for VIA 1618 codec
> 
> This patch provides Universal Audio Jack support by way of 3 4 way enums that allows
> the user to choose 1 of 64 possible settings for the vt1618's version of what via
> calls 'Smart 5.1'
> 
> A new codec patch function is implemented:
> 
>    patch_vt1618
> 
> Several functions are added for reading/writing the Universal Audio Jack register:
> 
>    snd_ac97_vt1618_UAJ{012}_{putget}
> 
> A new pair of ac97_codec functions are added to allow for reading and writing paged
> out registers:
> 
>    snd_ac97_read_page
>    snd_ac97_write_page

They are not necessarily exported at all as long as they are used in
ac97_* code.  In the latest version, even they could be static since
ac97_patch.c is included from ac97_codec.c.

That is, you can use even snd_ac97_page_save() and
snd_ac97_page_restore() from ac97_patch.c.  (You need forward function
declarations, though.)

Or, even better to create more generic version of paged register
accessor, and rewrite snd_ac97_get/put_volsw(), too...


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