summaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'for-linus' of ↵Linus Torvalds2010-10-25427-19196/+36789
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (365 commits) ALSA: hda - Disable sticky PCM stream assignment for AD codecs ALSA: usb - Creative USB X-Fi volume knob support ALSA: ca0106: Use card specific dac id for mute controls. ALSA: ca0106: Allow different sound cards to use different SPI channel mappings. ALSA: ca0106: Create a nice spot for mapping channels to dacs. ALSA: ca0106: Move enabling of front dac out of hardcoded setup sequence. ALSA: ca0106: Pull out dac powering routine into separate function. ALSA: ca0106 - add Sound Blaster 5.1vx info. ASoC: tlv320dac33: Use usleep_range for delays ALSA: usb-audio: add Novation Launchpad support ALSA: hda - Add workarounds for CT-IBG controllers ALSA: hda - Fix wrong TLV mute bit for STAC/IDT codecs ASoC: tpa6130a2: Error handling for broken chip ASoC: max98088: Staticise m98088_eq_band ASoC: soc-core: Fix codec->name memory leak ALSA: hda - Apply ideapad quirk to Acer laptops with Cxt5066 ALSA: hda - Add some workarounds for Creative IBG ALSA: hda - Fix wrong SPDIF NID assignment for CA0110 ALSA: hda - Fix codec rename rules for ALC662-compatible codecs ALSA: hda - Add alc_init_jacks() call to other codecs ...
| * Merge branch 'topic/hda' into for-linusTakashi Iwai2010-10-2519-2235/+2829
| |\
| | * ALSA: hda - Disable sticky PCM stream assignment for AD codecsTakashi Iwai2010-10-253-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sticky PCM stream assignment introduced in 2.6.36 kernel seems causing problems on AD codecs. At some time later, the streaming no longer works by unknown reason. A simple workaround is to disable sticky-assignment for these codecs. Tested-by: Vasily Khoruzhick <anarsoul@gmail.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda - Add workarounds for CT-IBG controllersTakashi Iwai2010-10-222-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Creative IBG controllers require the playback stream-tags to be started from 1, instead of capture+1. Otherwise the stream stalls. Reported-by: Wai Yew CHAY <wychay@ctl.creative.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda - Fix wrong TLV mute bit for STAC/IDT codecsClemens Ladisch2010-10-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | The bit value set for TLV mute was wrong in commit de8c85f7840e5e29629de95f5af24297fb325e0b, which resulted in bogus dB ranges that screw up PulseAudio. Corrected with the right constant. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda - Apply ideapad quirk to Acer laptops with Cxt5066Takashi Iwai2010-10-211-2/+1
| | | | | | | | | | | | | | | | | | | | | Multiple Acer laptops with the SSID 1025:04xx require the quirk mode=ideapad, so let's use mask to apply to all these. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda - Add some workarounds for Creative IBGTakashi Iwai2010-10-211-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Creative HD-audio controller chips require some workarounds: - Additional delay before RIRB response - Set the initial RIRB counter to 0xc0 The latter seems to be done in general in Windows driver, so we may use this value later for all types if it's confirmed to work better. Reported-by: Wai Yew CHAY <wychay@ctl.creative.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda - Fix wrong SPDIF NID assignment for CA0110Takashi Iwai2010-10-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The dig_out_nid field must take a digital-converter widget, but the current ca0110 parser passed the pin wrongly instead. Reported-by: Wai Yew CHAY <wychay@ctl.creative.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda - Fix codec rename rules for ALC662-compatible codecsKailang Yang2010-10-211-4/+8
| | | | | | | | | | | | | | | Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda - Add alc_init_jacks() call to other codecsKailang Yang2010-10-211-1/+11
| | | | | | | | | | | | | | | Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda - Fix codec muted after rebooting from WindowsCharles2010-10-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Windows may leave pin power-down registers set after reboot, and this resulted in muted output on Linux. Reset these registers at initialization properly. Signed-off-by: Charles Chin <Charles.Chin@idt.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: tlv - Define numbers in sound/tlv.hTakashi Iwai2010-10-171-1/+1
| | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: HDA: Sigmatel: work around incorrect master mutingClemens Ladisch2010-10-173-6/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The HDA specification does not allow for a codec to mute itself just because the volume is reduced, so _of course_ somebody had to go and do it. This wouldn'\''t hurt too much when the volume is adjusted by hand, but programs like PA that try to set the volume automatically could inadvertently mute the output. To work around this, change the TLV dB information for the Master volume on all Sigmatel HDA codecs to indicate the the minimal volume setting actually mutes. Reported-by: Colin Guthrie <gmane@colin.guthr.ie> Reported-by: "Alexander E. Patrakov" <patrakov@gmail.com> Tested-by: Colin Guthrie <cguthrie@mandriva.org> Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: HDA: Apply SKU override for Acer aspire 7736zDavid Henningsson2010-10-171-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | BugLink: http://launchpad.net/bugs/617647 The current SKU value disables playback, so ignore the SKU value. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: HDA: Enable SKU quirks for RealtekDavid Henningsson2010-10-171-2/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Realtek have ways of specifying external amps and more via a special nid or via the Codec's subsystem ID, this is called "SKU". The computer manufacturer sometimes gets this wrong, so we need to be able to override or ignore the SKU customization value. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda: Add speaker pin to automute Acer Aspire 8943GDaniel T Chen2010-10-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BugLink: https://bugs.launchpad.net/bugs/656625 Add clause for handling Acer Aspire 8943G's subwoofer as additional speaker pin for automuting. Reported-by: RussianNeuroMancer Cc: stable@kernel.org Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: HDA: Correctly apply position_fix quirks for ATI and VIA controllersDavid Henningsson2010-10-121-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Position_fix quirks for specific machines now override the default position_fix behavior for all HDA controllers. BugLink: http://launchpad.net/bugs/465942 BugLink: http://launchpad.net/bugs/580749 BugLink: http://launchpad.net/bugs/587546 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda - Add input volume control for each mic/line-in pinTakashi Iwai2010-10-111-0/+27
| | | | | | | | | | | | | | | | | | | | | The input pins on cirrus codecs have also input amps. Let's make control elemetns for them. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda - Add model=mbp55 entry for MacBookPro 7,1Takashi Iwai2010-10-111-0/+1
| | | | | | | | | | | | | | | | | | | | | Reference: Novell bnc#645066 https://bugzilla.novell.com/show_bug.cgi?id=645066 Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda - Added fixup for Lenovo Y550PValentine Sinitsyn2010-10-041-0/+1
| | | | | | | | | | | | | | | Signed-off-by: Valentine Sinitsyn <valentine.sinitsyn@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: HDA: Add position_fix=3 module option, and refactor related codeDavid Henningsson2010-09-301-22/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | What was previously known as via_dmapos_patch, and hard-coded to be used for VIA and ATI controllers, is now configurable through a module option. The background is that some VIA controllers seem to prefer via_dmapos_patch to be turned off. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda - Add quirk for another Acer laptop with a CX20585 codecLuke Yelavich2010-09-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | BugLink: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/647374 Set another Acer laptop (SSID 1025:043d) to use CXT5066_IDEAPAD Signed-off-by: Luke Yelavich <luke.yelavich@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda: add Vortex86MX PCI idsOtavio Salvador2010-09-271-0/+2
| | | | | | | | | | | | | | | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: hda - Fix switching between dmic and mic using the same mux on IDT/STACVitaliy Kulikov2010-09-251-1/+3
| | | | | | | | | | | | | | | | | | | | | Fix bug in switching between dmic and mic when both use the same mux. Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * Merge branch 'fix/hda' into topic/hdaTakashi Iwai2010-09-241-6/+16
| | |\
| | * | ALSA: hda - MacBookPro 5,3 line-in supportVince Weaver2010-09-231-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've found the following patch is necessary to enable line-in on my MacBookPro 5,3 machine. With the patch applied I've successfully recorded audio from the line-in jack. This is based on the existing 5,5 support. Signed-off-by: Vince Weaver <vweaver1@eecs.utk.edu> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Apply ALC269 VAIO fix-up to all Sony laptops with ALC269Takashi Iwai2010-09-211-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've applied a fix-up for ALC269 VAIO only for two models. But all Sony VAIO models with ALC269 codec seem to require the similar fix. Let's apply it with vendor-id mask. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2010-09-212-0/+11
| | |\ \
| | * | | ALSA: hda - Check invalid NIDs in alc_init_jacks()Takashi Iwai2010-09-211-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The headphone and external-mic pin NIDs can be null, and the jack input elements should be skipped in such a case. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Introduce hda_call_check_power_status() helperTakashi Iwai2010-09-214-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the explicit ifdef check and call of check_power_status ops with a new helper function, hda_call_check_power_status(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hdmi - fix surround41 channel mappingJerry Zhou2010-09-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Channel 2 and channel 3 were all wrongly mapped to HDMI slot 4. This shows up as a bug that one channel is "lost" when playing in surround41 mode. Signed-off-by: Jerry Zhou <jerry.zhou@intel.com> Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hdmi - support infoframe for DisplayPortWu Fengguang2010-09-211-37/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DisplayPort works mostly in the same way as HDMI, except that it expects a slightly different audio infoframe format. Citations from "HDA036-A: Display Port Support and HDMI Miscellaneous Corrections": The HDMI specification defines a data island packet with a header of 4 bytes (3 bytes content + 1 byte ECC) and packet body of 32 bytes (28 bytes content and 4 bytes ECC). Display Port specification on the other hand defines a data island packet (secondary data packet) with header of 4 bytes protected by 4 bytes of parity, and data of theoretically up to 1024 bytes with each 16 bytes chunk of data protected by 4 bytes of parity. Note that the ECC or parity bytes are not present in the DIP content populated by software and are hardware generated. It tests DP connection based on the ELD conn_type field, which will be set by the graphics driver and can be overriden manually by users through the /proc/asound/card0/eld* interface. The DP infoframe is tested OK on Intel SandyBridge/CougarPoint platform. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Refactor ALC269 power-ups/downs in PM callbacksTakashi Iwai2010-09-201-30/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a helper function to simplify the code. Also, cleaned up the ifdef SND_HDA_NEEDS_RESUME and CONFIG_SND_HDA_POWER_SAVE. The former is always defined when the latter is set. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Fix capture widget for ALC269vb and coTakashi Iwai2010-09-201-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALC269vb and other variants don't use the widgets 0x24 but prefer the widget 0x22 instead. We need to fix the input parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Optimize the check of ALC269 codec variantsTakashi Iwai2010-09-201-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't call the COEF check for checking ACL269 codec variants at each time in init but remember the type at the initialization. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Fix initialization of multiple output pins for ALC268/269Takashi Iwai2010-09-201-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When multiple pins are assigned to headphones or speakers, they haven't been initialized properly. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Fix up autocfg output pin numbers in realtek parserTakashi Iwai2010-09-201-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When quirks are applied, the numbers of output pins in autocfg aren't set up properly but only pin arrays are changed. Let's fix it up so that the rest of the parser can use autocfg.line_outs & co safely. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Merge all HDMI modules into the unified moduleTakashi Iwai2010-09-207-1107/+691
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch merges all three patch_*hdmi variants to the single HDMI parser. There is only one snd-hda-codec-hdmi module now. In this patch, the behavior of each parser isn't changed much. The old ATI parser still doesn't use the dynamic parser yet. In later patches, they'll be cleaned up. Also, this patch gets rid of the individual snd-hda-eld module and builds into snd-hda-codec-hdmi, since this is referred only from the HDMI parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Check the external mic pin more strictly for Conexant chipsTakashi Iwai2010-09-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The external mic jack for auto-mic switch must be really an external jack and with a presense-detection capability. This patch makes the check more paranoia. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Make snd_hda_get_input_pin_attr() helperTakashi Iwai2010-09-176-67/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the helper function to give the input-pin attribute for jack connectivity and location. This simplifies checks of input-pin jacks a bit in some places. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: HDA: Sort CXT5066 quirk tableDavid Henningsson2010-09-171-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was just a boring day. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: HDA: Fix spelling (change VOSTO to VOSTRO)David Henningsson2010-09-171-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was just a boring day. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Fix mic attribute check for internal micsTakashi Iwai2010-09-171-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now Windows claims that the BIOS sets pins for internal mics to be BOTH connection instead of FIXED. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Fix automatic MIC switching and include dock MIC for IDT codecsCharles Chin2010-09-171-11/+29
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Charles Chin <Charles.Chin@idt.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Fix input-pin setup for Realtek codecsTakashi Iwai2010-09-161-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Through the transition of autocfg to individual inputs array, I forgot to rewrite the argument passed to alc_set_input_pin(). This resulted in wrongly setup input pins. Fixed now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Fix initialization of secondary headphone and speakerTakashi Iwai2010-09-161-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The secondary or later headphones or speakers aren't initialized preoprly for some codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Add quirk for Acer laptop with CX20585 codecTakashi Iwai2010-09-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Its pin configuration is compatible with ideapad. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Reduce pci id list for Intel with class idTakashi Iwai2010-09-161-13/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of Intel controllers work as generic HD-audio without quirks, and it'll be hopefully so in future. Let's mark pci id with the PCI_CLASS_MULTIMEDIA_HD_AUDIO for Intel so that the driver will work with any new control chips in future. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Preliminary support for new Conexant audio codecsTakashi Iwai2010-09-161-1/+639
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the preliminary support for new Conexant audio codecs with 14f1:5097, 14f1:5098, 14f1:50a1, 14f1:50a2, 14f1:50ab, 14f1:50ac, 14f1:50b8 and 14f1:50b9. Unlike other Conexant parsers, this is designed to be mostly automatic, parsing from BIOS pin configurations. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2010-09-1616-40/+98
| | |\ \ \