At Wed, 03 Apr 2013 14:25:19 +0200, Takashi Iwai wrote:
At Wed, 03 Apr 2013 13:29:29 +0200, Rainer Koenig wrote:
Hi,
working on a new mainboard generation with ALC671 codecs the first tests showed that the generic codec parser is just configuring the rear mic in for audio input, line-in and front-mic are missing.
I tried to understand the code of patch_realtek.c and after compiling with CONFIG_SND_DEBUG I saw that this module is not used at all for the ALC671 codec because its device-ID was missing.
So what I did is:
- adding the device id and assigned the ALC662 patches for it.
- Added the device id so that it enables 4 ports in alc662_parse_auto_config
These are fine to take, but
- changed the conditional in alc_subsystem_id because it looked so strange to me when I tried to understand what is happening. :-)
... this isn't. You should try to understand harder :)
A hint to understand better is that Realtek tries to get its own config bits given by BIOS. The first place to check is the lower 16bit of codec SSID, and if this is different from the PCI SSID, it's supposed to be such a value and taken to retrieve some information. If it's same as PCI SSID, the pin config of some special pin is referred as an alternative configuration.
In anyway, could you resend your patch only with the addition of ALC671? Also, run scripts/checkpatch.pl and fix the issues before submission.
thanks,
Takashi
Takashi
Here is the patch:
Signed-off-by: Rainer Koenig Rainer.Koenig@ts.fujitsu.com
--- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -1283,7 +1283,7 @@ static int alc_subsystem_id(struct hda_codec *codec, }
ass = codec->subsystem_id & 0xffff;
if ((ass != codec->bus->pci->subsystem_device) && (ass & 1))
if ((ass == codec->bus->pci->subsystem_device) && (ass & 1)) goto do_sku; /* invalid SSID, check the special NID pin defcfg instead */
@@ -6663,7 +6663,8 @@ static int alc662_parse_auto_config(struct hda_codec *codec) const hda_nid_t *ssids;
if (codec->vendor_id == 0x10ec0272 || codec->vendor_id ==
0x10ec0663 ||
codec->vendor_id == 0x10ec0665 || codec->vendor_id ==
0x10ec0670)
codec->vendor_id == 0x10ec0665 || codec->vendor_id ==
0x10ec0670 ||
codec->vendor_id == 0x10ec0671) ssids = alc663_ssids; else ssids = alc662_ssids;
@@ -7115,6 +7116,7 @@ static const struct hda_codec_preset snd_hda_preset_realtek[] = { { .id = 0x10ec0665, .name = "ALC665", .patch = patch_alc662 }, { .id = 0x10ec0668, .name = "ALC668", .patch = patch_alc662 }, { .id = 0x10ec0670, .name = "ALC670", .patch = patch_alc662 },
{ .id = 0x10ec0671, .name = "ALC671", .patch = patch_alc662 }, { .id = 0x10ec0680, .name = "ALC680", .patch = patch_alc680 }, { .id = 0x10ec0880, .name = "ALC880", .patch = patch_alc880 }, { .id = 0x10ec0882, .name = "ALC882", .patch = patch_alc882 },
-- Dipl.-Inf. (FH) Rainer Koenig Project Manager Linux Clients Dept. PDG WPS R&D SW OSE
Fujitsu Technology Solutions Bürgermeister-Ullrich-Str. 100 86199 Augsburg Germany
Telephone: +49-821-804-3321 Telefax: +49-821-804-2131 Mail: mailto:Rainer.Koenig@ts.fujitsu.com
Internet ts.fujtsu.com Company Details ts.fujitsu.com/imprint.html _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel