Loading Documentation/sound/alsa/ALSA-Configuration.txt +3 −0 Original line number Original line Diff line number Diff line Loading @@ -741,6 +741,9 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. model - force the model name model - force the model name position_fix - Fix DMA pointer (0 = auto, 1 = use LPIB, 2 = POSBUF) position_fix - Fix DMA pointer (0 = auto, 1 = use LPIB, 2 = POSBUF) probe_mask - Bitmask to probe codecs (default = -1, meaning all slots) probe_mask - Bitmask to probe codecs (default = -1, meaning all slots) When the bit 8 (0x100) is set, the lower 8 bits are used as the "fixed" codec slots; i.e. the driver probes the slots regardless what hardware reports back probe_only - Only probing and no codec initialization (default=off); probe_only - Only probing and no codec initialization (default=off); Useful to check the initial codec status for debugging Useful to check the initial codec status for debugging bdl_pos_adj - Specifies the DMA IRQ timing delay in samples. bdl_pos_adj - Specifies the DMA IRQ timing delay in samples. Loading Documentation/sound/alsa/HD-Audio-Models.txt +18 −3 Original line number Original line Diff line number Diff line Loading @@ -56,6 +56,7 @@ ALC262 sony-assamd Sony ASSAMD sony-assamd Sony ASSAMD toshiba-s06 Toshiba S06 toshiba-s06 Toshiba S06 toshiba-rx1 Toshiba RX1 toshiba-rx1 Toshiba RX1 tyan Tyan Thunder n6650W (S2915-E) ultra Samsung Q1 Ultra Vista model ultra Samsung Q1 Ultra Vista model lenovo-3000 Lenovo 3000 y410 lenovo-3000 Lenovo 3000 y410 nec NEC Versa S9100 nec NEC Versa S9100 Loading Loading @@ -261,6 +262,8 @@ Conexant 5051 ============= ============= laptop Basic Laptop config (default) laptop Basic Laptop config (default) hp HP Spartan laptop hp HP Spartan laptop hp-dv6736 HP dv6736 lenovo-x200 Lenovo X200 laptop STAC9200 STAC9200 ======== ======== Loading @@ -278,6 +281,7 @@ STAC9200 gateway-m4 Gateway laptops with EAPD control gateway-m4 Gateway laptops with EAPD control gateway-m4-2 Gateway laptops with EAPD control gateway-m4-2 Gateway laptops with EAPD control panasonic Panasonic CF-74 panasonic Panasonic CF-74 auto BIOS setup (default) STAC9205/9254 STAC9205/9254 ============= ============= Loading @@ -285,6 +289,8 @@ STAC9205/9254 dell-m42 Dell (unknown) dell-m42 Dell (unknown) dell-m43 Dell Precision dell-m43 Dell Precision dell-m44 Dell Inspiron dell-m44 Dell Inspiron eapd Keep EAPD on (e.g. Gateway T1616) auto BIOS setup (default) STAC9220/9221 STAC9220/9221 ============= ============= Loading @@ -308,6 +314,7 @@ STAC9220/9221 dell-d82 Dell (unknown) dell-d82 Dell (unknown) dell-m81 Dell (unknown) dell-m81 Dell (unknown) dell-m82 Dell XPS M1210 dell-m82 Dell XPS M1210 auto BIOS setup (default) STAC9202/9250/9251 STAC9202/9250/9251 ================== ================== Loading @@ -319,6 +326,7 @@ STAC9202/9250/9251 m3 Some Gateway MX series laptops m3 Some Gateway MX series laptops m5 Some Gateway MX series laptops (MP6954) m5 Some Gateway MX series laptops (MP6954) m6 Some Gateway NX series laptops m6 Some Gateway NX series laptops auto BIOS setup (default) STAC9227/9228/9229/927x STAC9227/9228/9229/927x ======================= ======================= Loading @@ -328,6 +336,7 @@ STAC9227/9228/9229/927x 5stack D965 5stack + SPDIF 5stack D965 5stack + SPDIF dell-3stack Dell Dimension E520 dell-3stack Dell Dimension E520 dell-bios Fixes with Dell BIOS setup dell-bios Fixes with Dell BIOS setup auto BIOS setup (default) STAC92HD71B* STAC92HD71B* ============ ============ Loading @@ -335,7 +344,10 @@ STAC92HD71B* dell-m4-1 Dell desktops dell-m4-1 Dell desktops dell-m4-2 Dell desktops dell-m4-2 Dell desktops dell-m4-3 Dell desktops dell-m4-3 Dell desktops hp-m4 HP dv laptops hp-m4 HP mini 1000 hp-dv5 HP dv series hp-hdx HP HDX series auto BIOS setup (default) STAC92HD73* STAC92HD73* =========== =========== Loading @@ -345,13 +357,16 @@ STAC92HD73* dell-m6-dmic Dell desktops/laptops with digital mics dell-m6-dmic Dell desktops/laptops with digital mics dell-m6 Dell desktops/laptops with both type of mics dell-m6 Dell desktops/laptops with both type of mics dell-eq Dell desktops/laptops dell-eq Dell desktops/laptops auto BIOS setup (default) STAC92HD83* STAC92HD83* =========== =========== ref Reference board ref Reference board mic-ref Reference board with power managment for ports mic-ref Reference board with power managment for ports dell-s14 Dell laptop auto BIOS setup (default) STAC9872 STAC9872 ======== ======== vaio Setup for VAIO FE550G/SZ110 vaio VAIO laptop without SPDIF vaio-ar Setup for VAIO AR auto BIOS setup (default) Documentation/sound/alsa/HD-Audio.txt +44 −3 Original line number Original line Diff line number Diff line Loading @@ -109,6 +109,13 @@ slot, pass `probe_mask=1`. For the first and the third slots, pass Since 2.6.29 kernel, the driver has a more robust probing method, so Since 2.6.29 kernel, the driver has a more robust probing method, so this error might happen rarely, though. this error might happen rarely, though. On a machine with a broken BIOS, sometimes you need to force the driver to probe the codec slots the hardware doesn't report for use. In such a case, turn the bit 8 (0x100) of `probe_mask` option on. Then the rest 8 bits are passed as the codec slots to probe unconditionally. For example, `probe_mask=0x103` will force to probe the codec slots 0 and 1 no matter what the hardware reports. Interrupt Handling Interrupt Handling ~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~ Loading Loading @@ -358,10 +365,26 @@ modelname:: to this file. to this file. init_verbs:: init_verbs:: The extra verbs to execute at initialization. You can add a verb by The extra verbs to execute at initialization. You can add a verb by writing to this file. Pass tree numbers, nid, verb and parameter. writing to this file. Pass three numbers: nid, verb and parameter (separated with a space). hints:: hints:: Shows hint strings for codec parsers for any use. Right now it's Shows / stores hint strings for codec parsers for any use. not used. Its format is `key = value`. For example, passing `hp_detect = yes` to IDT/STAC codec parser will result in the disablement of the headphone detection. init_pin_configs:: Shows the initial pin default config values set by BIOS. driver_pin_configs:: Shows the pin default values set by the codec parser explicitly. This doesn't show all pin values but only the changed values by the parser. That is, if the parser doesn't change the pin default config values by itself, this will contain nothing. user_pin_configs:: Shows the pin default config values to override the BIOS setup. Writing this (with two numbers, NID and value) appends the new value. The given will be used instead of the initial BIOS value at the next reconfiguration time. Note that this config will override even the driver pin configs, too. reconfig:: reconfig:: Triggers the codec re-configuration. When any value is written to Triggers the codec re-configuration. When any value is written to this file, the driver re-initialize and parses the codec tree this file, the driver re-initialize and parses the codec tree Loading @@ -371,6 +394,14 @@ clear:: Resets the codec, removes the mixer elements and PCM stuff of the Resets the codec, removes the mixer elements and PCM stuff of the specified codec, and clear all init verbs and hints. specified codec, and clear all init verbs and hints. For example, when you want to change the pin default configuration value of the pin widget 0x14 to 0x9993013f, and let the driver re-configure based on that state, run like below: ------------------------------------------------------------------------ # echo 0x14 0x9993013f > /sys/class/sound/hwC0D0/user_pin_configs # echo 1 > /sys/class/sound/hwC0D0/reconfig ------------------------------------------------------------------------ Power-Saving Power-Saving ~~~~~~~~~~~~ ~~~~~~~~~~~~ Loading Loading @@ -461,6 +492,16 @@ run with `--no-upload` option, and attach the generated file. There are some other useful options. See `--help` option output for There are some other useful options. See `--help` option output for details. details. When a probe error occurs or when the driver obviously assigns a mismatched model, it'd be helpful to load the driver with `probe_only=1` option (at best after the cold reboot) and run alsa-info at this state. With this option, the driver won't configure the mixer and PCM but just tries to probe the codec slot. After probing, the proc file is available, so you can get the raw codec information before modified by the driver. Of course, the driver isn't usable with `probe_only=1`. But you can continue the configuration via hwdep sysfs file if hda-reconfig option is enabled. hda-verb hda-verb ~~~~~~~~ ~~~~~~~~ Loading include/linux/pci_ids.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -2112,6 +2112,8 @@ #define PCI_DEVICE_ID_MELLANOX_SINAI_OLD 0x5e8c #define PCI_DEVICE_ID_MELLANOX_SINAI_OLD 0x5e8c #define PCI_DEVICE_ID_MELLANOX_SINAI 0x6274 #define PCI_DEVICE_ID_MELLANOX_SINAI 0x6274 #define PCI_VENDOR_ID_DFI 0x15bd #define PCI_VENDOR_ID_QUICKNET 0x15e2 #define PCI_VENDOR_ID_QUICKNET 0x15e2 #define PCI_DEVICE_ID_QUICKNET_XJ 0x0500 #define PCI_DEVICE_ID_QUICKNET_XJ 0x0500 Loading sound/pci/hda/hda_beep.c +1 −0 Original line number Original line Diff line number Diff line Loading @@ -138,6 +138,7 @@ void snd_hda_detach_beep_device(struct hda_codec *codec) input_unregister_device(beep->dev); input_unregister_device(beep->dev); kfree(beep); kfree(beep); codec->beep = NULL; } } } } EXPORT_SYMBOL_HDA(snd_hda_detach_beep_device); EXPORT_SYMBOL_HDA(snd_hda_detach_beep_device); Loading
Documentation/sound/alsa/ALSA-Configuration.txt +3 −0 Original line number Original line Diff line number Diff line Loading @@ -741,6 +741,9 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. model - force the model name model - force the model name position_fix - Fix DMA pointer (0 = auto, 1 = use LPIB, 2 = POSBUF) position_fix - Fix DMA pointer (0 = auto, 1 = use LPIB, 2 = POSBUF) probe_mask - Bitmask to probe codecs (default = -1, meaning all slots) probe_mask - Bitmask to probe codecs (default = -1, meaning all slots) When the bit 8 (0x100) is set, the lower 8 bits are used as the "fixed" codec slots; i.e. the driver probes the slots regardless what hardware reports back probe_only - Only probing and no codec initialization (default=off); probe_only - Only probing and no codec initialization (default=off); Useful to check the initial codec status for debugging Useful to check the initial codec status for debugging bdl_pos_adj - Specifies the DMA IRQ timing delay in samples. bdl_pos_adj - Specifies the DMA IRQ timing delay in samples. Loading
Documentation/sound/alsa/HD-Audio-Models.txt +18 −3 Original line number Original line Diff line number Diff line Loading @@ -56,6 +56,7 @@ ALC262 sony-assamd Sony ASSAMD sony-assamd Sony ASSAMD toshiba-s06 Toshiba S06 toshiba-s06 Toshiba S06 toshiba-rx1 Toshiba RX1 toshiba-rx1 Toshiba RX1 tyan Tyan Thunder n6650W (S2915-E) ultra Samsung Q1 Ultra Vista model ultra Samsung Q1 Ultra Vista model lenovo-3000 Lenovo 3000 y410 lenovo-3000 Lenovo 3000 y410 nec NEC Versa S9100 nec NEC Versa S9100 Loading Loading @@ -261,6 +262,8 @@ Conexant 5051 ============= ============= laptop Basic Laptop config (default) laptop Basic Laptop config (default) hp HP Spartan laptop hp HP Spartan laptop hp-dv6736 HP dv6736 lenovo-x200 Lenovo X200 laptop STAC9200 STAC9200 ======== ======== Loading @@ -278,6 +281,7 @@ STAC9200 gateway-m4 Gateway laptops with EAPD control gateway-m4 Gateway laptops with EAPD control gateway-m4-2 Gateway laptops with EAPD control gateway-m4-2 Gateway laptops with EAPD control panasonic Panasonic CF-74 panasonic Panasonic CF-74 auto BIOS setup (default) STAC9205/9254 STAC9205/9254 ============= ============= Loading @@ -285,6 +289,8 @@ STAC9205/9254 dell-m42 Dell (unknown) dell-m42 Dell (unknown) dell-m43 Dell Precision dell-m43 Dell Precision dell-m44 Dell Inspiron dell-m44 Dell Inspiron eapd Keep EAPD on (e.g. Gateway T1616) auto BIOS setup (default) STAC9220/9221 STAC9220/9221 ============= ============= Loading @@ -308,6 +314,7 @@ STAC9220/9221 dell-d82 Dell (unknown) dell-d82 Dell (unknown) dell-m81 Dell (unknown) dell-m81 Dell (unknown) dell-m82 Dell XPS M1210 dell-m82 Dell XPS M1210 auto BIOS setup (default) STAC9202/9250/9251 STAC9202/9250/9251 ================== ================== Loading @@ -319,6 +326,7 @@ STAC9202/9250/9251 m3 Some Gateway MX series laptops m3 Some Gateway MX series laptops m5 Some Gateway MX series laptops (MP6954) m5 Some Gateway MX series laptops (MP6954) m6 Some Gateway NX series laptops m6 Some Gateway NX series laptops auto BIOS setup (default) STAC9227/9228/9229/927x STAC9227/9228/9229/927x ======================= ======================= Loading @@ -328,6 +336,7 @@ STAC9227/9228/9229/927x 5stack D965 5stack + SPDIF 5stack D965 5stack + SPDIF dell-3stack Dell Dimension E520 dell-3stack Dell Dimension E520 dell-bios Fixes with Dell BIOS setup dell-bios Fixes with Dell BIOS setup auto BIOS setup (default) STAC92HD71B* STAC92HD71B* ============ ============ Loading @@ -335,7 +344,10 @@ STAC92HD71B* dell-m4-1 Dell desktops dell-m4-1 Dell desktops dell-m4-2 Dell desktops dell-m4-2 Dell desktops dell-m4-3 Dell desktops dell-m4-3 Dell desktops hp-m4 HP dv laptops hp-m4 HP mini 1000 hp-dv5 HP dv series hp-hdx HP HDX series auto BIOS setup (default) STAC92HD73* STAC92HD73* =========== =========== Loading @@ -345,13 +357,16 @@ STAC92HD73* dell-m6-dmic Dell desktops/laptops with digital mics dell-m6-dmic Dell desktops/laptops with digital mics dell-m6 Dell desktops/laptops with both type of mics dell-m6 Dell desktops/laptops with both type of mics dell-eq Dell desktops/laptops dell-eq Dell desktops/laptops auto BIOS setup (default) STAC92HD83* STAC92HD83* =========== =========== ref Reference board ref Reference board mic-ref Reference board with power managment for ports mic-ref Reference board with power managment for ports dell-s14 Dell laptop auto BIOS setup (default) STAC9872 STAC9872 ======== ======== vaio Setup for VAIO FE550G/SZ110 vaio VAIO laptop without SPDIF vaio-ar Setup for VAIO AR auto BIOS setup (default)
Documentation/sound/alsa/HD-Audio.txt +44 −3 Original line number Original line Diff line number Diff line Loading @@ -109,6 +109,13 @@ slot, pass `probe_mask=1`. For the first and the third slots, pass Since 2.6.29 kernel, the driver has a more robust probing method, so Since 2.6.29 kernel, the driver has a more robust probing method, so this error might happen rarely, though. this error might happen rarely, though. On a machine with a broken BIOS, sometimes you need to force the driver to probe the codec slots the hardware doesn't report for use. In such a case, turn the bit 8 (0x100) of `probe_mask` option on. Then the rest 8 bits are passed as the codec slots to probe unconditionally. For example, `probe_mask=0x103` will force to probe the codec slots 0 and 1 no matter what the hardware reports. Interrupt Handling Interrupt Handling ~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~ Loading Loading @@ -358,10 +365,26 @@ modelname:: to this file. to this file. init_verbs:: init_verbs:: The extra verbs to execute at initialization. You can add a verb by The extra verbs to execute at initialization. You can add a verb by writing to this file. Pass tree numbers, nid, verb and parameter. writing to this file. Pass three numbers: nid, verb and parameter (separated with a space). hints:: hints:: Shows hint strings for codec parsers for any use. Right now it's Shows / stores hint strings for codec parsers for any use. not used. Its format is `key = value`. For example, passing `hp_detect = yes` to IDT/STAC codec parser will result in the disablement of the headphone detection. init_pin_configs:: Shows the initial pin default config values set by BIOS. driver_pin_configs:: Shows the pin default values set by the codec parser explicitly. This doesn't show all pin values but only the changed values by the parser. That is, if the parser doesn't change the pin default config values by itself, this will contain nothing. user_pin_configs:: Shows the pin default config values to override the BIOS setup. Writing this (with two numbers, NID and value) appends the new value. The given will be used instead of the initial BIOS value at the next reconfiguration time. Note that this config will override even the driver pin configs, too. reconfig:: reconfig:: Triggers the codec re-configuration. When any value is written to Triggers the codec re-configuration. When any value is written to this file, the driver re-initialize and parses the codec tree this file, the driver re-initialize and parses the codec tree Loading @@ -371,6 +394,14 @@ clear:: Resets the codec, removes the mixer elements and PCM stuff of the Resets the codec, removes the mixer elements and PCM stuff of the specified codec, and clear all init verbs and hints. specified codec, and clear all init verbs and hints. For example, when you want to change the pin default configuration value of the pin widget 0x14 to 0x9993013f, and let the driver re-configure based on that state, run like below: ------------------------------------------------------------------------ # echo 0x14 0x9993013f > /sys/class/sound/hwC0D0/user_pin_configs # echo 1 > /sys/class/sound/hwC0D0/reconfig ------------------------------------------------------------------------ Power-Saving Power-Saving ~~~~~~~~~~~~ ~~~~~~~~~~~~ Loading Loading @@ -461,6 +492,16 @@ run with `--no-upload` option, and attach the generated file. There are some other useful options. See `--help` option output for There are some other useful options. See `--help` option output for details. details. When a probe error occurs or when the driver obviously assigns a mismatched model, it'd be helpful to load the driver with `probe_only=1` option (at best after the cold reboot) and run alsa-info at this state. With this option, the driver won't configure the mixer and PCM but just tries to probe the codec slot. After probing, the proc file is available, so you can get the raw codec information before modified by the driver. Of course, the driver isn't usable with `probe_only=1`. But you can continue the configuration via hwdep sysfs file if hda-reconfig option is enabled. hda-verb hda-verb ~~~~~~~~ ~~~~~~~~ Loading
include/linux/pci_ids.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -2112,6 +2112,8 @@ #define PCI_DEVICE_ID_MELLANOX_SINAI_OLD 0x5e8c #define PCI_DEVICE_ID_MELLANOX_SINAI_OLD 0x5e8c #define PCI_DEVICE_ID_MELLANOX_SINAI 0x6274 #define PCI_DEVICE_ID_MELLANOX_SINAI 0x6274 #define PCI_VENDOR_ID_DFI 0x15bd #define PCI_VENDOR_ID_QUICKNET 0x15e2 #define PCI_VENDOR_ID_QUICKNET 0x15e2 #define PCI_DEVICE_ID_QUICKNET_XJ 0x0500 #define PCI_DEVICE_ID_QUICKNET_XJ 0x0500 Loading
sound/pci/hda/hda_beep.c +1 −0 Original line number Original line Diff line number Diff line Loading @@ -138,6 +138,7 @@ void snd_hda_detach_beep_device(struct hda_codec *codec) input_unregister_device(beep->dev); input_unregister_device(beep->dev); kfree(beep); kfree(beep); codec->beep = NULL; } } } } EXPORT_SYMBOL_HDA(snd_hda_detach_beep_device); EXPORT_SYMBOL_HDA(snd_hda_detach_beep_device);