summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: hda - Fix GPIO LED setup for IDT 92HD75 codecsTakashi Iwai2011-12-061-21/+24
| | | | | | | | | | | | | | | | Some HP laptops with IDT 92HD75 codecs may use a GPIO > 4 for the mute LED, but currently the driver doesn't check this properly, and confuses the mute LED behavior. This ended up with the silent output on some HP laptops due to having another GPIO used as external amp control. This patch fixes the problem by checking the max GPIO count and comparing with the given value from DMI entry instead of magic fixed value 4 and 8, and adding a new field to indicate the VREF mute-LED behavior. Reported-and-tested-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com> Cc: <stable@kernel.org> [v3.1] Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'fix/asoc' into for-linusTakashi Iwai2011-11-2315-20/+88
|\
| * ASoC: Ensure WM8731 register cache is synced when resuming from disabledMark Brown2011-11-211-0/+1
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
| * Merge branch 'DB_RANGE-size-fixes' of ↵Mark Brown2011-11-217-10/+10
| |\ | | | | | | | | | git://git.alsa-project.org/alsa-kprivate into for-3.2
| | * ASoC: wm_hubs: fix DB_RANGE sizeClemens Ladisch2011-11-201-1/+1
| | | | | | | | | | | | | | | | | | | | | Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent reading more data than actually is in the array. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
| | * ASoC: wm9090: fix DB_RANGE sizeClemens Ladisch2011-11-201-3/+3
| | | | | | | | | | | | | | | | | | | | | Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent reading more data than actually is in the arrays. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
| | * ASoC: wm8993: fix DB_RANGE sizeClemens Ladisch2011-11-201-1/+1
| | | | | | | | | | | | | | | | | | | | | Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent reading more data than actually is in the array. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
| | * ASoC: wm8962: fix DB_RANGE sizeClemens Ladisch2011-11-201-2/+2
| | | | | | | | | | | | | | | | | | | | | Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent reading more data than actually is in the arrays. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
| | * ASoC: sgtl5000: fix DB_RANGE sizeClemens Ladisch2011-11-201-1/+1
| | | | | | | | | | | | | | | | | | | | | Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent reading more data than actually is in the array. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
| | * ASoC: rt5631: fix DB_RANGE sizeClemens Ladisch2011-11-201-1/+1
| | | | | | | | | | | | | | | | | | | | | Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent the last entry from being omitted. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
| | * ASoC: adau1373: fix DB_RANGE sizeClemens Ladisch2011-11-201-1/+1
| | | | | | | | | | | | | | | | | | | | | Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent reading more data than actually is in the array. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
| * | ASoC: cs4271: Fix wrong mask parameter in some snd_soc_update_bits callsAxel Lin2011-11-201-3/+5
| | | | | | | | | | | | | | | | | | Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Alexander Sverdlin <subaparts@yandex.ru> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: wm8753: Skip noop reconfiguration of DAI modeTimo Juhani Lindfors2011-11-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes it possible to set DAI mode to its currently applied value even if codec is active. This is necessary to allow aplay -t raw -r 44100 -f S16_LE -c 2 < /dev/urandom & alsactl store -f backup.state alsactl restore -f backup.state to work without returning errors. This patch is based on a patch sent by Klaus Kurzmann <mok@fluxnetz.de>. Signed-off-by: Timo Juhani Lindfors <timo.lindfors@iki.fi> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
| * | ASoC: fsl_ssi: properly initialize the sysfs attribute objectTimur Tabi2011-11-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 6992f533 ("sysfs: Use one lockdep class per sysfs attribute") requires 'struct attribute' objects to be initialized with sysfs_attr_init(). Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| * | ASoC: sta32x: preserve coefficient RAMJohannes Stezenbach2011-11-142-1/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The coefficient RAM must be saved in a shadow so it can be restored when the codec is powered on using regulator_bulk_enable(). Signed-off-by: Johannes Stezenbach <js@sig21.net> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
| * | MAINTAINERS: Drop inactive Samsung ASoC maintainerJassi Brar2011-11-101-1/+0Star
| | | | | | | | | | | | | | | Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: wm9081: Don't write WM9081_BIAS_ENA bit to WM9081_VMID_CONTROL registerAxel Lin2011-11-081-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | WM9081_BIAS_ENA is the bit[1] of WM9081_BIAS_CONTROL_1 register (05h). Current code incorrectly write it to WM9081_VMID_CONTROL(04h) register. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: wm9081: Fix reading wrong register for setting VMID 2*240kAxel Lin2011-11-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VMID Divider Enable and Select is controlled by BIT[2:1] of WM9081_VMID_CONTROL register (04h). Current code reads wrong register (WM9081_BIAS_CONTROL_1) for setting VMID 2*240k. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ALSA: hda/realtek - Fix missing inits of item indices for auto-micTakashi Iwai2011-11-231-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the imux entries are rebuilt in alc_rebuild_imux_for_auto_mic(), the initialization of index field is missing. It may work without it casually when the original imux was created by the auto-parser, but it's definitely broken in the case of static configs where no imux was parsed beforehand. Because of this, the auto-mic switching doesn't work properly on some model options. This patch adds the missing initialization of index field. Reported-by: Dmitry Nezhevenko <dion@inhex.net> Cc: <stable@kernel.org> [v3.1] Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Fix invalid pin and GPIO for Apple laptops with CS codecsTakashi Iwai2011-11-231-9/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PCI SSID 8086:7270 is commonly used for multiple Apple machines, thus we can't use it as identifier for a unique model. Because of this conflict, some machines show weird behavior. For example, MacBook Air shows Front and Surround speakers although only Surround works due to the wrongly overridden pin-configuration for imac27. This patch fixes two things: - Stop the wrong pin-config override of imac27 by removing PCI SSID entry for avoiding the wrong mappings, - Add the generic GPIO setup for Apple machines by checking the codec SSID vendor bits Tested-by: Linus Torvalds <torvalds@linux-foundation.org> Tested-by: Dirk Hohndel <hohndel@infradead.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Check subdevice mask in snd_hda_check_board_codec_sid_config()Takashi Iwai2011-11-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | In snd_hda_check_board_codec_sid_config(), not only comparing with the exact value but allow the bit-mask comparison for vendor-only, etc. Tested-by: Linus Torvalds <torvalds@linux-foundation.org> Tested-by: Dirk Hohndel <hohndel@infradead.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - fail ELD reading earlyWu Fengguang2011-11-221-9/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | With the ELD repoll mechanism, we can (and should) fail the ELD reading immediately when find something obviously wrong and let the caller retry after some delay. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: lx6464es - fix device communication via command busTim Blechmann2011-11-221-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 6175ddf06b6172046a329e3abfd9c901a43efd2e optimized the mem*io functions that have been used to send commands to the device. these optimizations somehow corrupted the communication with the lx6464es, that resulted the device to be unusable with kernels after 2.6.33. this patch emulates the memcpy_*_io functions via a loop to avoid these problems. Signed-off-by: Tim Blechmann <tim@klingt.org> LKML-Reference: <4ECB5257.4040600@ladisch.de> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: lx6464es - command buffer API cleanupTim Blechmann2011-11-222-6/+4Star
| | | | | | | | | | | | | | | | | | | | | | | | the command buffer is only accessed from one file, so we can declare the specific functions as static in that file Signed-off-by: Tim Blechmann <tim@klingt.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - repoll ELD content for multiple timesWu Fengguang2011-11-221-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve the one-shot ELD repoll to up to 6 retries. Up to now the 300ms looks sufficient for the test boxes. However I'm a bit worried about how well it can fit the wider user base. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hdspm - Fix PCI ID for PCIe RME MADI cardsAdrian Knoth2011-11-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit c09403dcc5698abf214329fbbf3cf8dbb5558bea has introduced a regression: PCIe versions of RME MADI were no longer detected, because the MADIface ID (0xd5) was used instead of the correct 0xd2. This commit fixes the problem. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: cs5535 - Fix an endianness conversionDan Carpenter2011-11-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | desc->size is supposed to be a le16 type. On a big endian system the current code will set ->size to zero. We fixed a similar bug on the next line but missed this one. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Add pin fix for Alienware M17x R3Takashi Iwai2011-11-191-0/+2
| | | | | | | | | | | | | | | Reported-by: Albert Pool <albertpool@solcon.nl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Fix the connection selection of ADCs on Cirrus codecsTakashi Iwai2011-11-161-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | spec->cur_adc isn't set until cs_capture_pcm_prepare() is called although the driver tries to select the connection at init time and at auto-mic switch. This results in the access to the widget NID 0, which is obviously invalid, also a wrong capture source. This patch fixes the issue by issuing the connect-select verb conditionally at appropriate places. Reported-and-tested-by: Dylan Reid <dgreid@chromium.org> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Update URLs in documentTakashi Iwai2011-11-161-4/+4
| | | | | | | | | | | | | | | | | | Some stuff was moved from kernel.org to other places. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - move eld->spk_alloc fixup to hdmi_update_eld()Wu Fengguang2011-11-162-10/+8Star
| | | | | | | | | | | | | | | | | | | | | It looks more natural and saves two lines of code. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - delayed ELD repollWu Fengguang2011-11-161-7/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Intel HDMI chips (ironlake at least) are found to have ~250ms delay between the ELD_Valid=1 hotplug event is send and the ELD buffer becomes actually readable. During the time the ELD buffer is mysteriously all 0. Fix it by scheduling a delayed work to re-read ELD buffer after 300ms. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - fix ELD memory leakWu Fengguang2011-11-163-10/+9Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | memset(eld) clears eld->proc_entry which will leak the struct snd_info_entry when unloading module. Fix it by - memset only the fields before eld->eld_buffer - set eld->eld_valid to true _after_ all eld fields have been filled Cc: <stable@kernel.org> Cc: Pierre-louis Bossart <pierre-louis.bossart@intel.com> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda/realtek: remove redundant semicolonJesper Juhl2011-11-141-1/+1
| | | | | | | | | | | | | | | | | | | | | Having just one semicolon after a break statement is enough. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - pwr_nids cleanup for IDT codecsCharles Chin2011-11-111-24/+9Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clean up and fix pwr_nids for 92HD71 / 73 / 83 family codecs; remove pwr_mapping which was incorrect. The original pwr_nids support of 92HD83xxx was incorrect and never actually worked before. Now we should have things working correctly without having to hack by DID anymore. It is also not necessary to explicitly turn on all the pins near the beginning of patch_stac92hd83xxx() now, the pins will go though initialization properly. Tested on 92HD66 / 71 / 73 / 75 / 83 / 89 / 91 demo boards. Signed-off-by: Charles Chin <Charles.Chin@idt.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'fix/misc' into for-linusTakashi Iwai2011-11-109-47/+123
|\ \ \
| * | | ALSA: usb-audio: Use kmemdup rather than duplicating its implementationThomas Meyer2011-11-101-4/+3Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use kmemdup rather than duplicating its implementation The semantic patch that makes this change is available in scripts/coccinelle/api/memdup.cocci. Signed-off-by: Thomas Meyer <thomas@m3y3r.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - Re-enable the check NO_PRESENCE misc bitTakashi Iwai2011-11-103-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We disabled the check of NO_PRESENCE bit of the default pin-config in commit f4419172 temporarily. One problem was that the first implementation was wrong -- the bit after the shift must be checked. However, this would still give many regressions on machines with broken BIOS. They set this bit wrongly even on active pins. A workaround is to check whether all pins contain this bit. As far as I've checked, broken BIOSen set this bit on all pins, no matter whether active or not. In such a case, the driver should ignore this bit check. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: vmaster - Free slave-links when freeing the master elementTakashi Iwai2011-11-101-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When freeing the vmaster master element, we should release slave-links properly, not only assumig that slaves will be freed soon later. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - Don't add elements of other codecs to vmaster slaveTakashi Iwai2011-11-101-21/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a virtual mater control is created, the driver looks for slave elements from the assigned card instance. But this may include the elements of other codecs when multiple codecs are on the same HD-audio bus. This works at the first time, but it'll give Oops when it's once freed and re-created via reconfig sysfs. This patch changes the element-look-up strategy to limit only to the mixer elements of the same codec. Reported-by: David Henningsson <david.henningsson@canonical.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: intel8x0: improve virtual environment detectionKonstantin Ozerkov2011-11-091-10/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Detection code improved by PCI SSID usage. VM optimization now enabled only for known devcices (skip host devices forwarded to VM by VT-d or same kind of technology). For debug/troubleshooting purposes optimization can be forced (on/off) by module parameter: "inside_vm" (boolean). Known devices (PCI SSID): 1af4:1100: Reserved for KVM devices. Note this is not yet implemented for KVM's ICH/AC'97 emulation. 1ab8:xxxx: Parallels ICH/AC'97 emulated sound. [ fixed a minor coding-style issue by tiwai] Signed-off-by: Konstantin Ozerkov <kozerkov@parallels.com> Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: intel8x0: move virtual environment detection code into one placeKonstantin Ozerkov2011-11-091-11/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is refactoring patch: preparation for add improved detection code. Now all detection code placed in one place. Signed-off-by: Konstantin Ozerkov <kozerkov@parallels.com> Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: snd_usb_audio: add Logitech HD Webcam c510 to quirk-384Alexey Fisher2011-11-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Logitech HD Webcam c510 provide wrong mixer resolution. Add it to "res = 384" quirk. Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - fix internal mic on Dell Vostro 3500 laptopJulian Wollrath2011-11-092-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the not working internal mic on Dell Vostro 3500 laptop by introducing the new model dell-vostro-3500. Signed-off-by: Julian Wollrath <jwollrath@web.de> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | Merge branch 'fix/asoc' into for-linusTakashi Iwai2011-11-093-15/+45
|\ \ \ \ | |/ / / |/| / / | |/ /
| * | Merge branch 'for-3.2' of ↵Mark Brown2011-11-083-15/+45
| |\ \ | | |/ | |/| | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-3.2
| | * ASoC: Ensure we get an impedence reported for WM8958 jack detectMark Brown2011-11-052-11/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | Occasionally we may see an accessory reported before we have a stable impedance for the accessory. If this happens then reread the status in order to ensure that the handler can take the appropriate action for the status change. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * ASoC: Don't use wm8994->control_data when requesting IRQsMark Brown2011-11-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The field is no longer initialised so this will crash if running on wm8958. Reported-by: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * ASoC: Don't use wm8994->control_data in wm8994_readable_register()Mark Brown2011-11-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The field is no longer initialised so this will crash if running on wm8958. Reported-by: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| | * ASoC: Update git repository URLMark Brown2011-11-021-1/+1
| | | | | | | | | | | | | | | | | | Remove the -2.6 from the name. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>