linux/sound/soc
Maxime Ripard 79e019f2a5 ASoC: sun8i-codec: Set the BCLK divider
commit 316b7758c9 upstream.

While the current code was reporting to be able to work in master mode, it
failed to do so because the BCLK divider wasn't programmed, meaning that
the BCLK would run at the PLL's frequency no matter the sample rate.

It was obviously a bit too fast.

Add support to retrieve the divider to use, and set it. Since our PLL is
not always able to generate a perfect multiple of the sample rate, we'll
have to choose the closest divider that matches our setup.

Fixes: 36c684936f ("ASoC: Add sun8i digital audio codec")
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2017-11-30 08:40:49 +00:00
..
adi ASoC: adi: Add missing return statement. 2015-01-05 20:16:20 +00:00
amd License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atmel License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
au1x License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bcm Merge remote-tracking branches 'asoc/topic/cs43130', 'asoc/topic/cs53l30', 'asoc/topic/cygnus' and 'asoc/topic/davinci' into asoc-next 2017-09-01 12:12:32 +01:00
blackfin License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cirrus License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
codecs License cleanup: add SPDX license identifiers to some files 2017-11-02 10:04:46 -07:00
davinci License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dwc ASoC: dwc: Delete an error message for a failed memory allocation in dw_i2s_probe() 2017-08-14 17:28:51 +01:00
fsl License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
generic License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hisilicon ASoC: hisilicon: constify snd_soc_dai_ops structure 2017-07-17 16:16:58 +01:00
img License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
intel License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
jz4740 ASoC: jz4740: Handle return value of clk_prepare_enable. 2017-07-26 13:01:18 +01:00
kirkwood ASoC: kirkwood: make snd_pcm_hardware const 2017-08-17 17:57:09 +01:00
mediatek License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mxs License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nuc900 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
omap License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pxa License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
qcom License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rockchip License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
samsung License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sh License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sirf License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
spear License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sti ASoC: sti: Fix error handling if of_clk_get() fails 2017-04-30 21:30:52 +09:00
stm License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sunxi ASoC: sun8i-codec: Set the BCLK divider 2017-11-30 08:40:49 +00:00
tegra License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
txx9 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ux500 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xtensa ASoC: xtfpga-i2s: Add missing __rcu annotation 2015-07-29 15:07:54 +01:00
zte ASoC: zte: spdif: constify snd_soc_dai_ops structure 2017-07-17 16:18:15 +01:00
Kconfig Merge remote-tracking branches 'asoc/topic/sta529', 'asoc/topic/sti', 'asoc/topic/stm', 'asoc/topic/sunxi' and 'asoc/topic/tas2552' into asoc-next 2017-04-30 22:16:31 +09:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
soc-ac97.c ASoC: Fixup some small kernel-doc typos 2017-01-12 17:23:01 +00:00
soc-cache.c ASoC: Remove snd_soc_cache_sync() implementation 2014-11-09 09:06:30 +00:00
soc-compress.c ASoC: compress: Set reasonable compress id string 2017-08-16 15:52:58 +01:00
soc-core.c ASoC: Updates for v4.14 2017-09-04 14:50:49 +02:00
soc-dapm.c ASoC: dapm: fix some pointer error handling 2017-01-20 13:11:02 +00:00
soc-devres.c ASoC: Fix warning with make xmldocs caused by soc-devres.c 2015-01-28 11:36:03 +00:00
soc-generic-dmaengine-pcm.c ASoC: Revert "Drop SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME flag" 2017-01-23 18:16:33 +00:00
soc-io.c ASoC: Automatically initialize regmap for all components 2014-08-19 10:59:47 -05:00
soc-jack.c Merge remote-tracking branches 'asoc/topic/hisi', 'asoc/topic/img', 'asoc/topic/jack' and 'asoc/topic/jz4740' into asoc-next 2017-09-01 12:12:41 +01:00
soc-ops.c ASoC: Fixup some small kernel-doc typos 2017-01-12 17:23:01 +00:00
soc-pcm.c Merge remote-tracking branch 'asoc/topic/core' into asoc-next 2017-09-01 12:12:18 +01:00
soc-topology.c ASoC: topology: Fix a potential memory leak in 'soc_tplg_dapm_widget_denum_create()' 2017-09-14 14:13:03 -07:00
soc-utils.c ASoC: soc-utils: make snd_soc_platform_driver const 2017-08-14 17:21:41 +01:00