[PATCH v2 00/21] ASoC: dmaengine updates, secondary CPU DAI for Odroid boards

From: Sylwester Nawrocki
Date: Tue Feb 12 2019 - 13:04:44 EST


This series restores support for the secondary CPU DAI in samsung/i2s.c
driver and adds support for secondary CPU DAI on Odroid boards.

I have added 4 more clean up patches comparing to first version of the
patch set (16/22...19/22).

The first patch adds new platform device for the secondary PCM, I tried to
avoid registering new platform device in probe() as it doesn't play well
with deferred probing but couldn't find a way to avoid that new device,
unique devices are needed to register "PCM" components for each CPU DAI.

Patches 2/21...11/21 are mostly a clean up, following conversion to single
component with multiple DAIs, allowing to reference both primary/secondary
DAI in DT.

The patch set has been tested on Odroid U3, XU3, XU4 and Mini2440
(s3c2440 non-DT) boards.

Changes since v1 ((addressing Krzysztof's review comments):
- added a comment, whitespace change in patch 1/21
- dropped unnecessary new line addition from patch 1/21

Sylwester Nawrocki (21):
ASoC: samsung: i2s: Restore support for the secondary PCM
ASoC: samsung: i2s: Move clk supplier data to common driver data
structure
ASoC: samsung: i2s: Add widgets and routes for DPCM support
ASoC: samsung: i2s: Move core clk to the driver common data structure
ASoC: samsung: i2s: Move opclk data to common driver data structure
ASoC: samsung: i2s: Move registers cache to common driver data
structure
ASoC: samsung: i2s: Move SFR pointer to common driver data structure
ASoC: samsung: i2s: Drop spinlock pointer from i2s_dai data structure
ASoC: samsung: i2s: Move IP variant data to common driver data
structure
ASoC: samsung: i2s: Move quirks data to common driver data structure
ASoC: samsung: i2s: Get rid of a static spinlock
ASoC: samsung: odroid: Add support for secondary CPU DAI
ASoC: samsung: Specify DMA channel names through custom DMA config
ASoC: samsung: Drop DAI DMA data chan_name assignments
ASoC: dmaengine: Remove unused
SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME flag
ASoC: samsung: i2s: Simplify pri_dai, sec_dai pointers usage
ASoC: samsung: i2s: Change indentation in SAMSUNG_I2S_FMTS definition
ASoC: samsung: i2s: Comments clean up
ASoC: samsung: i2s: Convert to SPDX License Indentifier
ARM: dts: exynos5422-odroidxu3: Add support for secondary DAI
ARM: dts: exynos5422-odroidxu4: Add support for secondary DAI

.../boot/dts/exynos5422-odroidxu3-audio.dtsi | 6 +-
arch/arm/boot/dts/exynos5422-odroidxu4.dts | 4 +-
include/sound/dmaengine_pcm.h | 6 -
sound/soc/samsung/dmaengine.c | 12 +-
sound/soc/samsung/i2s.c | 543 ++++++++++--------
sound/soc/samsung/odroid.c | 131 +++--
sound/soc/samsung/s3c2412-i2s.c | 4 +-
sound/soc/samsung/s3c24xx-i2s.c | 4 +-
sound/soc/soc-generic-dmaengine-pcm.c | 21 +-
9 files changed, 413 insertions(+), 318 deletions(-)

--
2.20.1