[alsa-devel] [PATCH 1/16] ALSA: VIA HDA - suggesting additional patch

Mark Goldstein goldstein.mark at gmail.com
Mon Mar 21 20:37:24 CET 2011


I do not want to hijack the thread, but since it looks like many
changes are going to be applied to VIA HDA, I'd like to ask you to
look into potential patch that fixed my problem with VIA VT1708S.

There was a long thread "Problem with VIA VT1708S and git versions of
alsa-driver" on this list. I'll give a brief summary:
I have ASUS P5QL/EPU motherboard with VIA VT1708S on-board audio.  My
distribution is openSUSE.
The sound worked satisfactory with alsa driver 1.0.23. The problem
occurred first in oS 11.1.
After one of the updates from git snapshot repo (end of September /
beginning of October 2010), the functionality of controls got messed
up: Line control did not work, Front Mic control actually changed the
volume of Line In. Front Mic itself did not work at all.

I tried to figure out what happened with the help of Raymond Yau, but
at some stage gave up and reverted to working driver 1.0.23.

Later this year I had to try git version again (because I've got new
USB device). Still the same problem. So I decided to compare
patch_via.c from 1.0.23 that worked and from git version (and now
1.0.24) that did not. It turned out that the cause of my problem was
in the patch (identified by Raimond)

This patch introduced common function vt_auto_create_analog_input_ctls
and codec-specific functions passing the array pin_idxs to it.

The problem, as I understood it, is that
vt_auto_create_analog_input_ctls uses the same pin index in calls to
via_new_analog_input and snd_hda_add_imux_item, while in the old code
(1.0.23) for some codecs, including  VT1708S, VT1702 and VT1716S,
via_new_analog_input was called with pin index + 1.

I do not understand the details, so I just did straightforward patch
(attached here, based on the code of 1.0.24) to restore the old
behavior. In my case this patch resolved the problem and I have
working controls now.

Could you please check it? Maybe it should be done differently, but
the problem is real (at least for me) and needs a fix.

Mark Goldstein
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch_via.c.diff
Type: text/x-patch
Size: 1019 bytes
Desc: not available
Url : http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20110321/b3246743/attachment.diff 

More information about the Alsa-devel mailing list