···124124 asus-a7m ASUS A7M125125 macpro MacPro support126126 mb5 Macbook 5,1127127+ macmini3 Macmini 3,1128128+ mba21 Macbook Air 2,1127129 mbp3 Macbook Pro rev3128130 imac24 iMac 24'' with jack detection129131 imac91 iMac 9,1···281279 laptop Basic Laptop config (default)282280 hp HP Spartan laptop283281 hp-dv6736 HP dv6736282282+ hp-f700 HP Compaq Presario F700284283 lenovo-x200 Lenovo X200 laptop284284+ toshiba Toshiba Satellite M300285285286286Conexant 5066287287=============288288 laptop Basic Laptop config (default)289289 dell-laptop Dell laptops290290 olpc-xo-1_5 OLPC XO 1.5291291+ ideapad Lenovo IdeaPad U150291292292293STAC9200293294========
+27
Documentation/sound/alsa/HD-Audio.txt
···452452sysfs entries, and the lines after `[hint]` are parsed as `hints`453453sysfs entries, respectively.454454455455+Another example to override the codec vendor id from 0x12345678 to456456+0xdeadbeef is like below:457457+------------------------------------------------------------------------458458+ [codec]459459+ 0x12345678 0xabcd1234 2460460+461461+ [vendor_id]462462+ 0xdeadbeef463463+------------------------------------------------------------------------464464+465465+In the similar way, you can override the codec subsystem_id via466466+`[subsystem_id]`, the revision id via `[revision_id]` line.467467+Also, the codec chip name can be rewritten via `[chip_name]` line.468468+------------------------------------------------------------------------469469+ [codec]470470+ 0x12345678 0xabcd1234 2471471+472472+ [subsystem_id]473473+ 0xffff1111474474+475475+ [revision_id]476476+ 0x10477477+478478+ [chip_name]479479+ My-own NEWS-0002480480+------------------------------------------------------------------------481481+455482The hd-audio driver reads the file via request_firmware(). Thus,456483a patch file has to be located on the appropriate firmware path,457484typically, /lib/firmware. For example, when you pass the option
+4-2
sound/pci/hda/hda_codec.c
···27672767 snd_hda_codec_read(codec, fg, 0, AC_VERB_SET_POWER_STATE,27682768 power_state);27692769 /* partial workaround for "azx_get_response timeout" */27702770- if (power_state == AC_PWRST_D0)27702770+ if (power_state == AC_PWRST_D0 &&27712771+ (codec->vendor_id & 0xffff0000) == 0x14f10000)27712772 msleep(10);2772277327732774 nid = codec->start_nid;···28022801 if (power_state == AC_PWRST_D0) {28032802 unsigned long end_time;28042803 int state;28052805- msleep(10);28062804 /* wait until the codec reachs to D0 */28072805 end_time = jiffies + msecs_to_jiffies(500);28082806 do {···3275327532763276/*32773277 * get the empty PCM device number to assign32783278+ *32793279+ * note the max device number is limited by HDA_MAX_PCMS, currently 1032783280 */32793281static int get_empty_pcm_device(struct hda_bus *bus, int type)32803282{
+3
sound/pci/hda/hda_codec.h
···527527/* max. codec address */528528#define HDA_MAX_CODEC_ADDRESS 0x0f529529530530+/* max number of PCM devics per card */531531+#define HDA_MAX_PCMS 10532532+530533/*531534 * generic arrays532535 */