summaryrefslogtreecommitdiff
path: root/sound
AgeCommit message (Collapse)Author
2012-01-19ALSA: HDA: change hd-audio as freezable workqueueHaley Teng
bug 921335 Change-Id: Ie5810536f1693a93c365a8cd9a51e4e9906d8c1a Signed-off-by: Haley Teng <hteng@nvidia.com> Reviewed-on: http://git-master/r/74904 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sachin Nikam <snikam@nvidia.com> Reviewed-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-by: Nitin Kumbhar <nkumbhar@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-on: http://git-master/r/75546 Tested-by: Varun Wadekar <vwadekar@nvidia.com>
2012-01-11ASoC: Fix WM8996 24.576MHz clock operationMark Brown
commit 37d5993c5cc9bc83762ae1b5bd287438022e8afe upstream. Record the clock after the divider as that is what all SYSCLK users see. Without this the other clock configuration in the device comes out at half rate. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Change-Id: Ifd4d1165bc59b4cb35a3d30e43ebba442c67a68c Reviewed-on: http://git-master/r/74167 Reviewed-by: Varun Wadekar <vwadekar@nvidia.com> Tested-by: Varun Wadekar <vwadekar@nvidia.com>
2012-01-11ALSA: HDA: Set position fix to LPIB for an Atom/Poulsbo based deviceDavid Henningsson
commit 1c89fe3b51a2f8068f2f9faa9c48584151416583 upstream. For the Asus 1101HA, reporting position by reading the DMA position buffer map seems unstable and often wrong. The reporter says that position_fix=LPIB works much better (although not 100%, but this is probably due to other issues). The controller chip is an Intel Poulsbo 8086:811b (rev 07) controller, and complete alsa-info is available here: https://launchpadlibrarian.net/86691768/alsa-info.txt.1TNwyE5Ea7 BugLink: http://bugs.launchpad.net/bugs/825709 Tested-by: Stefano Lodi Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Change-Id: Ib024489660295b8842215eb8a3cd25feec25e00d Reviewed-on: http://git-master/r/74605 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
2012-01-10asoc: tegra: wm8903 machine: Handle card register failureManoj Gangwal
Add the support for handling the wm8903 sound card registration failure error. Bug 910788 Change-Id: Ib25f9ca4dd7f5ebd417700421625eb2f3bdc7b5e Signed-off-by: Manoj Gangwal <mgangwal@nvidia.com> Reviewed-on: http://git-master/r/73694 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> (cherry picked from commit 505788de21a98bbc651a536a56f6594fa589252e) Reviewed-on: http://git-master/r/73963 Reviewed-by: Varun Wadekar <vwadekar@nvidia.com> Tested-by: Varun Wadekar <vwadekar@nvidia.com>
2012-01-10asoc: codecs: Remove suspend/resume for ALC5640Manoj Gangwal
Implementation of suspend/resume functionality is not proper for ALC5640 codec , so remove it temporarily. Bug 910788 Change-Id: I243c327602a45a3084befd17a1e722e4d844e502 Signed-off-by: Manoj Gangwal <mgangwal@nvidia.com> Reviewed-on: http://git-master/r/73478 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> (cherry picked from commit 3e24bcc4df716bd1e1f3772300aaa9988319f91a) Reviewed-on: http://git-master/r/73962 Reviewed-by: Varun Wadekar <vwadekar@nvidia.com> Tested-by: Varun Wadekar <vwadekar@nvidia.com>
2012-01-10asoc: tegra: ALC5640 machine: Add ALC5640 audio codecManoj Gangwal
Changes made to add support of ALC5640 codec for cardhu. Bug 910788 Change-Id: I134b95a20d1a377eeb534e263fb74c0871e2fd0f Signed-off-by: Manoj Gangwal <mgangwal@nvidia.com> Reviewed-on: http://git-master/r/71459 Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> (cherry picked from commit 844ef13a8281fe307b1adddcdc440b7e191d8926) Reviewed-on: http://git-master/r/73956 Reviewed-by: Varun Wadekar <vwadekar@nvidia.com> Tested-by: Varun Wadekar <vwadekar@nvidia.com>
2012-01-10asoc: tegra: max98088 machine: set default bias level to standbyChandrakanth Gorantla
set default bias level to standby Change-Id: I89f375c88efae48fff43fe57e15659b40602dfac Signed-off-by: Chandrakanth Gorantla <cgorantla@nvidia.com> Reviewed-on: http://git-master/r/73174 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-by: Nikesh Oswal <noswal@nvidia.com> Reviewed-by: Scott Peterson <speterson@nvidia.com> (cherry picked from commit d00767b6573367a6827f35c2339e46f68f75cbaf) Reviewed-on: http://git-master/r/73952 Reviewed-by: Varun Wadekar <vwadekar@nvidia.com> Tested-by: Varun Wadekar <vwadekar@nvidia.com>
2012-01-05Linux 3.1.7Varun Wadekar
Change-Id: I99507d7cfdcee064f808856dc2ce99d806fd864f
2012-01-04asoc: tegra: max98088 machine: manage disabling of pll_a clockNikesh Oswal
during suspend if bias is set to off then disable the pll_a and related clock only once this would prevent the kernel warnings Bug: 920911 Change-Id: Id85cba4548894572dfd17e51c8a55707bfba7105 Signed-off-by: Nikesh Oswal <noswal@nvidia.com> Reviewed-on: http://git-master/r/72739 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2011-12-30Revert "ASoC: Tegra WM8753 machine: Disable regulator when not in use"Nikesh Oswal
We must keep the regulator ON always else spurious interrupts are generated. This reverts commit 0bdf658f5cd064e41cbbb12a6d1eff5fc0bd09f9. Bug: 916893 Bug: 918912 Signed-off-by: Nikesh Oswal <noswal@nvidia.com> Change-Id: I8effc272b71cf103da6f142b949091db9d953742 Reviewed-on: http://git-master/r/72364 Tested-by: Nikesh Oswal <noswal@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com>
2011-12-30asoc: tegra: max98088 machine: add support for voice call recordingNikesh Oswal
Bug: 912897 Change-Id: I3bdc879d7eecea78eace7452fd9b157f68aeea48 Signed-off-by: Nikesh Oswal <noswal@nvidia.com> Reviewed-on: http://git-master/r/72355 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Scott Peterson <speterson@nvidia.com> Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com>
2011-12-30asoc: tegra: handling of i2s capture in voice call recordingNikesh Oswal
stop the enabling/disabling of i2s capture from i2s dai in voice call recording usecase because this would be handled by the voice call management functions and also add parameters for voice call record usecase in i2s structures. Bug: 912897 Change-Id: I9df117300121218fe7f258fd8c79092ab3e1f8e1 Signed-off-by: Nikesh Oswal <noswal@nvidia.com> Reviewed-on: http://git-master/r/72352 Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
2011-12-30asoc: codecs: Add ALC5640 audio codec.Manoj Gangwal
Changes made to add support of ALC5640 codec for cardhu and support wm8903 codec also without need for code recompilation. Bug 910788 Change-Id: Iace74293a44c38eaae516552f03d8bfa6bfe936f Signed-off-by: Manoj Gangwal <mgangwal@nvidia.com> Reviewed-on: http://git-master/r/71455 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2011-12-30asoc: tegra: fix compiler error without CONFIG_PMKen Chang
enclose the init fuction for i2s reg cache with CONFIG_PM Change-Id: I4828059e397c151a5ad853b6a45a553c480ac197 Signed-off-by: Ken Chang <kenc@nvidia.com> Reviewed-on: http://git-master/r/71581 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-by: Scott Peterson <speterson@nvidia.com>
2011-12-23ASoC: max98095: Convert codec->hw_write to snd_soc_writeAxel Lin
codec->hw_write is broken now, convert codec->hw_write to snd_soc_write. The hardware has 2 banks of registers sharing a section in I2C register space. The 1st bank is the primary one and is cached. The 2nd bank is for loading coefficients only and they do not need cache. These coefficients registers are therefore direct writes. Thus we set cache_bypass flag to deal with this before calling snd_soc_write. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> (cherry picked from commit 0d8d293898ff0ea395840cdf2ac85fbd53c8d3ea) Change-Id: I162206b7c542d85c0349cb5c2af8048e8cee6700 Signed-off-by: Ravindra Lokhande <rlokhande@nvidia.com> Reviewed-on: http://git-master/r/69969 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2011-12-23ASoC: max98095 codec: Catch driver bugs for biquad channel nameRyan Mallon
Move the biquad channel names to a separate array and iterate over it in max98095_get_bq_channel rather than duplicating the hardcoded channel names. Add an error message if an invalid channel is passed and check the error in the callers. Also added a BUILD_BUG_ON to ensure that the bq_mode_name and controls arrays are the same size. Signed-off-by: Ryan Mallon <rmallon@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> (cherry picked from commit c855a1a7ff49a43e1e35571d504e89b4c670693d) Change-Id: Id8e6b672007292416ad60a5d988b987f841927b9 Signed-off-by: Ravindra Lokhande <rlokhande@nvidia.com> Reviewed-on: http://git-master/r/69968 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2011-12-23ASoC: Max98095: Move existing NULL check before pointer dereference.Taylor Hutt
Visual inspection shows that max98095_put_eq_enum() and max98095_put_bq_enum() each have a possible NULL deref of 'pdata'. This change moves the NULL check above the use. Signed-off-by: Taylor Hutt <thutt@chromium.org> Acked-by: Peter Hsiang <Peter.Hsiang@maxim-ic.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> (cherry picked from commit 539494253547d078089cc15490e83f6e5f2e7213) Change-Id: I587b8d2ea14cdf8ce33a4319b6c2ba3a4df067aa Signed-off-by: Ravindra Lokhande <rlokhande@nvidia.com> Reviewed-on: http://git-master/r/69963 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2011-12-22ASOC: tegra: voice call support during suspendNikesh Oswal
during voice call, prevent suspend of codec and audio modules, whereas for other mode they are allowed to suspend. Bug: 917672 Change-Id: I1e8ff06fa21084a0187d35258177f22ae112f1ce Signed-off-by: Nikesh Oswal <noswal@nvidia.com> Reviewed-on: http://git-master/r/71174 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sachin Nikam <snikam@nvidia.com> Reviewed-by: Scott Peterson <speterson@nvidia.com>
2011-12-21ASoC: Provide a more complete DMA driver stubMark Brown
commit cefcc03ffc9527dde56807339edb1719c8dbae5f upstream. Allow userspace applications to do more parameter setting by providing a more complete stub DMA driver specifying a wildcard set of formats and channels and essentially random values for the DMA parameters. This is required for useful runtime operation of the dummy DMA driver until we are able to figure out how to power up links and do hw_params() from DAPM. Sending to stable as without this the dummy driver is not terribly useful. Reported-by: Kyung-Kwee Ryu <Kyung-Kwee.Ryu@wolfsonmicro.com> Tested-by: Kyung-Kwee Ryu <Kyung-Kwee.Ryu@wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-21ALSA: hda - Fix GPIO LED setup for IDT 92HD75 codecsTakashi Iwai
commit f1a73746c6664442082e3d53e1804f46e1910436 upstream. 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> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-21ALSA: hda/realtek - Fix Oops in alc_mux_select()Takashi Iwai
commit cce4aa378a049f4275416ee6302dd24f37b289df upstream. When no imux is available (e.g. a single capture source), alc_auto_init_input_src() may trigger an Oops due to the access to -1. Add a proper zero-check to avoid it. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-21ALSA: sis7019 - give slow codecs more time to resetDavid Dillow
commit fc084e0b930d546872ab23667052499f7daf0fed upstream. There are some AC97 codec and board combinations that have been observed to take a very long time to respond after the cold reset has completed. In one case, more than 350 ms was required. To allow users to have sound on those platforms, we'll wait up to 500ms for the codec to become ready. As a board may have multiple codecs, with some faster than others to reset, we add a module parameter to inform the driver which codecs should be present. Reported-by: KotCzarny <tjosko@yahoo.com> Signed-off-by: David Dillow <dave@thedillows.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-21asoc: tegra: modify stepreset on dam src tableSeongho Joo
set step value from 0 to 1 by the spec, with 0 it showed glitch. Bug 909514 Change-Id: Iebb0896592076fac5ffe71cec0806140228851d9 Reviewed-on: http://git-master/r/70960 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2011-12-21asoc: tegra: put the cache init code under macroNikesh Oswal
put the cache init code under CONFIG_PM macro this fixes the build breaks where CONFIG_PM macro is not defined Change-Id: I0d140d52d80a24298afeefcf4e81b3c6b65d465f Signed-off-by: Nikesh Oswal <noswal@nvidia.com> Reviewed-on: http://git-master/r/70939 Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
2011-12-21ALSA: HDA: Disable all references of clocks at end of suspendSumit Bhattacharya
HDA driver used to enable clocks during suspend only if there is no active clock. But this logic causes a race condition when hda codec power work thread disables the active instance of hda clocks in middle of suspend. To avoid this race condition always enable HDA clocks at start of suspend operation and disable all active references of HDA clocks at end of suspend. Since HDA driver suspend also suspends all active codecs there is no chance of getting HDA clock disable call after completion of suspend. Bug 915436 Change-Id: I4956ba28488d6d445ea2d53fb2592897a2ad83bb Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-on: http://git-master/r/70315 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Scott Peterson <speterson@nvidia.com>
2011-12-21ASoC: Add EQ and filter to max98095 CODEC driverPeter Hsiang
This patch adds the equalizer and biquad filter controls. Signed-off-by: Peter Hsiang <peter.hsiang@maxim-ic.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> (cherry picked from commit dad31ec133adb20c8fd10bfd9379da3f08b8721e) Change-Id: I5f0f1005cecc1ca28bac360a55a86de7b9cddfe1 Signed-off-by: Ravindra Lokhande <rlokhande@nvidia.com> Reviewed-on: http://git-master/r/69961 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2011-12-21ASoC: Remove redundant freq assignment for max98095->sysclk/max98088->sysclkAxel Lin
Current implementation set max98095->sysclk/max98088->sysclk to freq twice. Set it once is enough, this patch removes the first assignment in case we may set invalid clock frequency to max98095->sysclk/max98088->sysclk. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Peter Hsiang <peter.hsiang@maxim-ic.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> (cherry picked from commit 74ab24af4fe165de5af01d0507250dd099f096b0) Change-Id: Ia287942e113a5e13598f537a5d976c49ace8af63 Signed-off-by: Ravindra Lokhande <rlokhande@nvidia.com> Reviewed-on: http://git-master/r/69964 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2011-12-21ASoC: Add max98095 CODEC driverPeter Hsiang
This patch adds the MAX98095 CODEC driver. Signed-off-by: Peter Hsiang <peter.hsiang@maxim-ic.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> (cherry picked from commit 82a5a936f6dea13849d93a2899a9b7294a8db336) Change-Id: I0a9805a90f46e30c756e5a266e96904597242185 Signed-off-by: Ravindra Lokhande <rlokhande@nvidia.com> Reviewed-on: http://git-master/r/69960 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-by: Scott Peterson <speterson@nvidia.com>
2011-12-15asoc: tegra: init cache values for dam/ahub/apbif registersNikesh Oswal
init cache values for dam/ahub/apbif register by reading the power on reset values in respective driver probe functions bug 911332 Change-Id: I693baeff3e076095d3c7f225f1768a4082f7d305 Signed-off-by: Nikesh Oswal <noswal@nvidia.com> Reviewed-on: http://git-master/r/69679 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-12-15ASoC: MAX98088: Fix compiler warningSumit Bhattacharya
Change-Id: Ifd53d0cb0cd6022c3f526df3ba79cd4369796749 Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-on: http://git-master/r/69783 Reviewed-by: Lokesh Pathak <lpathak@nvidia.com> Tested-by: Lokesh Pathak <lpathak@nvidia.com>
2011-12-15ASoC: Tegra: Add support for AP slave mode for Tegra30Sumit Bhattacharya
If AP is set as slave set audio_sync clock as source of i2s controller clock and use pll_a_out0 as i2s controller source in AP master mode. This change is needed to support AP slave mode reliably on Tegra30. Bug 911332 Change-Id: I91e54d1d297c58ad65baac86831bccfbaadf732c Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-on: http://git-master/r/69777 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Lokesh Pathak <lpathak@nvidia.com> Tested-by: Lokesh Pathak <lpathak@nvidia.com>
2011-12-15ASoC: Tegra: Pass "i2s" as con_id in clk_getSumit Bhattacharya
This is a preparation change for using dev_id and con_id fields for audio sync clocks. Use con_id field for i2s clock to get proper clock. Bug 911332 Change-Id: I6aa795624379c00075868d8529bff6e131299a40 Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-on: http://git-master/r/69744 Reviewed-by: Lokesh Pathak <lpathak@nvidia.com> Tested-by: Lokesh Pathak <lpathak@nvidia.com>
2011-12-15ASoC: Tegra: Fix I2s probe failure pathSumit Bhattacharya
Don't free i2s context in I2s platform driver probe failure case since it is statically allocated. Change-Id: Ia1fb7e17493b8906a36e658ded925f0f414aae23 Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-on: http://git-master/r/69729 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Scott Peterson <speterson@nvidia.com> Reviewed-by: Nikesh Oswal <noswal@nvidia.com>
2011-12-15asoc: tegra: restore i2s/das/spdif registers after suspend for t20Nikesh Oswal
when system resumes from suspend state the i2s/das/spdif registers have power on reset values, this change restores the registers with their prior values from cache Bug: 904530 Change-Id: I35c14d95d2d6bf5bc116a1a80e21f4904c8969e5 Signed-off-by: Nikesh Oswal <noswal@nvidia.com> Reviewed-on: http://git-master/r/69715 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-by: Scott Peterson <speterson@nvidia.com>
2011-12-15asoc: max98088: shutdown codec in bias off stateChandrakanth Gorantla
set global shutdown bit to zero so that codec will shutdown in bias off case bug 899662 Change-Id: I86cf5d9567463166fc3ee0585083faba35dac301 Signed-off-by: Chandrakanth Gorantla <cgorantla@nvidia.com> Reviewed-on: http://git-master/r/63858 Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Scott Peterson <speterson@nvidia.com>
2011-12-15ASoC: Tegra: Fix compiler warningsSumit Bhattacharya
Bug 912637 Change-Id: I05e2d3dcb903bf9d011f9b108a8f65f25ee1d3b5 Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-on: http://git-master/r/68956 Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
2011-12-15asoc: tegra: init cache values for i2s registerKen Chang
init i2s->reg_cache[] by reading i2s regs in probe function. bug 911332 Change-Id: I58711b5b8a1866878e9de02144396883df6ff3da Signed-off-by: Ken Chang <kenc@nvidia.com> Reviewed-on: http://git-master/r/69081 Reviewed-by: Scott Peterson <speterson@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-by: Ravindra Lokhande <rlokhande@nvidia.com>
2011-12-15ASoC: Tegra WM8753 machine: Disable regulator when not in useSumit Bhattacharya
On whistler audio regulator used to remain enabled always independent of whether audio playback/capture is going on or not. Only enable audio regulator when any playback/capture is going on using audio codec. Change-Id: Ifb8bf722434306a429aa08345215efde75c8ab38 Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-on: http://git-master/r/68695 Reviewed-by: Lokesh Pathak <lpathak@nvidia.com> Tested-by: Lokesh Pathak <lpathak@nvidia.com>
2011-12-15ASoC: Tegra: return accurate pcm pointer positionSumit Bhattacharya
Use DMA driver tegra_dma_get_transfer_count api to get current DMA position and use it to return accurate PCM poiter position. Change-Id: I28906a1f2dd47dd91f03b8a79f53196752be6083 Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-on: http://git-master/r/68692 Reviewed-by: Lokesh Pathak <lpathak@nvidia.com> Tested-by: Lokesh Pathak <lpathak@nvidia.com>
2011-12-15kernel: sound: soc: Enable voice call dai linkVinod G
Enabling the dai link for voice call devices. Change-Id: Ie89ae4cbc1ae987c56776706c5e4cf1bbd6c8f18 Reviewed-on: http://git-master/r/68575 Reviewed-by: Vinod Gopalakrishnakurup <vinodg@nvidia.com> Tested-by: Vinod Gopalakrishnakurup <vinodg@nvidia.com> Reviewed-by: Scott Peterson <speterson@nvidia.com>
2011-12-15ASoC: Tegra: Acquire wake_lock during playback captureSumit Bhattacharya
Acquire wake_lock from alsa kernel when pcm playback/capture starts and hold it until playack/capture ends. It is needed to prevent device from going into suspend state in middle of audio playback. Change-Id: I71e5fae0268f73a3e57f8d886c1b228d46899ea4 Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-on: http://git-master/r/68671 Reviewed-by: Nikesh Oswal <noswal@nvidia.com> Reviewed-by: Scott Peterson <speterson@nvidia.com>
2011-12-15ASoC: WM8903: Disable irq before suspendSumit Bhattacharya
When codec enters suspend mic bias gets turned off. As a result if a mic is already plugged in a mic removal event gets triggered. Once codec driver gets mic removal interrupt it sleeps for the duration of debounce time which causes kernel power manager to abort suspend. To avoid this scenario disable mic detect IRQ before powering off codec and enable the same during resume. Change-Id: Ic3c90d73c9f2742b6771f7e3fe0e3fb1f59e1cd9 Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-on: http://git-master/r/68662 Reviewed-by: Nikesh Oswal <noswal@nvidia.com> Reviewed-by: Ravindra Lokhande <rlokhande@nvidia.com> Reviewed-by: Scott Peterson <speterson@nvidia.com>
2011-12-14Merge branch 'linux-3.1.5' into android-tegra-nv-3.1Varun Wadekar
Conflicts: arch/arm/Kconfig Change-Id: If8aaaf3efcbbf6c9017b38efb6d76ef933f147fa Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2011-12-09ASoC: Fix wrong define for AD1836_ADC_WORD_OFFSETAxel Lin
commit 72531c9434fa884d20cb3c36fcec83752f32fdf4 upstream. According to the datasheet: The BIT[5:4] of ADC Control Register 2 is to control the word width. 00 = 25 Bits 01 = 20 Bits 10 = 16 Bits 11 = Invalid Thus, the AD1836_ADC_WORD_OFFSET should be defined as 4. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-09ALSA: hda - Fix S3/S4 problem on machines with VREF-pin mute-LEDCharles Chin
commit 88d686027bb43f585914c77dd363f6e817b42c2a upstream. The verb command in stac92xx_post_suspend caused the audio to stop working after resuming from S3 mode on HP laptops with the VREF-pin mute-LED control. Removing relevant post_suspend registering. Although removing D3 on AFG is no optimal solution, the impact should be small in comparison with the broken S3/S4. Signed-off-by: Charles Chin <Charles.Chin@idt.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-09ASoC: Ensure WM8731 register cache is synced when resuming from disabledMark Brown
commit ed3e80c4c991a52f9fce3421536a78e331ae0949 upstream. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-09ASoC: wm8753: Skip noop reconfiguration of DAI modeTimo Juhani Lindfors
commit 2391a0e06789a3f1718dee30b282562f7ed28c87 upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-09ASoC: fsl_ssi: properly initialize the sysfs attribute objectTimur Tabi
commit 0f768a7235d3dfb6f4833030a95a06419df089cb upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-09ASoC: sta32x: preserve coefficient RAMJohannes Stezenbach
commit 54dc6cabe684375b3cf549c7b0545613d694aba8 upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-09ALSA: hda/realtek - Fix missing inits of item indices for auto-micTakashi Iwai
commit 6759dc323826c2c806c998cd93945c5476688dd2 upstream. 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> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>