[alsa-devel] iMac12,2 cirrus_patch.c model detection

Jérémy Lal kapouer at melix.org
Sun May 15 21:26:57 CEST 2011

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

More information about the Alsa-devel mailing list