lkml.org 
[lkml]   [2019]   [May]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: Applied "ASoC: simple-card: Fix configuration of DAI format" to the asoc tree
From
Date
Hi Mark,

On 21/05/2019 21:32, Mark Brown wrote:
> The patch
>
> ASoC: simple-card: Fix configuration of DAI format
>
> has been applied to the asoc tree at
>
> https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-5.2
>
> All being well this means that it will be integrated into the linux-next
> tree (usually sometime in the next 24 hours) and sent to Linus during
> the next merge window (or sooner if it is a bug fix), however if
> problems are discovered then the patch may be dropped or reverted.
>
> You may get further e-mails resulting from automated or manual testing
> and review of the tree, please engage with people reporting problems and
> send followup patches addressing any issues that are reported if needed.
>
> If any updates are required or you are submitting further changes they
> should be sent as incremental updates against current git, existing
> patches will not be replaced.
>
> Please add any relevant lists and maintainers to the CCs when replying
> to this mail.
>
> Thanks,
> Mark
>
> From 069d037aea98ffa64c26d4b1dc958fb8f39f5c2b Mon Sep 17 00:00:00 2001
> From: Jon Hunter <jonathanh@nvidia.com>
> Date: Thu, 16 May 2019 18:51:26 +0100
> Subject: [PATCH] ASoC: simple-card: Fix configuration of DAI format
>
> When configuring a codec to be both bit-clock and frame-master, it was
> found that the codec was always configured as bit-clock and frame-slave.
> Looking at the simple_dai_link_of() function there appears to be two
> problems with the configuration of the DAI format, which are ...
>
> 1. The function asoc_simple_parse_daifmt() is called before the function
> asoc_simple_parse_codec() and this means that the device-tree node
> for the codec has not been parsed yet, which is needed by the
> function asoc_simple_parse_daifmt() to determine who is the codec.
> 2. The phandle passed to asoc_simple_parse_daifmt() is the phandle to
> the 'codec' node and not the phandle of the actual codec defined by
> the 'sound-dai' property under the 'codec' node.
>
> Fix the above by moving the call to asoc_simple_parse_daifmt() after the
> the call to asoc_simple_parse_codec() and pass the phandle for the codec
> to asoc_simple_parse_daifmt().
Please can you drop this patch?

Per some offline review with Morimoto-san, it turns out that the actual
issue resided in my DT (which was incorrect) and not the simple-card
machine driver.

In my DT I incorrectly had ...

sound {
compatible = "simple-audio-card";

...
=> simple-audio-card,bitclock-master = <&codec>;
=> simple-audio-card,frame-master = <&codec>;
...

simple-audio-card,cpu {
sound-dai = <&xxx>;
};

simple-audio-card,codec {
=> sound-dai = <&codec>;
};
};

But I should have had ...

sound {
compatible = "simple-audio-card";

...
=> simple-audio-card,bitclock-master = <&codec>;
=> simple-audio-card,frame-master = <&codec>;
...

simple-audio-card,cpu {
sound-dai = <&xxx>;
};

=> codec: simple-audio-card,codec { /* simple-card wants here */
sound-dai = <&xxx>; /* not here */
};
};

Thanks to Morimoto-san for correcting me!

Cheers
Jon

--
nvpublic

\
 
 \ /
  Last update: 2019-05-23 10:55    [W:0.108 / U:0.780 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site