aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-05-24spi: spi-ep93xx: Fix the PTR_ERR() argumentFabio Estevam1-1/+1
PTR_ERR should access the value just tested by IS_ERR. The semantic patch that makes this change is available in scripts/coccinelle/tests/odd_ptr_err.cocci. Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-17ASoC: hdac_hdmi: Remove the unused 'timeout' variableFabio Estevam1-1/+0
Commit b2047e996cd88d3 ("ASoC: hdac_hdmi: add link management") introuduced the following build warning: sound/soc/codecs/hdac_hdmi.c:1721:16: warning: unused variable 'timeout' [-Wunused-variable] Remove the unused 'timeout' variable. Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-13Merge remote-tracking branch 'asoc/topic/hdmi' into asoc-nextMark Brown13-41/+969
2016-05-13Merge remote-tracking branches 'asoc/topic/es8328', 'asoc/topic/find-dai', ↵Mark Brown9-66/+288
'asoc/topic/fsl', 'asoc/topic/fsl-sai' and 'asoc/topic/fsl-ssi' into asoc-next
2016-05-13Merge remote-tracking branches 'asoc/topic/davinci' and 'asoc/topic/dwc' ↵Mark Brown6-63/+183
into asoc-next
2016-05-13Merge remote-tracking branches 'asoc/topic/bcm2835', 'asoc/topic/cs42l56', ↵Mark Brown8-86/+188
'asoc/topic/da7213', 'asoc/topic/da7218' and 'asoc/topic/da7219' into asoc-next
2016-05-13Merge remote-tracking branches 'asoc/topic/adsp', 'asoc/topic/ak4624', ↵Mark Brown9-94/+299
'asoc/topic/atmel' and 'asoc/topic/au1x' into asoc-next
2016-05-13Merge remote-tracking branch 'asoc/topic/rt5645' into asoc-nextMark Brown1-6/+10
2016-05-13Merge remote-tracking branch 'asoc/topic/pcm5102' into asoc-nextMark Brown4-0/+88
2016-05-13Merge remote-tracking branch 'asoc/topic/intel' into asoc-nextMark Brown34-68/+1140
2016-05-13Merge remote-tracking branch 'asoc/topic/imx' into asoc-nextMark Brown1-1/+1
2016-05-13Merge remote-tracking branch 'asoc/topic/dmaengine' into asoc-nextMark Brown3-25/+55
2016-05-13Merge remote-tracking branch 'asoc/topic/dapm' into asoc-nextMark Brown1-1/+2
2016-05-13Merge remote-tracking branches 'asoc/fix/davinci', 'asoc/fix/fsl-ssi', ↵Mark Brown4-34/+75
'asoc/fix/rockchip' and 'asoc/fix/rt286' into asoc-linus
2016-05-13ASoC: fsl_ssi: Fix channel slipping on capture (or playback) restart in full ↵Arnaud Mouiche1-0/+22
duplex. Happened when the Playback (or Capture) is running continuously and Capture (or Playback) is restarted (xrun, manual stop/start...) Since the RX (or TX) FIFO are only reset when the whole SSI is disabled, pending samples from previous capture (or playback) session may still be present. They must be erased to not introduce channel slipping. FIFO Clear register fields are documented in IMX51, IMX35 reference manual. They are not documented in IMX50 or IMX6 RM, despite they are working as expected on IMX6SL and IMX6solo. Signed-off-by: Arnaud Mouiche <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Tested-by: Caleb Crome <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-13ASoC: fsl_ssi: Fix channel slipping in Playback at startupArnaud Mouiche1-1/+33
Previously, SCR.SSIEN and SCR.TE were enabled at once if no capture stream was also running. This may not give a chance for the DMA to write the first sample in TX FIFO before the streaming starts on the PCM bus, inserting void samples first. Those void samples are then responsible for slipping the channels. Signed-off-by: Arnaud Mouiche <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Tested-by: Caleb Crome <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-13ASoC: fsl_ssi: Fix samples being dropped at Playback startupArnaud Mouiche1-1/+1
If the capture is already running while playback is started, it is highly probable (>80% in a 8 channels scenario) that samples are lost between the DMA and TX fifo. The reason is that SIER.TDMAE is set before STCR.TFEN0, leaving a time window where the FIFO doesn't receive the samples written by the DMA. This particular case happened only if capture is already enabled as SCR.SSIEN is already set at the playback startup instant. Signed-off-by: Arnaud Mouiche <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Tested-by: Caleb Crome <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-13ASoC: fsl_ssi: Save a dev reference for dev_err() purpose.Arnaud Mouiche1-0/+2
Most of functions only receive the ssi_private reference and don't have a knowledge of 'dev' pointer, even for debug purpose. Signed-off-by: Arnaud Mouiche <[email protected]> Tested-by: Caleb Crome <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-13ASoC: fsl_ssi: The IPG/5 limitation concerns the bitclk, not the sysclk.Arnaud Mouiche1-7/+9
im6sl reference manual 47.7.4: " Bit clock - Used to serially clock the data bits in and out of the SSI port. This clock is either generated internally (from SSI's sys clock) or taken from external clock source (through the Tx/Rx clock ports). [...] Care should be taken to ensure that the bit clock frequency (either internally generated by dividing the SSI's sys clock or sourced from external device through Tx/Rx clock ports) is never greater than 1/5 of the ipg_clk (from CCM) frequency. " Since, in master mode, the sysclk is a multiple of bitclk, we can easily reach a high sysclk value, whereas keeping a reasonable bitclk. ex: 8ch x 16bit x 48kHz = 6144000, requires a 24576000 sysclk (PM=1) yet ipg_clk/5 = 66Mhz/5 = 13.2 Signed-off-by: Arnaud Mouiche <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Tested-by: Caleb Crome <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-13ASoC: fsl_ssi: Real hardware channels max number is 32Arnaud Mouiche1-2/+2
The max number of slots in TDM mode is 32: - Frame Rate Divider Control is a 5bit value - Time slot mask registers control 32 slots. Signed-off-by: Arnaud Mouiche <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Tested-by: Caleb Crome <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-13ASoC: pcm5102a: Add support for PCM5102A codecFlorian Meier4-0/+88
Some definitions to support the PCM5102A codec by Texas Instruments. Signed-off-by: Florian Meier <[email protected]> Changes to original patch by Florian Meier: * rebased (Makefile and Kconfig * fixed checkpath errors (spaces, newlines) * added dt-binding documentation Signed-off-by: Martin Sperl <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-13ASoC: hdac_hdmi: add link managementVinod Koul1-2/+30
Manage the hda idisp link using shiny new link APIs. We need to keep link On while we probe and also hold the reference in runtime resume and drop in suspend Signed-off-by: Jeeja KP <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-13ASoC: Intel: Skylake: add link managementVinod Koul2-1/+34
Use shiny new link APIs to manage the links. Also remove old link configuration logic from driver. We need to keep link and cmd dma to off during active suspend to allow system to enter low power state and turn it on if the link and cmd dma was on before active suspend in active resume. Signed-off-by: Jeeja KP <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-13ALSA: hdac: add link pm and ref countingVinod Koul3-0/+82
The HDA links can be switched off when not is use, similarly command DMA can be stopped as well. This calls for a reference counting mechanism on the link by it's users to manage the link power. The DMA can be turned off when all links are off For this we add two APIs snd_hdac_ext_bus_link_get snd_hdac_ext_bus_link_put They help users to turn up/down link and manage the DMA as well Signed-off-by: Jeeja KP <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Acked-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-12ASoC: rt298: Add DMI match for Broxton-P reference platformVinod Koul1-0/+17
Broxton-P reference platform also uses combo jack for audio connector so we need to set codec pdata to use this based on DMI match for this board. Signed-off-by: Ramesh Babu <[email protected]> Signed-off-by: Senthilnathan Veppur <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Acked-by: Bard Liao <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-12ASoC: rt298: fix null deref on acpi driver dataVinod Koul1-1/+1
ACPI driver data can be NULL so we need to check that before dereference the driver data. Signed-off-by: Senthilnathan Veppur <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Acked-by: Bard Liao <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-12ASoC: dapm: deprecate MICBIAS widget typeJohn Keeping1-1/+2
Commit 086d7f804e26 ("ASoC: Convert WM8962 MICBIAS to a supply widget", 2011-09-23) says: A supply widget is generally clearer than a MICBIAS widget and a mic bias is just a type of supply so use a supply widget for the MICBIAS. This also avoids confusion with the routing when connected to multiple inputs. but this has never been documented as a policy. Add some comments to make it clear. Signed-off-by: John Keeping <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-11ASoC: Intel: fix up for DAI link's be_id changeStephen Rothwell1-5/+5
Signed-off-by: Stephen Rothwell <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-11Merge branch 'topic/dai-link' of ↵Mark Brown11-25/+25
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel
2016-05-11ASoC: Intel: Fix printk formattingJoonas Lahtinen1-1/+1
Format number after 0x in hex. Cc: Jie Yang <[email protected]> Cc: Liam Girdwood <[email protected]> Cc: Mark Brown <[email protected]> Cc: Jaroslav Kysela <[email protected]> Cc: Takashi Iwai <[email protected]> Signed-off-by: Joonas Lahtinen <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-10ASoC: da7213: Allow PLL disable/bypass when using 32KHz sysclkAdam Thomson1-1/+1
Current checking for PLL 32KHz mode fails in driver code when bypassing the PLL. This is due to an incorrect check of PLL source type when 32KHz clock is provided. Removal of this check resolves the issue. Signed-off-by: Adam Thomson <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-10ASoC: da7213: Update PLL ranges to improve locking at frequency boundaryAdam Thomson2-27/+27
This update changes the dividers used for ranges of input MCLK frequencies, to improve PLL locking for a corner case when at edge of MCLK frequency input divider range. Signed-off-by: Adam Thomson <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-10ASoC: da7213: Default PC counter to free-running when DAI disabledAdam Thomson2-0/+16
Currently PC counter is always synchronised to DAI which means that when the DAI is disabled, features such as ALC calibration cannot be executed successfully. This patch makes sure that when the DAI is disabled, PC counter is set to free-running. Signed-off-by: Adam Thomson <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-10ASoC: da7213: Add checking of SRM lock status before enabling DAIAdam Thomson2-0/+27
When the codec is DAI clk slave, and the SRM feature of the PLL is being used, the enabling of the DAI should occur only after the PLL has locked to the incoming WCLK. This update adds checking to the the DAI widget event, so it waits for SRM to lock. There is also a timeout if that lock doesn't occur within a given time. Signed-off-by: Adam Thomson <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-10ASoC: da7213: Add DAI DAPM event to control DAI clocksAdam Thomson2-5/+32
Currently, when Codec is I2S master DAI clocks are continuously generated even if all audio streams have stopped. To improve efficiency, control of the DAI clocks for master mode have been moved to a DAPM widget event so they're only enabled as required. Signed-off-by: Adam Thomson <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-10ASoC: Intel: Add Broxton-P machine driverRamesh Babu3-0/+370
This patch adds the Broxton-P machine driver for Intel Broxton-P reference boards. This machine uses the RT298 codec Signed-off-by: Ramesh Babu <[email protected]> Signed-off-by: Senthilnathan Veppur <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-10ASoC: Intel: Skylake: Add more SSP DAIsPardha Saradhi K1-0/+72
The Broxton-P platform has 6 SSPs so we need to add ssp2 thru ssp5 to DAI list for the driver. Signed-off-by: Pardha Saradhi K <[email protected]> Signed-off-by: Ramesh Babu <[email protected]> Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-10ASoC: es8328: Set symmetric ratesJohn Keeping1-0/+1
Although the ES8328 does support different rates for capture and playback, only very limited combinations are supported (8kHz and 48kHz or 8.0182kHz and 44.1kHz) with most rates required to be symmetric. Instead of adding a lot of complexity for little gain, let's enforce symmetric rates. Signed-off-by: John Keeping <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-10ASoC: es8328: Support more sample ratesJohn Keeping1-35/+100
Signed-off-by: John Keeping <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-10ASoC: es8328: Support more sample formatsJohn Keeping2-16/+31
The values are the same for the DAC and ADC so remove the specific values and use values with shifts. Signed-off-by: John Keeping <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-10ASoC: es8328: Move sample size setup to hw_paramsJohn Keeping2-5/+18
This is a refactor in preparation for supporting more sample sizes which has no functional change. Signed-off-by: John Keeping <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-10ASoC: es8328: Use single R/W for regmapJohn Keeping1-0/+1
The chip only supports single reads and writes. Signed-off-by: John Keeping <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-10ASoC: es8328: Fix mask for VMIDSELJohn Keeping1-1/+1
This is always used along with ES8328_CONTROL1_ENREF so there is no change in the generated code as a result of this fix. Signed-off-by: John Keeping <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-10ASoC: es8328: Fix ADC format setupJohn Keeping2-6/+25
The ADCCONTROL4 and DACCONTROL1 registers are similar but not identical, with the DACCONTROL1 having each field starting one bit higher than ADCCONTROL4. Instead of introducing a magic shift, add new constants for the values in ADCCONTROL4 and use a second variable to setup the ADC. Signed-off-by: John Keeping <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-10ASoC: es8328: Move clock setup to hw_paramsJohn Keeping1-15/+16
This ensures that the clock is setup after its frequency has been set; the existing code in set_dai_fmt may be called before the clock rate has been set resulting in an incorrect configuration. Signed-off-by: John Keeping <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-09ASoC: davinci-mcasp: Calculate AUXCLK divider when setting up master clocksPeter Ujfalusi1-4/+25
If the McASP is used as clock master and the reference clock is AUXCLK we can have additional level of divider. The BCLK divider is limited to maximum 32, if the desired bclk can not be reached with this, the AUXCLK divider also needs to be used. Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-09ASoC: davinci-mcasp: Restructure the davinci_mcasp_calc_clk_div()Peter Ujfalusi1-19/+19
Change the return value to error_pmm instead of the BCLK div and handle the divider configuration to McASP within the function when the set flag is true. Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-09ASoC: davinci-mcasp: Change __davinci_mcasp_set_clkdiv() first parameterPeter Ujfalusi1-5/+5
Change the first parameter to struct davinci_mcasp* from struct snd_soc_dai* The function internally does not use or need the DAI information. Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-09ASoC: davinci-mcasp: Use defines for clkdiv IDsPeter Ujfalusi2-3/+9
Instead of hardwired IDs add defines for the available dividers. Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2016-05-09ASoC: davinci-mcasp: Do not allow multiple streams in one directionPeter Ujfalusi1-2/+6
Make sure that the user can not start multiple streams with the same direction. Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Mark Brown <[email protected]>