OpenCloudOS-Kernel/sound/soc
Marek Szyprowski 73f5dfc683 ASoC: samsung: get access to DMA engine early to defer probe properly
ASoC Samsung sub-drivers tried to get access to their DMA engine
controllers as a last step in driver probe. If a DMA engine was not
available yet, samsung_asoc_dma_platform_register() function ended in
-EPROBE_DEFER, but the driver already registered its component to ASoC
core. This patch moves samsung_asoc_dma_platform_register() call before
registering any components, to the common place, where driver was gathering
all needed resources.

In case of Samsung Exynos i2s driver the issue was even worse. The driver
managed already to register its secondary DAI platform device before
even getting the DMA engine access. That together with -EPROBE_DEFER error
code from samsung_i2s_probe() immediately triggered another round of
deferred probe retry and in turn endless loop of driver probing.

This patch fixes broken boot on Odroid XU3 and other Exynos5422-based
boards.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2016-10-28 18:21:13 +01:00
..
adi
amd ASoC: constify snd_pcm_ops structures 2016-09-12 20:04:09 +01:00
atmel Merge remote-tracking branches 'asoc/topic/ac97', 'asoc/topic/ak4104', 'asoc/topic/arizona', 'asoc/topic/atmel' and 'asoc/topic/codec-component' into asoc-next 2016-09-29 12:44:07 -07:00
au1x ASoC: au1x: use correct format specifier 2016-04-13 06:39:36 +01:00
bcm ASoC: cygnus: Add Cygnus audio DMA driver 2016-05-31 17:50:42 +01:00
blackfin ASoC: blackfin: Convert to devm_snd_soc_register_card 2015-09-14 18:32:58 +01:00
cirrus
codecs Merge remote-tracking branches 'asoc/topic/tpa6130a2', 'asoc/topic/ux500', 'asoc/topic/wm8960', 'asoc/topic/wm8962' and 'asoc/topic/wm8991' into asoc-next 2016-09-29 12:44:49 -07:00
davinci ASoC: davinci-mcasp: off-by-one in davinci_mcasp_hw_rule_format() 2016-09-01 20:56:30 +01:00
dwc ASoC: dwc: Drop DMA channel names assignment 2016-08-08 11:54:50 +01:00
fsl Merge remote-tracking branches 'asoc/topic/dwc', 'asoc/topic/fsl', 'asoc/topic/gpio-chip' and 'asoc/topic/hdmi' into asoc-next 2016-09-29 12:44:24 -07:00
generic Merge remote-tracking branches 'asoc/topic/sgtl5000', 'asoc/topic/simple', 'asoc/topic/stac9766', 'asoc/topic/sti' and 'asoc/topic/sunxi' into asoc-next 2016-09-29 12:44:41 -07:00
img ASoC: codec duplicated callback function goes to component on pistachio-internal-dac 2016-08-08 11:57:57 +01:00
intel treewide: remove redundant #include <linux/kconfig.h> 2016-10-11 15:06:33 -07:00
jz4740 ASoC: jz4740: Fix module autoload for OF platform driver 2015-09-14 18:46:14 +01:00
kirkwood ASoC: constify snd_pcm_ops structures 2016-09-12 20:04:09 +01:00
mediatek ASoC: mediatek: mark symbols static where possible 2016-08-11 15:02:28 +01:00
mxs Merge remote-tracking branches 'asoc/topic/max98926', 'asoc/topic/mtk', 'asoc/topic/mxs-saif', 'asoc/topic/nau8825' and 'asoc/topic/omap' into asoc-next 2016-03-13 15:17:18 +07:00
nuc900 dma, mm/pat: Rename dma_*_writecombine() to dma_*_wc() 2016-03-09 14:57:51 +01:00
omap ASoC: omap-pcm: off-by-one in 'omap_pcm_limit_supported_formats' 2016-09-01 20:56:16 +01:00
pxa ASoC: pxa: Fix module autoload for platform drivers 2016-05-06 17:42:28 +01:00
qcom Merge remote-tracking branches 'asoc/topic/qcom', 'asoc/topic/rockchip' and 'asoc/topic/rt5616' into asoc-next 2016-09-29 12:44:34 -07:00
rockchip ASoC: rk3399_gru_sound: fix recording pop at first attempt 2016-09-24 19:11:04 +01:00
samsung ASoC: samsung: get access to DMA engine early to defer probe properly 2016-10-28 18:21:13 +01:00
sh Merge remote-tracking branches 'asoc/topic/nau8810', 'asoc/topic/of-bool', 'asoc/topic/omap' and 'asoc/topic/platform-drvdata' into asoc-next 2016-09-29 12:44:31 -07:00
sirf
spear ASoC: SPEAr: Make SND_SPEAR_SOC select SND_SOC_GENERIC_DMAENGINE_PCM 2015-09-16 17:46:11 +01:00
sti ASoC: sti: fix missing clk_disable_unprepare() on error in uni_player_start() 2016-09-19 11:25:31 +01:00
sunxi ASoC: sun4i-codec: Rename sun4i_codec_widgets for consistency 2016-09-26 09:32:32 -07:00
tegra ASoC: tegra_rt5640: Correct a copy and paste typo in the comments 2016-09-01 21:06:31 +01:00
txx9 ASoC: txx9: Convert to devm_snd_soc_register_platform 2015-08-28 18:09:04 +01:00
ux500 ASoC: ux500: fix spelling mistake "Unsopported" -> "Unsupported" 2016-09-03 11:59:37 +01:00
xtensa ASoC: xtfpga-i2s: Add missing __rcu annotation 2015-07-29 15:07:54 +01:00
zte Merge remote-tracking branches 'asoc/topic/wm8996', 'asoc/topic/xtensa' and 'asoc/topic/zx296702' into asoc-next 2015-08-30 15:59:18 +01:00
Kconfig ALSA: jack: Allow building the jack layer without input device 2016-02-23 09:03:07 +01:00
Makefile Merge remote-tracking branches 'asoc/topic/adsp' and 'asoc/topic/amd' into asoc-next 2016-01-11 13:54:32 +00:00
soc-ac97.c ASoC: ac97: constify gpio_chip structures 2016-09-12 20:04:28 +01:00
soc-cache.c
soc-compress.c ASoC: compress: Fix leak of a widget list in soc_compr_open_fe 2016-08-16 11:52:31 +01:00
soc-core.c Merge remote-tracking branches 'asoc/topic/nau8810', 'asoc/topic/of-bool', 'asoc/topic/omap' and 'asoc/topic/platform-drvdata' into asoc-next 2016-09-29 12:44:31 -07:00
soc-dapm.c Merge remote-tracking branch 'asoc/topic/dapm' into asoc-next 2016-09-29 12:43:58 -07:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: dmaengine_pcm: Add support for packed transfers 2016-04-27 17:34:11 +01:00
soc-io.c
soc-jack.c ASoC: Updates for v4.2 2015-06-08 20:47:53 +02:00
soc-ops.c ASoC: core: fix shift used for second item in snd_soc_get_enum_double 2016-09-01 20:58:05 +01:00
soc-pcm.c ASoC: dpcm: print dai_link name of BE other than FE. 2016-09-26 09:43:34 -07:00
soc-topology.c ASoC: topology: ABI - Add sig_bits to stream caps 2016-08-22 18:55:30 +01:00
soc-utils.c ASoC: constify snd_pcm_ops structures 2016-09-12 20:04:09 +01:00