[alsa-devel] [PATCH resend 25/47] ASoC: samsung: snow: don't select unnecessary Platform

Marek Szyprowski m.szyprowski at samsung.com
Mon Jun 24 15:19:04 CEST 2019


Hi

On 2019-06-19 03:18, Kuninori Morimoto wrote:
> From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
>
> ALSA SoC is now supporting "no Platform". Sound card doesn't need to
> select "CPU component" as "Platform" anymore if it doesn't need
> special Platform.
> This patch removes such settings.
>
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>

This patch causes regression on Samsung Exynos-based boards: Snow, 
Peach-Pi and Peach-Pit (all that use snow machine driver) since linux 
next-20190620. ASoC device is properly registered, but it is not usable:

[    3.203006] samsung-i2s 3830000.i2s-sec: DMA channels sourced from 
device 3830000.i2s
[    3.213440] snow-audio sound: Failed parsing codec node
[    3.423241] snow-audio sound: multicodec <-> samsung-i2s mapping ok
[    3.429776] max98095 7-0011: ASoC: mux External MIC has no paths
[    3.434513] max98095 7-0011: ASoC: mux Linein Mux has no paths
[    4.043488] ALSA device list:
[    4.047171]   #0: Snow-I2S-MAX98095

# speaker-test -l1

speaker-test 1.1.3

Playback device is default
Stream parameters are 48000Hz, S16_LE, 1 channels
Using 16 octaves of pink noise
Playback open error: -22,Invalid argument

#

The kernel logs are exactly the same whem it worked fine (i.e. 
next-20190619, so the message about codec node can be ignored).

Similar issue appears also on Hardkernel's OdroidXU board 
(Exynos5410-based, uses sound-card-simple ASoC driver) and Samsung TM2 
board (Exynos5433, uses tm2_wm5110 driver). I'm open to test any patch 
or provide more logs if needed.

> ---
>   sound/soc/samsung/snow.c | 10 +++-------
>   1 file changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/sound/soc/samsung/snow.c b/sound/soc/samsung/snow.c
> index 8ea7799..7d669c4 100644
> --- a/sound/soc/samsung/snow.c
> +++ b/sound/soc/samsung/snow.c
> @@ -14,9 +14,9 @@
>   
>   #define FIN_PLL_RATE		24000000
>   
> -SND_SOC_DAILINK_DEFS(links,
> -	DAILINK_COMP_ARRAY(COMP_EMPTY()),
> -	DAILINK_COMP_ARRAY(COMP_EMPTY()),
> +SND_SOC_DAILINK_DEF(links_cpus,
> +	DAILINK_COMP_ARRAY(COMP_EMPTY()));
> +SND_SOC_DAILINK_DEF(links_codecs,
>   	DAILINK_COMP_ARRAY(COMP_EMPTY()));
>   
>   struct snow_priv {
> @@ -150,8 +150,6 @@ static int snow_probe(struct platform_device *pdev)
>   	link->num_cpus = ARRAY_SIZE(links_cpus);
>   	link->codecs = links_codecs;
>   	link->num_codecs = ARRAY_SIZE(links_codecs);
> -	link->platforms = links_platforms;
> -	link->num_platforms = ARRAY_SIZE(links_platforms);
>   
>   	card->dai_link = link;
>   	card->num_links = 1;
> @@ -207,8 +205,6 @@ static int snow_probe(struct platform_device *pdev)
>   		}
>   	}
>   
> -	link->platforms->of_node = link->cpus->of_node;
> -
>   	/* Update card-name if provided through DT, else use default name */
>   	snd_soc_of_parse_card_name(card, "samsung,model");
>   

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland



More information about the Alsa-devel mailing list