On 15/05/2011 11:53, Takashi Iwai wrote:
At Sun, 15 May 2011 10:20:10 +0200, Jérémy Lal wrote:
Hi, the imac12,2 27" (model name iMac12,2 from may 2011), has some headphones bug with your latest patch (the one that adds model=imac27). More precisions at : https://bugtrack.alsa-project.org/alsa-bug/view.php?id=5364
I cooked a dirty patch (that fixes all controls that i can test, that is all analog in/out) and attached it in that bug report. However, since lspci reports subsystem 0x8086, 0x7270 too, i can't make that model auto-detected without killing your imac27 patch, see bug report.
The bug tracking system is almost broken and actually no developer is using it. I proposed to shut it down many times, but it's still present, unfortunately.
Could you post your results to alsa-devel ML and continue discussing there?
cc-ing alsa-devel, then.
Would you have some advice to make it properly detect "my" model ?
Create a table of codec SSID (not PCI SSID) and check the model via snd_hda_check_board_codec_sid_config() first, then use snd_hda_check_board_config() when no matching entry is found, as fallback.
That makes sense, and i'll use patch_realtek.c as an example. I'm inexperimented in C or alsa, though, so i might fail doing this.
Of course, this assumes that the codec SSID is unique. Hopefully Apple does something right, at least.
I don't get what you mean. Anyway bootcamp ships with the cirrus driver for windows, which lists all vendor/dev/subsys supported ids, with all configurations for pins, gpio, and other stuff i don't understand. It's tempting to use that to cover all actual models... I'd need to get a minimal knowledge of how intel hda and associated chips like cirrus work together. Any advice, beginner's guide ?
Jérémy Lal