summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'asoc-v3.11-2' of ↵Takashi Iwai2013-06-28195-1128/+2186
|\ | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: More updates for v3.11 Some more fixes and enhancements, and also a bunch of refectoring for AC'97 support which enables more than one AC'97 controller driver to be built in.
| * Merge remote-tracking branch 'asoc/topic/x86' into asoc-nextMark Brown2013-06-281-22/+10
| |\
| | * ASoC: mfld: Remove unused variableMark Brown2013-06-281-2/+0
| | | | | | | | | | | | | | | Reported-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: mid-x86: Convert to use devm_* APIsWei Yongjun2013-06-261-19/+10
| | | | | | | | | | | | | | | | | | | | | devm_* APIs are device managed and make code simpler. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | Merge remote-tracking branch 'asoc/topic/twl6040' into asoc-nextMark Brown2013-06-282-2/+114
| |\ \
| | * | ASoC: twl6040: Add digital mute supportPeter Ujfalusi2013-06-241-1/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To reduce pop noise during playback stream start and stop the codec needs to have the digital_mute callback implemented. The codec need to be muted before the CPU dai has been stopped (McPDM). Stopping the McPDM will generate a pop on the codec since no signal on the PDM bus means full negative amplitude. By managing the mute/unmute state of the outputs we can decrease the amount of pop noise when playback starts or stops. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | ASoC: twl6040: Assign id for each DAIPeter Ujfalusi2013-06-241-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Later we can identify the DAIs by this ID number. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | mfd: twl6040: Update register bit definitionsPeter Ujfalusi2013-06-241-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add define for: HSDRV, HFDAC, HFPGA and HFDRV enable bits Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> CC: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | ASoC: twl6040: Drop using devm_request_threaded_irq()Peter Ujfalusi2013-06-241-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to free the irq at twl6040_remove() which is called when the machine driver has been removed (the card has been removed). If we fail to do that, next time when the machine driver is loaded the codec's probe will fail since the irq has been already requested. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | Merge remote-tracking branch 'asoc/topic/tas5086' into asoc-nextMark Brown2013-06-282-4/+337
| |\ \ \
| | * | | ASoC: tas5086: fix Mid-Z implementationDaniel Mack2013-06-281-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that the TAS5086 doesn't like channel start parts to be empty, and if all channels are configured to Mid-Z, part 1 has to be used. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tas5086: fix TAS5086_CLOCK_CONTROL register sizeDaniel Mack2013-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The TAS5086_CLOCK_CONTROL also has a size of 1 byte. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tas5086: add support for pwm start mode configDaniel Mack2013-06-252-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The TAS5086 has two alternative modes to start its PWM channels, Mid-Z and Low-Z. Which one to use depends on how the PWM power stages are connected to the TAS5086. This patch adds 6 optional boolean properties to the DT bindings of the driver which allow the user to configure each individual channel to the Mid-Z scheme, and leaves all the others to the default (Low-Z). Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tas5086: add DAPM mux controlsDaniel Mack2013-06-251-0/+200
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The TAS5086 has two muxes, one for connecting I2S inputs to internal channels, and another one for selecting which internal channel should be routed to which PWM output pin. This patch adds DAPM widgets and routes for this driver. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tas5086: add more register definesDaniel Mack2013-06-251-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add register definitions for input and output mux registers, and rewrite the tas5086_accessible_reg() function. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tas5086: open-code I2C transfer routinesDaniel Mack2013-06-251-1/+84
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to support registers of unequal sizes, the I2C I/O has to be open-coded. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | Merge remote-tracking branch 'asoc/topic/ext' into asoc-nextMark Brown2013-06-2811-64/+27
| |\ \ \
| | * | | ASoC: 88pm860x: Use SND_SOC_DAPM_PGA_E() instead of open-coding itLars-Peter Clausen2013-06-191-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: wm_adsp: Use SND_SOC_DAPM_PGA_E() instead of open-coding itLars-Peter Clausen2013-06-191-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: wm_hubs: Use SOC_SINGLE_EXT() instead of open-coding itLars-Peter Clausen2013-06-191-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: wm8995: Use SOC_SINGLE_EXT() instead of open-coding itLars-Peter Clausen2013-06-191-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: wm8994: Use SOC_SINGLE_EXT() instead of open-coding itLars-Peter Clausen2013-06-191-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: wm8991: Use SOC_SINGLE_EXT_TLV() instead of open-coding itLars-Peter Clausen2013-06-191-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: wm8990: Use SOC_SINGLE_EXT_TLV() instead of open-coding itLars-Peter Clausen2013-06-191-8/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: wm8904: Use SOC_SINGLE_EXT() instead of open-coding itLars-Peter Clausen2013-06-191-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: wm8903: Use SOC_SINGLE_EXT() instead of open-coding itLars-Peter Clausen2013-06-191-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: wm8400: Use SOC_SINGLE_EXT_TLV() instead of open-coding itLars-Peter Clausen2013-06-191-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | ASoC: tlv320aix3x: Use SOC_SINGLE_EXT() instead of open-coding itLars-Peter Clausen2013-06-191-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | Merge remote-tracking branch 'asoc/topic/adsp' into asoc-nextMark Brown2013-06-282-7/+455
| |\ \ \ \
| * \ \ \ \ Merge remote-tracking branch 'asoc/topic/adau1701' into asoc-nextMark Brown2013-06-282-41/+296
| |\ \ \ \ \
| | * | | | | ASoC: adau1701: add support for pin muxingDaniel Mack2013-06-252-2/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ADAU1701 has 12 pins that can be configured depending on the system configuration. Allow settting the corresponding registers from DT. Signed-off-by: Daniel Mack <zonque@gmail.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | | | ASoC: adau1701: switch to direct regmap API usageDaniel Mack2013-06-251-33/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hardware I/O has to be open-coded due to registers of unequal sizes. Other than that, the transition is straight forward. Signed-off-by: Daniel Mack <zonque@gmail.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | | | ASoC: adau1701: allow configuration of PLL mode pinsDaniel Mack2013-06-252-7/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ADAU1701 has 2 hardware pins to configure the PLL mode in accordance to the MCLK-to-LRCLK ratio. These pins have to be stable before the chip is released from reset, and a full reset cycle, including a new firmware download is needed whenever they change. This patch adds GPIO properties to the DT bindings of the Codec, and implements makes the set_sysclk memorize the configured sysclk. Because the run-time parameters are unknown at probe time, the first firmware download is postponed to the first hw_params call, when the driver can determine the mclk/lrclk divider. Subsequent downloads are only issued when the divider configuration changes. Signed-off-by: Daniel Mack <zonque@gmail.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | | | ASoC: adau1701: move firmware download to adau1701_reset()Daniel Mack2013-06-251-20/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The chip needs a new download after each reset, so the code to do that needs to live in adau1701_reset(). Signed-off-by: Daniel Mack <zonque@gmail.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: ac97: Support multi-platform AC'97Mark Brown2013-06-2720-72/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we can only have a single platform built in with AC'97 support due to the use of a global variable to provide the bus operations. Fix this by making that variable a pointer and having the bus drivers set the operations prior to registering. This is not a particularly good or nice approach but it avoids blocking multiplatform and a real fix involves fixing the fairly deep problems with AC'97 support - we should be converting it to a real bus. Acked-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | Merge branch 'topic/wm9705' of ↵Mark Brown2013-06-270-0/+0
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-ac97
| | * | | | | | ASoC: wm9705: Remove noisy print on bootMark Brown2013-06-251-2/+0
| | | |_|_|/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no content in the announcement. Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | Merge branch 'topic/stac9766' of ↵Mark Brown2013-06-271-4/+0
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-ac97
| | * | | | | | ASoC: stac9766: Remove version numberMark Brown2013-06-251-4/+0
| | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no need to have versioning beyond that for the kernel, especially when the version number never gets updated. Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: wm9705: Remove noisy print on bootMark Brown2013-06-271-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no content in the announcement. Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: txx9aclc_ac97: Convert to devm_ioremap_resource()Mark Brown2013-06-271-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: tegra-ac97: Do common and clock init prior to component registrationMark Brown2013-06-271-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise we may instantiate and hence have something try to access the device while it is still completing initialisation. Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: tegra20-ac97: Convert to devm_ioremap_resource()Mark Brown2013-06-271-12/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: tegra20-ac97: Convert to devm_clk_get()Mark Brown2013-06-271-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: nuc900-ac97: Convert to use devm_ APIsMark Brown2013-06-271-36/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: ep93xx: Remove redundant dev_set_drvdata() callsMark Brown2013-06-271-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The driver core does this and it's never legal to rely on the value of drvdata if not set in probe() anyway. Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: bf5xx-ac97: Convert to devm_gpio_request_one()Mark Brown2013-06-271-12/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also clean up the error reporting from failed requests while we're at it. Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: ac97c: Use module_platform_driver()Mark Brown2013-06-271-13/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Acked-by: Manuel Lauss <manuel.lauss@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: psc-ac97: Convert to module_platform_driver()Mark Brown2013-06-271-13/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Acked-by: Manuel Lauss <manuel.lauss@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: psc-ac97: Use devm_ioremap_resource()Mark Brown2013-06-271-9/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Acked-by: Manuel Lauss <manuel.lauss@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
OpenPOWER on IntegriCloud