summaryrefslogtreecommitdiff
path: root/sound
AgeCommit message (Collapse)Author
2013-05-07ASoC: max98088: Fix logging of hardware revision.Dylan Reid
commit 98682063549bedd6e2d2b6b7222f150c6fbce68c upstream. The hardware revision of the codec is based at 0x40. Subtract that before convering to ASCII. The same as it is done for 98095. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-05-07ALSA: usb-audio: Fix autopm error during probingTakashi Iwai
commit 60af3d037eb8c670dcce31401501d1271e7c5d95 upstream. We've got strange errors in get_ctl_value() in mixer.c during probing, e.g. on Hercules RMX2 DJ Controller: ALSA mixer.c:352 cannot get ctl value: req = 0x83, wValue = 0x201, wIndex = 0xa00, type = 4 ALSA mixer.c:352 cannot get ctl value: req = 0x83, wValue = 0x200, wIndex = 0xa00, type = 4 .... It turned out that the culprit is autopm: snd_usb_autoresume() returns -ENODEV when called during card->probing = 1. Since the call itself during card->probing = 1 is valid, let's fix the return value of snd_usb_autoresume() as success. Reported-and-tested-by: Daniel Schürmann <daschuer@mixxx.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-05-07ALSA: usb-audio: disable autopm for MIDI devicesClemens Ladisch
commit cbc200bca4b51a8e2406d4b654d978f8503d430b upstream. Commit 88a8516a2128 (ALSA: usbaudio: implement USB autosuspend) introduced autopm for all USB audio/MIDI devices. However, many MIDI devices, such as synthesizers, do not merely transmit MIDI messages but use their MIDI inputs to control other functions. With autopm, these devices would get powered down as soon as the last MIDI port device is closed on the host. Even some plain MIDI interfaces could get broken: they automatically send Active Sensing messages while powered up, but as soon as these messages cease, the receiving device would interpret this as an accidental disconnection. Commit f5f165418cab (ALSA: usb-audio: Fix missing autopm for MIDI input) introduced another regression: some devices (e.g. the Roland GAIA SH-01) are self-powered but do a reset whenever the USB interface's power state changes. To work around all this, just disable autopm for all USB MIDI devices. Reported-by: Laurens Holst Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-05-07ALSA: snd-usb: try harder to find USB_DT_CS_ENDPOINTDaniel Mack
commit ebfc594c02148b6a85c2f178cf167a44a3c3ce10 upstream. The USB_DT_CS_ENDPOINT class-specific endpoint descriptor is usually stuffed directly after the standard USB endpoint descriptor, and this is where the driver currently expects it to be. There are, however, devices in the wild that have it the other way around in their descriptor sets, so the USB_DT_CS_ENDPOINT comes *before* the standard enpoint. Devices known to implement it that way are "Sennheiser BTD-500" and Plantronics USB headsets. When the driver can't find the USB_DT_CS_ENDPOINT, it won't be able to change sample rates, as the bitmask for the validity of this command is storen in bmAttributes of that descriptor. Fix this by searching the entire interface instead of just the extra bytes of the first endpoint, in case the latter fails. Signed-off-by: Daniel Mack <zonque@gmail.com> Reported-and-tested-by: Torstein Hegge <hegge@resisty.net> Reported-and-tested-by: Yves G <alsa-user@vivigatt.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-05-03ASoC: Tegra: Reset dcnt after each loopSumit Bhattacharya
After each loop which decrements dcnt, dcnt should be reset to initial value. Otherwise in failure condition next loop exit condition will always fail. Bug 1281310 Bug 1255915 Change-Id: I6b61f9bea8bee95d90fa05c4fb61a8b7c22be0b0 Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-on: http://git-master/r/224923 Reviewed-by: Scott Peterson <speterson@nvidia.com> Reviewed-by: Ravindra Lokhande <rlokhande@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User
2013-04-29ASoC: Tegra: Improve capture stopping logicSumit Bhattacharya
During stopping capture session when I2s RX port is disabled I2S FIFO may contain 2 bytes of data. In case of stereo capture done in I2S mode I2S CIF will be configured for stereo and it will not transmit residual 2 byte I2S FIFO data. As a result when next capture session starts audio channel will get reversed due to residual 2 bytes of data. To solve this issue do a SOFT_RESET of I2S channel if after disabling of I2S RX port I2S FIFO does not get empty. Also disable APBIF FIFO after I2S RX port is disabled to follow source to destination disabling sequence. As a precaution similar check is also added form playback stop path. Bug 1255915 Change-Id: I8ab74c96ca00e2a1fda0abfeb73244a83b847005 Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-on: http://git-master/r/220203 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Scott Peterson <speterson@nvidia.com> GVS: Gerrit_Virtual_Submit
2013-04-25vm: convert snd_pcm_lib_mmap_iomem() to vm_iomap_memory() helperLinus Torvalds
commit 0fe09a45c4848b5b5607b968d959fdc1821c161d upstream. This is my example conversion of a few existing mmap users. The pcm mmap case is one of the more straightforward ones. Acked-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-04-24asoc: tegra: Disable MIC_BIAS routeSimon Je
Tegratab doesn't have circuit to control MIC_BIAS by GPIO. Diable MIC_BIAS route in codec when built-in MIC(DMIC) is used to prevent noise. Bug 1273574 Change-Id: Iecc1f0e6a0f9b508d14acdf1c7dac9107c8748d9 Signed-off-by: Simon Je <sje@nvidia.com> Reviewed-on: http://git-master/r/221580 GVS: Gerrit_Virtual_Submit Reviewed-by: Scott Peterson <speterson@nvidia.com>
2013-04-19asoc: tegra: Fix Kernel panic during recordingVijay Mali
Add boundary check for DAM ifc and channel id if all functions where these are used. During camcoder recording DAM functions are called with negative ifc, causing kernel panic. Change-Id: Idd4df5eae579f9a89222361d594a79ddcdfc1fe5 Signed-off-by: Vijay Mali <vmali@nvidia.com> Reviewed-on: http://git-master/r/219692 GVS: Gerrit_Virtual_Submit Reviewed-by: Scott Peterson <speterson@nvidia.com>
2013-04-18asoc: tegra: aic326x: Don't disable clock if call is activeRahul Mittal
Don't disable codec clock if voice call is going on Bug 1272679 Change-Id: I80e9e6922cdfd728128486c492299c08ea745f3c Signed-off-by: Rahul Mittal <rmittal@nvidia.com> Reviewed-on: http://git-master/r/220089 Reviewed-by: Vijay Mali <vmali@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com>
2013-04-16ASoC: wm8903: Fix the bypass to HP/LINEOUT when no DAC or ADC is runningAlban Bedel
commit f1ca493b0b5e8f42d3b2dc8877860db2983f47b6 upstream. The Charge Pump needs the DSP clock to work properly, without it the bypass to HP/LINEOUT is not working properly. This requirement is not mentioned in the datasheet but has been confirmed by Mark Brown from Wolfson. Signed-off-by: Alban Bedel <alban.bedel@avionic-design.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-04-16ALSA: usb-audio: fix endianness bug in snd_nativeinstruments_*Eldad Zack
commit 889d66848b12d891248b03abcb2a42047f8e172a upstream. The usb_control_msg() function expects __u16 types and performs the endianness conversions by itself. However, in three places, a conversion is performed before it is handed over to usb_control_msg(), which leads to a double conversion (= no conversion): * snd_usb_nativeinstruments_boot_quirk() * snd_nativeinstruments_control_get() * snd_nativeinstruments_control_put() Caught by sparse: sound/usb/mixer_quirks.c:512:38: warning: incorrect type in argument 6 (different base types) sound/usb/mixer_quirks.c:512:38: expected unsigned short [unsigned] [usertype] index sound/usb/mixer_quirks.c:512:38: got restricted __le16 [usertype] <noident> sound/usb/mixer_quirks.c:543:35: warning: incorrect type in argument 5 (different base types) sound/usb/mixer_quirks.c:543:35: expected unsigned short [unsigned] [usertype] value sound/usb/mixer_quirks.c:543:35: got restricted __le16 [usertype] <noident> sound/usb/mixer_quirks.c:543:56: warning: incorrect type in argument 6 (different base types) sound/usb/mixer_quirks.c:543:56: expected unsigned short [unsigned] [usertype] index sound/usb/mixer_quirks.c:543:56: got restricted __le16 [usertype] <noident> sound/usb/quirks.c:502:35: warning: incorrect type in argument 5 (different base types) sound/usb/quirks.c:502:35: expected unsigned short [unsigned] [usertype] value sound/usb/quirks.c:502:35: got restricted __le16 [usertype] <noident> Signed-off-by: Eldad Zack <eldad@fogrefinery.com> Acked-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-04-12ALSA: hda - fix typo in proc outputDavid Henningsson
commit aeb3a97222832e5457c4b72d72235098ce4bfe8d upstream. Rename "Digitial In" to "Digital In". This function is only used for proc output, so should not cause any problems to change. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-04-12ALSA: hda - Enabling Realtek ALC 671 codecRainer Koenig
commit 1d87caa69c04008e09f5ff47b5e6acb6116febc7 upstream. * Added the device ID to the modalias list and assinged ALC662 patches for it * Added 4 port support for the device ID 0671 in alc662_parse_auto_config Signed-off-by: Rainer Koenig <Rainer.Koenig@ts.fujitsu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-04-12ALSA: hda - bug fix on return value when getting HDMI ELD infoMengdong Lin
commit 2ef5692efad330b67a234e2c49edad38538751e7 upstream. In function snd_hdmi_get_eld(), the variable 'ret' should be initialized to 0. Otherwise it will be returned uninitialized as non-zero after ELD info is got successfully. Thus hdmi_present_sense() will always assume ELD info is invalid by mistake, and /proc file system cannot show the proper ELD info. Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Acked-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-04-12ASoC: dma-sh7760: Fix compile errorLars-Peter Clausen
commit 417a1178f1bf3cdc606376b3ded3a22489fbb3eb upstream. The dma-sh7760 currently fails with the following compile error: sound/soc/sh/dma-sh7760.c:346:2: error: unknown field 'pcm_ops' specified in initializer sound/soc/sh/dma-sh7760.c:346:2: warning: initialization from incompatible pointer type sound/soc/sh/dma-sh7760.c:347:2: error: unknown field 'pcm_new' specified in initializer sound/soc/sh/dma-sh7760.c:347:2: warning: initialization makes integer from pointer without a cast sound/soc/sh/dma-sh7760.c:348:2: error: unknown field 'pcm_free' specified in initializer sound/soc/sh/dma-sh7760.c:348:2: warning: initialization from incompatible pointer type sound/soc/sh/dma-sh7760.c: In function 'sh7760_soc_platform_probe': sound/soc/sh/dma-sh7760.c:353:2: warning: passing argument 2 of 'snd_soc_register_platform' from incompatible pointer type include/sound/soc.h:368:5: note: expected 'struct snd_soc_platform_driver *' but argument is of type 'struct snd_soc_platform *' This is due the misnaming of the snd_soc_platform_driver type name and 'ops' field. The issue was introduced in commit f0fba2a("ASoC: multi-component - ASoC Multi-Component Support"). Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-04-10ALSA: hda: Cancel delayed work during suspendRahul Mittal
Register hda codec suspend callback which does cancel_delayed_work_sync() during suspend Bug 1266206 Change-Id: Ie3f17156ebf0f648f4db1cfa2bfb0081bd4b0ed7 Signed-off-by: Rahul Mittal <rmittal@nvidia.com> Reviewed-on: http://git-master/r/217860 Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-by: Scott Peterson <speterson@nvidia.com> GVS: Gerrit_Virtual_Submit
2013-03-29asoc: tegra: Add rt5640 pll configuration for hifi i2s slaveRahul Mittal
- Configure codec PLL to generate 512*fs mhz clock from 12mhz clk_m input - Correct bclk_ms bit in codec which should be 1 for frame_size = 32 bits Bug 1256349 Change-Id: I94238622a43aff9efdefbf8aaf68e655fa6662cd Signed-off-by: Rahul Mittal <rmittal@nvidia.com> Reviewed-on: http://git-master/r/211493 Reviewed-by: Scott Peterson <speterson@nvidia.com> GVS: Gerrit_Virtual_Submit
2013-03-28ALSA: snd-usb: mixer: ignore -EINVAL in snd_usb_mixer_controls()Daniel Mack
commit 83ea5d18d74f032a760fecde78c0210f66f7f70c upstream. Creation of individual mixer controls may fail, but that shouldn't cause the entire mixer creation to fail. Even worse, if the mixer creation fails, that will error out the entire device probing. All the functions called by parse_audio_unit() should return -EINVAL if they find descriptors that are unsupported or believed to be malformed, so we can safely handle this error code as a non-fatal condition in snd_usb_mixer_controls(). That fixes a long standing bug which is commonly worked around by adding quirks which make the driver ignore entire interfaces. Some of them might now be unnecessary. Signed-off-by: Daniel Mack <zonque@gmail.com> Reported-and-tested-by: Rodolfo Thomazelli <pe.soberbo@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-28ALSA: snd-usb: mixer: propagate errors up the call chainDaniel Mack
commit 4d7b86c98e445b075c2c4c3757eb6d3d6efbe72e upstream. In check_input_term() and parse_audio_feature_unit(), propagate the error value that has been returned by a failing function instead of -EINVAL. That helps cleaning up the error pathes in the mixer. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-28ALSA: hda - Fix typo in checking IEC958 emphasis bitTakashi Iwai
commit a686fd141e20244ad75f80ad54706da07d7bb90a upstream. There is a typo in convert_to_spdif_status() about checking the emphasis IEC958 status bit. It should check the given value instead of the resultant value. Reported-by: Martin Weishart <martin.weishart@telosalliance.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-28ALSA: hda/cirrus - Fix the digital beep registrationTakashi Iwai
commit a86b1a2cd2f81f74e815e07f756edd7bc5b6f034 upstream. The argument passed to snd_hda_attach_beep_device() is a widget NID while spec->beep_amp holds the composed value for amp controls. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-26asoc: tegra: aic326x: Use avdd_audio regulatorVijay Mali
- Enable avdd_audio regulator during playback on Headphone and Speaker. - This prevent leakage current in codec. - Improve codec power numbers. Bug 1238662 Change-Id: Ie9fa31b6291c06ad4f83138c4e595fb4da29a7f9 Signed-off-by: Vijay Mali <vmali@nvidia.com> Reviewed-on: http://git-master/r/211670 Reviewed-by: Ravindra Lokhande <rlokhande@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Niranjan Wartikar <nwartikar@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-03-20ALSA: seq: Fix missing error handling in snd_seq_timer_open()Takashi Iwai
commit 66efdc71d95887b652a742a5dae51fa834d71465 upstream. snd_seq_timer_open() didn't catch the whole error path but let through if the timer id is a slave. This may lead to Oops by accessing the uninitialized pointer. BUG: unable to handle kernel NULL pointer dereference at 00000000000002ae IP: [<ffffffff819b3477>] snd_seq_timer_open+0xe7/0x130 PGD 785cd067 PUD 76964067 PMD 0 Oops: 0002 [#4] SMP CPU 0 Pid: 4288, comm: trinity-child7 Tainted: G D W 3.9.0-rc1+ #100 Bochs Bochs RIP: 0010:[<ffffffff819b3477>] [<ffffffff819b3477>] snd_seq_timer_open+0xe7/0x130 RSP: 0018:ffff88006ece7d38 EFLAGS: 00010246 RAX: 0000000000000286 RBX: ffff88007851b400 RCX: 0000000000000000 RDX: 000000000000ffff RSI: ffff88006ece7d58 RDI: ffff88006ece7d38 RBP: ffff88006ece7d98 R08: 000000000000000a R09: 000000000000fffe R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: ffff8800792c5400 R14: 0000000000e8f000 R15: 0000000000000007 FS: 00007f7aaa650700(0000) GS:ffff88007f800000(0000) GS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000000002ae CR3: 000000006efec000 CR4: 00000000000006f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process trinity-child7 (pid: 4288, threadinfo ffff88006ece6000, task ffff880076a8a290) Stack: 0000000000000286 ffffffff828f2be0 ffff88006ece7d58 ffffffff810f354d 65636e6575716573 2065756575712072 ffff8800792c0030 0000000000000000 ffff88006ece7d98 ffff8800792c5400 ffff88007851b400 ffff8800792c5520 Call Trace: [<ffffffff810f354d>] ? trace_hardirqs_on+0xd/0x10 [<ffffffff819b17e9>] snd_seq_queue_timer_open+0x29/0x70 [<ffffffff819ae01a>] snd_seq_ioctl_set_queue_timer+0xda/0x120 [<ffffffff819acb9b>] snd_seq_do_ioctl+0x9b/0xd0 [<ffffffff819acbe0>] snd_seq_ioctl+0x10/0x20 [<ffffffff811b9542>] do_vfs_ioctl+0x522/0x570 [<ffffffff8130a4b3>] ? file_has_perm+0x83/0xa0 [<ffffffff810f354d>] ? trace_hardirqs_on+0xd/0x10 [<ffffffff811b95ed>] sys_ioctl+0x5d/0xa0 [<ffffffff813663fe>] ? trace_hardirqs_on_thunk+0x3a/0x3f [<ffffffff81faed69>] system_call_fastpath+0x16/0x1b Reported-and-tested-by: Tommi Rantala <tt.rantala@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-19video: tegra: dc: fix the logic for dis ref-count.Kevin Huang
Use simple logic to meet the requirement of use cases. All logic is implemented in powergate module. Dependency of dis partitions are transparent to client. Change-Id: I3ad900c80a1b12e8397643c078d1269ae9f3dac1 Signed-off-by: Kevin Huang <kevinh@nvidia.com> Reviewed-on: http://git-master/r/210088 Reviewed-by: Mrutyunjay Sawant <msawant@nvidia.com> Tested-by: Mrutyunjay Sawant <msawant@nvidia.com>
2013-03-18asoc: tegra: aic326x: Fix LP1 power for VDDIO_AUDIORahul Mittal
- Register DAPM map/widgets with snd_soc_card structure - Enable idle bias off for TI codec - Correct an error in handling bias level setting Bug 1251424 Change-Id: Id1ed89955a2b8e705c3fd8b0557ca51afeef616d Signed-off-by: Rahul Mittal <rmittal@nvidia.com> Reviewed-on: http://git-master/r/209997 Reviewed-by: Vijay Mali <vmali@nvidia.com> Reviewed-by: Scott Peterson <speterson@nvidia.com> Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-03-15asoc: aic326x codec: Switch off MiniDSP during PlaybackVijay Mali
Use "Low Power Playback" mode does not require MiniDSP. Switch off minidsp during playback usecase. Bug 1238662 Change-Id: I55be90366d8e2320d9f8190daa3cf7a8ff45bf4f Signed-off-by: Vijay Mali <vmali@nvidia.com> Reviewed-on: http://git-master/r/209428 Reviewed-by: Ravindra Lokhande <rlokhande@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Scott Peterson <speterson@nvidia.com>
2013-03-14Revert "ALSA: hda - hdmi: Make jacks phantom, if they're not detectable"Greg Kroah-Hartman
This reverts commit 30efd8debd1ef30be342d374f01e993509f5b76b upstream (dd54ec4067a23236736afecbda120030d7ce8fe9 in this tree) as it is not needed for the 3.4-stable tree. Cc: David Henningsson <david.henningsson@canonical.com> Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-14ALSA: vmaster: Fix slave change notificationTakashi Iwai
commit 2069d483b39a603a5f3428a19d3b4ac89aa97f48 upstream. When a value of a vmaster slave control is changed, the ctl change notification is sometimes ignored. This happens when the master control overrides, e.g. when the corresponding master control is muted. The reason is that slave_put() returns the value of the actual slave put callback, and it doesn't reflect the virtual slave value change. This patch fixes the function just to return 1 whenever a slave value is changed. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-14ALSA: ice1712: Initialize card->private_data properlySean Connor
commit 69a4cfdd444d1fe5c24d29b3a063964ac165d2cd upstream. Set card->private_data in snd_ice1712_create for fixing NULL dereference in snd_ice1712_remove(). Signed-off-by: Sean Connor <sconnor004@allyinics.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-14soc: tegra: fix coverity errorsDara Ramesh
fix memory cleanup and array comparison with null. Change-Id: Ib27b0814c2744024f36fa3f3f510927eceb490a1 Signed-off-by: Dara Ramesh <dramesh@nvidia.com> Reviewed-on: http://git-master/r/206284 Reviewed-by: Mandar Padmawar <mpadmawar@nvidia.com> Tested-by: Mandar Padmawar <mpadmawar@nvidia.com>
2013-03-11asoc: alc5640: Mic noise gateScott Peterson
Enabled noise gate and high pass wind filter to improve recording performance. Bug 1234255 Change-Id: I57f4580b979356ec800500d1879e825655058a20 Signed-off-by: Scott Peterson <speterson@nvidia.com> Reviewed-on: http://git-master/r/206858 GVS: Gerrit_Virtual_Submit Reviewed-by: Rahul Mittal <rmittal@nvidia.com> Tested-by: Rahul Mittal <rmittal@nvidia.com> Reviewed-by: Niranjan Wartikar <nwartikar@nvidia.com> Reviewed-by: Vijay Mali <vmali@nvidia.com>
2013-03-11asoc: alc5640 Heaphone gain boostScott Peterson
Modified rt5640.c to enable greater output swing by enabling dynamic control of charge pump as well as adding headphone DC calibration and power management changes. bug 1211589 Change-Id: Icc3a6253c1456d8d66da9c8a04e05a54ae211391 Signed-off-by: Scott Peterson <speterson@nvidia.com> Reviewed-on: http://git-master/r/206851 GVS: Gerrit_Virtual_Submit Reviewed-by: Rahul Mittal <rmittal@nvidia.com> Tested-by: Rahul Mittal <rmittal@nvidia.com> Reviewed-by: Vijay Mali <vmali@nvidia.com>
2013-03-08asoc: tegra: aic326x: Add support for BT voice call recordingRahul Mittal
Added BT voice call recording support Call recording works fine on BT and normal call switching Bug 1247059 Change-Id: Ide4e0ed0b69485dd9d7f0a2877970b3fe04b1f38 Signed-off-by: Rahul Mittal <rmittal@nvidia.com> Reviewed-on: http://git-master/r/206692 Reviewed-by: Mandar Padmawar <mpadmawar@nvidia.com> Tested-by: Mandar Padmawar <mpadmawar@nvidia.com>
2013-03-06Merge branch 'linux-3.4.35' into rel-17Sachin Nikam
Bug 1243631 Change-Id: I915826047b2e20f0ad0a7d75df295c6cbf6e5b0a
2013-03-06asoc: tegra: aic326x: Fix DAM allocation for BT voice callRahul Mittal
Added a check to not allocate call record DAMs if it is a BT call BT call requires 2 DAMs, and since we have only 3 DAMs, we can't allocate the 2 DAMs that are needed for call recording Fixed system sound mixing during BT call Bug 1242683 Change-Id: I515ac5627c9221ada5a6d4491d6a37ad38c3196f Signed-off-by: Rahul Mittal <rmittal@nvidia.com> Reviewed-on: http://git-master/r/204524 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Vijay Mali <vmali@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Scott Peterson <speterson@nvidia.com>
2013-03-04ALSA: hda - hdmi: Make jacks phantom, if they're not detectableDavid Henningsson
commit 30efd8debd1ef30be342d374f01e993509f5b76b upstream. Just as for analog codecs, a jack that isn't suitable for detection (in this case, NO_PRESENCE was set) should be a phantom Jack instead of a normal one. Thanks to Raymond Yau for spotting. BugLink: https://bugs.launchpad.net/bugs/961286 BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=903869 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-01asoc: codecs: Set ASI1 I2S Port as MasterVijay Mali
Remove code for seting WCLK and BCLK divisor. AIC3262 firmware should configure the divisors. Bug 1235898 Change-Id: I89abdbb07372b36573048b8a1fca149173a82f07 Signed-off-by: Vijay Mali <vmali@nvidia.com> Reviewed-on: http://git-master/r/200683 Reviewed-by: Scott Peterson <speterson@nvidia.com>
2013-02-28ASoC: wm2200: correct IN2L and IN3L digital muteChris Rattray
commit 0d2b6422529a26ac4dee06196524ba9da70cf735 upstream. Signed-off-by: Chris Rattray <crattray@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-02-28ALSA: hda - hdmi: ELD shouldn't be valid after unplugDavid Henningsson
commit bbfd8a19b6913f50a362457c34d49bfafe5e456e upstream. Currently, eld_valid is never set to false, except at kernel module load time. This patch makes sure that eld is no longer valid when the cable is (hot-)unplugged. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-02-28ALSA: hda - Workaround for silent output on Sony Vaio VGC-LN51JGB with ALC889Fernando Luis Vazquez Cao
commit 12e31a78c70dc12897fda2489113f445c0e94a18 upstream. Some Vaio all-in-one desktop PCs (for example VGC-LN51JGB) are affected by the same issue that caused Vaio Z laptops to become silent: the speaker pin must be connected to the first DAC even though the codec itself advertises flexible routing through any of the DACs. Use the no-primary-hp fixup for choosing the speaker pin as the primary so that the right DAC is assigned on this device. Signed-off-by: Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-02-28ALSA: hda - Release assigned pin/cvt at error path of hdmi_pcm_open()Takashi Iwai
commit 2ad779b7329d6894a80df94e693e72eaa0d56790 upstream. If the driver detects and invalid ELD, it gives an open error. But it forgot to release the assigned pin, converter and spdif ctls before returning. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-02-28ALSA: usb-audio: fix Roland A-PRO supportClemens Ladisch
commit 7da58046482fceb17c4a0d4afefd9507ec56de7f upstream. The quirk for the Roland/Cakewalk A-PRO keyboards accidentally used the wrong interface number, which prevented the driver from attaching to the device. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-02-28ALSA: rme32.c irq enabling after spin_lock_irqDenis Efremov
commit f49a59c4471d81a233e09dda45187cc44fda009d upstream. According to the other code in this driver and similar code in rme96 it seems, that spin_lock_irq in snd_rme32_capture_close function should be paired with spin_unlock_irq. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Denis Efremov <yefremov.denis@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-02-28ALSA: ali5451: remove irq enabling in pointer callbackDenis Efremov
commit dacae5a19b4cbe1b5e3a86de23ea74cbe9ec9652 upstream. snd_ali_pointer function is called with local interrupts disabled. However it seems very strange to reenable them in such way. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Denis Efremov <yefremov.denis@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-02-26ASoC: Tegra: Fix I2S_SLOT_CTRL2 reg accessSumit Bhattacharya
When I2S_SLOT_CTRL2 register is modified for TX or RX port previous value in the register for the other port need to be saved. This will fix concurrent playback capture issues in BT SCO mode. Bug 1233807 Change-Id: I618c0e929e0d2c6f16a327a1cc66c61a6d8f6fe6 Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-on: http://git-master/r/202583 Reviewed-by: Scott Peterson <speterson@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Ravindra Lokhande <rlokhande@nvidia.com>
2013-02-19asoc: tegra: Protect against invalid gpio writesScott Peterson
Protect against calling gpio_direction_output() with an innvalid gpio handle. Bug 1233665 Change-Id: I00dc7a2a254c7f57ba2894328abd52324bcb304d Signed-off-by: Scott Peterson <speterson@nvidia.com> Reviewed-on: http://git-master/r/198978 Reviewed-by: Anshul Jain (SW) <anshulj@nvidia.com> Reviewed-by: Matt Wagner <mwagner@nvidia.com> GVS: Gerrit_Virtual_Submit
2013-02-15asoc: AIC3262: Enable headset micVijay Mali
Fix no upstream audio in voice call. For bug 1236029 Change-Id: Ifeef0c03ab12c851e1f148ef9ffc5311e7eecea6 Signed-off-by: Vijay Mali <vmali@nvidia.com> Reviewed-on: http://git-master/r/200700 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-02-11asoc: tegra: fixing EDP client prioritiesSivaram Nair
The client priorities are fixed to reflect the change in EDP driver. Change-Id: I445c4d484fa14d584389fe43e0aa1137ec6bae81 Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/199294 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-02-11tlv320aic3xxx: add i2c shutdown implementationRahul Mittal
Adds i2c shutdown related checks Bug 1226744 Change-Id: Ic9833dd620f108d6c4a339579b71e80c790503f9 Signed-off-by: Rahul Mittal <rmittal@nvidia.com> Reviewed-on: http://git-master/r/197860 Reviewed-by: Vijay Mali <vmali@nvidia.com> Reviewed-by: Scott Peterson <speterson@nvidia.com>