linux-stable/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
bcm ASoC: cygnus: Add Cygnus audio DMA driver 2016-05-31 17:50:42 +01:00
blackfin
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
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
nuc900
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
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
ux500 ASoC: ux500: fix spelling mistake "Unsopported" -> "Unsupported" 2016-09-03 11:59:37 +01:00
xtensa
zte
Kconfig
Makefile
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
soc-io.c
soc-jack.c
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