[alsa-devel] RFC: "patch" loading for HD-audio driver

Takashi Iwai tiwai at suse.de
Fri Jun 19 09:57:06 CEST 2009


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


More information about the Alsa-devel mailing list