Hi,
another changes I've worked recently on is a "patch"-loading mechanism for HD-audio. Here, a "patch" refers to a sort of firmware file, corresponding "*.INI" file on Windows.
As many of you know, HD-audio hardwares have many problems, partly because of crappy broken BIOS and partly because of lack of information that the driver can detect automatically. Until now, these are provided statically in the driver.
In the recent version of HD-audio driver, you can override the setup and reconfigure the driver via sysfs. For example, changing the default pin-configurations can be done via sysfs and then reconfigure.
However, this procedure can be done only after the driver is set up, not before the driver initialization. So an idea of "patching" the setup before the driver initialization came up.
A "patch" file is a text file looks like: ================================================================ [codec] 0x12345678 0xabcd1234 2
[model] auto
[pincfg] 0x12 0x411111f0
[verb] 0x20 0x500 0x03 0x20 0x400 0xff
[hint] hp_detect = yes ================================================================
This file can be provided in the standard firmware path, typically /lib/firmware, through a module parameter "patch", e.g.
options snd-hda-intel patch=my-hda-patch
where /lib/firmware/my-hda-patch is the patch file path.
The whole patch (I mean program patch) series can be found in topic/hda-patch branch of sound-unstable GIT tree. git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-unstable-2.6.git topic/hda-patch
If you are interested, please take a look.
Any comments appreciated. This work is intended for 2.6.32 merge as well as other hacks there.
thanks,
Takashi