aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-07-24ASoC: wm8994: Hold runtime PM reference while handling mic and jack IRQsMark Brown1-0/+13
Ensures that we don't interact badly with the power management framework, especially in the cases where we're doing deferred work or we're using a direct GPIO for these signals. Signed-off-by: Mark Brown <[email protected]>
2012-07-24ASoC: sgtl5000: remove unneeded snd_soc_dapm_new_widgets in probeDong Aisheng1-2/+0
There's a driver bug that sgtl5000 dapm widget kcontrols do not work. e.g. can not select capture mux with amixer tool(no error info prompted). The root cause is that we still call snd_soc_dapm_new_widgets in codec driver probe function afer converting to table based widgets. This will cause the card dapm widgets are instantiated before the dapm_routes are registered. Then, no available dapm widget pathes can be found during instantiation which finally will cause soc_dapm_mux_update_power to fail(can not find correct path with kcontrol) in snd_soc_dapm_put_enum_double function. Here we remove the unneeded snd_soc_dapm_new_widgets in codec probe and let the soc core to handle the register sequence properly. Then we can fix above issue. Signed-off-by: Dong Aisheng <[email protected]> Acked-by: Shawn Guo <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-07-24ASoC: mxs-saif: set a base clock rate for EXTMASTER mode workDong Aisheng1-1/+15
Set an initial clock rate for the saif internal logic to work properly. This is important when working in EXTMASTER mode that uses the other saif's BITCLK&LRCLK but it still needs a basic clock which should be fast enough for the internal logic. Signed-off-by: Dong Aisheng <[email protected]> Acked-by: Shawn Guo <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-07-24ASoC: mxs-saif: fix clock prepare and enable unbalance issueDong Aisheng1-0/+10
Currently we directly call a clock_enable in trigger function without a clk_prepare as pair first. This will cause system hang immediately when run capture because the clock was not prepared(playback does not hang because the clock was prepared already by get_mclk before), a warning message in clock framework may cause a deadlock to reclaim clock lock (see: pl011_console_write). Here we prepare clock first in hw_param, then enable it in trigger function to guarantee the balance. Signed-off-by: Dong Aisheng <[email protected]> Acked-by: Shawn Guo <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-07-23ASoC: wm8994: Ensure there are enough BCLKs for four channelsMark Brown1-1/+1
Otherwise if someone tries to use all four channels on AIF1 with the device in master mode we won't be able to clock out all the data. Signed-off-by: Mark Brown <[email protected]> Cc: [email protected]
2012-07-23Merge tag 'asoc-3.6' of ↵Takashi Iwai3-29/+33
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: Additional updates for 3.6 A few more fixes for 3.6, some of which are relatively important - they've all been in -next for at least some time. - DAPM fixes for the recent locking changes. - Fix for _PRE and _POST widgets (which have been broken for a few releases now). - A couple of minor driver updates.
2012-07-23Merge branch 'for-3.5' into for-3.6Mark Brown16-56/+99
2012-07-23ASoC: dapm: Fix _PRE and _POST events for DAPM performance improvementsMark Brown1-1/+9
Ever since the DAPM performance improvements we've been marking all widgets as not dirty after each DAPM run. Since _PRE and _POST events aren't part of the DAPM graph this has rendered them non-functional, they will never be marked dirty again and thus will never be run again. Fix this by skipping them when marking widgets as not dirty. Signed-off-by: Mark Brown <[email protected]> Acked-by: Liam Girdwood <[email protected]> Cc: [email protected]
2012-07-20ALSA: hda - add dock support for Thinkpad X230 TabletDavid Henningsson2-1/+29
Also add a model/fixup string "lenovo-dock", so that other Thinkpad users will be able to test this fixup easily, to see if it enables dock I/O for them as well. Cc: [email protected] BugLink: https://bugs.launchpad.net/bugs/1026953 Tested-by: John McCarron <[email protected]> Signed-off-by: David Henningsson <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2012-07-20ALSA: hda - Turn on PIN_OUT from hdmi playback prepare.Dylan Reid1-6/+6
Turn on the pin widget's PIN_OUT bit from playback prepare. The pin is enabled in open, but is disabled in hdmi_init_pin which is called during system resume. This causes a system suspend/resume during playback to mute HDMI/DP. Enabling the pin in prepare instead of open allows calling snd_pcm_prepare after a system resume to restore audio. Signed-off-by: Dylan Reid <[email protected]> Cc: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2012-07-19Merge branch 'topic/pm-convert' into for-nextTakashi Iwai83-410/+602
This merges the changes for converting to new PM ops for platform and some other drivers. Also move some header files to local places from the public include/sound.
2012-07-19Merge tag 'asoc-3.6' of ↵Takashi Iwai126-1344/+16719
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: Updates for 3.6 This has been a pretty quiet release - very little activity in framework terms, mostly just a few new drivers and updates: - Added the ability to add and remove DAPM paths dynamically, mostly for reparenting on clock changes. - New machine drivers for Marvell Brownstone, ST-Ericsson Ux500 reference platform and ttc-dkp. - New CPU drivers for Blackfin BF6xx SPORTs in I2S mode, Marvell MMP, Synopsis Designware I2S controllers, and SPEAr DMA and S/PDIF - New CODEC drivers for Dialog DA732x, ST STA529, ST-Ericsson AB8500, TI Isabelle and Wolfson Microelectronics WM5102 and WM5110
2012-07-18ASoC imx-audmux: add MX31_AUDMUX_PORT7_SSI_PINS_7 defineTorben Hohn2-1/+2
The MX31 Audmux also has 7 Ports. This patch adds the missing define, and makes the debugfs code iterate over that port too. Signed-off-by: Torben Hohn <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-07-18ASoC: littlemill: Add userspace control of the WM1250 I/OMark Brown1-0/+7
Signed-off-by: Mark Brown <[email protected]>
2012-07-18ASoC: wm8994: Update micdet for irqdomain conversionMark Brown1-3/+4
The conversion of the core driver to irqdomains means that we don't need and irq_base to have working interrupts so use wm8994_request_irq() to deal with looking up the interrupt number for the micdet IRQ. Signed-off-by: Mark Brown <[email protected]>
2012-07-18ALSA: hda - make sure alc268 does not OOPS on codec parseDavid Henningsson1-2/+2
A recent commit made patch_alc268 call snd_hda_pick_fixup with NULL quirk pointer. Make sure we do not reference that NULL pointer. Signed-off-by: David Henningsson <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2012-07-18Merge branch 'topic/misc' into for-nextTakashi Iwai20-538/+360
Generic updates for sound 3.6
2012-07-18Merge branch 'topic/hda' into for-nextTakashi Iwai1001-5658/+12210
This is a large chunk merge for 3.6 HD-audio things
2012-07-18ALSA: hda - Add support for Realtek ALC282David Henningsson1-0/+1
This codec has a separate dmic path (separate dmic only ADC), and thus it looks mostly like ALC275. Cc: [email protected] BugLink: https://bugs.launchpad.net/bugs/1025377 Tested-by: Ray Chen <[email protected]> Signed-off-by: David Henningsson <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2012-07-17ALSA: hda - Fix index number conflicts of phantom jacksTakashi Iwai1-15/+30
Since some jack controls may be renamed as phantom jacks, the existing check for index conflicts doesn't work because it simply compares the name with the last used name, assuming that the controls with the same name continue. Thus, it would result in the duplicated controls when two or more phantom jacks with the very same type exist, and the driver gives up with an error. This patch fixes the problem by checking the index number conflicts more intensively (but dumbly). Signed-off-by: Takashi Iwai <[email protected]>
2012-07-17ALSA: opti9xx: Fix section mismatch by PM supportTakashi Iwai1-1/+1
In the previous commit, snd_opti9xx_configure() is called from the resume handler but it's still marked as __devinit. Fix it. Reported-by: Fengguang Wu <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2012-07-17ALSA: snd-opti9xx: Implement suspend/resumeOndrej Zary1-4/+63
Implement suspend/resume support for Opti 92x and 93x chips. Tested with Opti 929A+AD1848 and Opti 931. Signed-off-by: Ondrej Zary <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2012-07-17ALSA: hda - Add new GPU codec ID to snd-hdaAaron Plattner1-0/+2
Vendor ID 0x10de0051 is used by a yet-to-be-named GPU chip. Signed-off-by: Aaron Plattner <[email protected]> Acked-by: Andy Ritger <[email protected]> Reviewed-by: Daniel Dadap <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2012-07-16ALSA: hda - Fix driver type of Haswell controller to AZX_DRIVER_SCHTakashi Iwai1-1/+1
According to Xingchao, This works for HDMI audio, otherwise there's blocking issue. Signed-off-by: Takashi Iwai <[email protected]>
2012-07-16ALSA: hda - add Haswell HDMI codec idWang Xingchao1-0/+2
0x80862807 is HDMI id for Haswell HDA. Signed-off-by: Wang Xingchao <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2012-07-16ALSA: hda - Add DeviceID for Haswell HDAWang Xingchao1-0/+5
this patch add proper id for Haswell HDA Controller. [Added AZX_DCAPS_POSFIX_COMBO flag by tiwai] Signed-off-by: Wang Xingchao <[email protected]> Acked-by: Jaroslav Kysela <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2012-07-16ALSA: wss_lib: Fix resume on Yamaha OPL3-SAxOndrej Zary1-0/+4
Yamaha OPL3-SAx chips don't resume properly when playback is running - garbage is played after resume. Restoring the CS4231_PLAYBK_FORMAT register last fixes the problem. Signed-off-by: Ondrej Zary <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2012-07-16ALSA: wss_lib: fix suspend/resumeOndrej Zary1-1/+0
By setting SNDRV_PCM_INFO_RESUME, wss_lib claims that it can restore the card state fully on resume. But in fact, it can't as DMA is not restored so any playback/capture running during suspend will fail to continue after resume. Remove SNDRV_PCM_INFO_RESUME flag from pcm info field to fix the problem. Signed-off-by: Ondrej Zary <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2012-07-16ALSA: es1938: replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGEClemens Ladisch1-15/+10
Instead of the hard-to-mantain TLV_DB_RANGE_HEAD macro, use DECLARE_TLV_DB_RANGE, which computes its size automatically. (Also make this data const on the way.) Signed-off-by: Clemens Ladisch <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2012-07-16ALSA: tlv: add DECLARE_TLV_DB_RANGE()Clemens Ladisch1-0/+4
Add a DECLARE_TLV_DB_RANGE() macro so that dB range information can be specified without having to count the items manually for TLV_DB_RANGE_HEAD(). Signed-off-by: Clemens Ladisch <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2012-07-16ALSA: tlv: add DECLARE_TLV_CONTAINER()Clemens Ladisch1-0/+5
Add the DECLARE_TLV_CONTAINER() macro to allow having static TLVs containing more than one item. Signed-off-by: Clemens Ladisch <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2012-07-16ALSA: tlv: compute TLV_*_ITEM lengths automaticallyClemens Ladisch1-8/+12
Add helper macros with a little bit of preprocessor magic to automatically compute the length of a TLV item. This lets us avoid having to compute this by hand, and will allow to use items that do not use a fixed length. Signed-off-by: Clemens Ladisch <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2012-07-15ASoC: Convert S3C2412 I2S driver to gpiolib APISylwester Nawrocki1-7/+3
The s3c2410_gpio* calls are obsolete and have been scheduled for removal since several kernel releases. Remove them and use common gpiolib API. This patch is a prerequisite for removal of the obsolete S3C24XX SoC GPIO definitions. Compile tested only. Cc: Ben Dooks <[email protected]> Signed-off-by: Sylwester Nawrocki <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-07-15ASoC: Convert S3C24XX I2S driver to gpiolib APISylwester Nawrocki1-7/+3
The s3c2410_gpio* calls are obsolete and have been scheduled for removal since several kernel releases. Remove them and use common gpiolib API. This patch is a prerequisite for removal of the obsolete S3C24XX SoC GPIO definitions. Tested on Micro2440-SDK. Cc: Ben Dooks <[email protected]> Signed-off-by: Sylwester Nawrocki <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-07-13ASoC: dapm: Fix compilation warningMarek Belisko1-0/+1
Fix following: sound/soc/soc-dapm.c: In function ‘dapm_clock_event’: sound/soc/soc-dapm.c:1021:1: warning: control reaches end of non-void function [-Wreturn-type] Signed-off-by: Marek Belisko <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-07-13ALSA: snd-usb: move calls to usb_set_interfaceDaniel Mack2-89/+41
The rework of the snd-usb endpoint logic moved the calls to snd_usb_set_interface() into the snd_usb_endpoint implemenation. This changed the order in which these calls are issued to the device, and thereby caused regressions for some webcams. Fix this by moving the calls back to pcm.c for now to make it work again and use snd_usb_endpoint_activate() to really tear down all remaining URBs in the flight, consequently fixing another regression caused by USB packets on the wire after altsetting 0 has been selected. Signed-off-by: Daniel Mack <[email protected]> Reported-and-tested-by: Philipp Dreimann <[email protected]> Reported-by: Joseph Salisbury <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2012-07-12ASoC: wm8962: Redo early init of the part on resumeMark Brown1-0/+3
Ensure robust startup of the part by going through the reset procedure prior to resyncing the full register cache, avoiding potential intermittent faults in some designs. Signed-off-by: Mark Brown <[email protected]> Cc: [email protected]
2012-07-11ASoC: Free memory in the error paths of soc_of_parse_audio_routing()Matthias Kaehlcke1-0/+2
Release the memory of the routing table before leaving the function upon errors in the device tree Signed-off-by: Matthias Kaehlcke <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-07-11ASoC: wm5110: Add audio CODEC driverMark Brown4-0/+979
The WM5110 is a highly integrated low power audio subsystem for smartphones, tablets and other portable audio devices. It combines an advanced DSP feature set with a flexible, high performance audio hub CODEC. This patch adds the audio CODEC driver for the device. Signed-off-by: Mark Brown <[email protected]>
2012-07-11ASoC: STA529: fix an error messageDan Carpenter1-1/+2
GCC complains that "ret" is uninitialized here. Signed-off-by: Dan Carpenter <[email protected]> Acked-By: Rajeev Kumar <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-07-10ASoC: arizona: Support variable FLL VCO multipliersMark Brown3-3/+7
Some Arizona chips have a higher frequency for the FLL VCO, support this in the common code. Signed-off-by: Mark Brown <[email protected]>
2012-07-10ASoC: tlv320aic3x: add input clock selectionJiri Prchal2-0/+14
This patch adds input selection of main codec clock - from what pin. Both registers set same value since codec uses clock divider or pll at one time. Signed-off-by: Jiri Prchal <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-07-10ASoC: tlv320aic3x: add AGC settingsJiri Prchal1-0/+25
This patch adds AGC target level and times settings for TLV320AIC3x. Enums uses small arrays of two channels left and right since it uses different registers. Signed-off-by: Jiri Prchal <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-07-09ASoC: tlv320aic3x: add deemphasis switchJiri Prchal1-0/+3
This patch adds missing deemphasis switch. Signed-off-by: Jiri Prchal <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-07-09ASoC: wm5102: Fix cut'n'paste for digital volume registersMark Brown1-3/+3
The analogue PGA shifts were used; this makes no practical difference as the values are the same. Signed-off-by: Mark Brown <[email protected]>
2012-07-09ASoC: arizona: Add IN4 to the mixer tablesMark Brown2-1/+5
Some devices have four input structures rather than three. Signed-off-by: Mark Brown <[email protected]>
2012-07-09ASoC: arizona: Export dai_opsMark Brown1-0/+1
Signed-off-by: Mark Brown <[email protected]>
2012-07-06ASoC: omap-mcpdm: Add missing MODULE_ALIASPeter Ujfalusi1-0/+1
The MODULE_ALIAS() was missing from the driver. Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-07-06ASoC: arizona: Change DAPM routes for AIF clocks when we change themMark Brown1-3/+29
Signed-off-by: Mark Brown <[email protected]> Acked-by: Liam Girdwood <[email protected]>
2012-07-06ASoC: dapm: Allow routes to be deleted at runtimeMark Brown2-0/+79
Since we're now relying on DAPM for things like enabling clocks when we reparent the clocks for widgets we need to either use conditional routes (which are expensive) or remove routes at runtime. Add a route removal API to support this use case. Signed-off-by: Mark Brown <[email protected]> Acked-by: Liam Girdwood <[email protected]>