[alsa-devel] [PATCH] ASoC: samsung: get access to DMA engine early to defer probe properly

Javier Martinez Canillas javier at osg.samsung.com
Thu Oct 27 17:32:06 CEST 2016


Hello Marek,

On 10/27/2016 07:34 AM, Marek Szyprowski wrote:
> 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 at samsung.com>
> ---

Thanks for fixing this, the patch looks good to me:

Reviewed-by: Javier Martinez Canillas <javier at osg.samsung.com>

I've tested this patch and fixes the probe deferral storm that I was
seeing on an Exynos5800 Peach Pi Chromebook:

Tested-by: Javier Martinez Canillas <javier at osg.samsung.com>

I think this patch should be v4.9-rc material, since the issue prevents
some machines to boot correctly on v4.9-rc:

http://arm-soc.lixom.net/bootlogs/mainline/v4.8-14644-ge9f8f48/pi-arm-exynos_defconfig.html

Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America


More information about the Alsa-devel mailing list