[PATCH] ASoC: Intel: broadwell: Revert SSP0 link to use dummy components
Commit: "ASoC: Intel: broadwell: change cpu_dai and platform components for SOF
while enabling bdw on SOF, changed behavior for non-SOF solutions. In essence replacing platform 'dummy' with actual 'platform' causes redundant stream initialization to occur during audio start. hw_params for haswell-pcm destroys initial stream right after its creation - only to recreate it again from proceed from there.
While harmless so far, this flow ain't right and should be corrected. The actual need for dummy components for SSP0 link is questionable but that issue is subject for another series.
Link to first message in conversation: https://lkml.org/lkml/2020/3/18/54
Reported-by: Dominik Brodowski linux@dominikbrodowski.net Fixes: 64df6afa0dab ("ASoC: Intel: broadwell: change cpu_dai and platform components for SOF") Signed-off-by: Cezary Rojewski cezary.rojewski@intel.com --- sound/soc/intel/boards/broadwell.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/sound/soc/intel/boards/broadwell.c b/sound/soc/intel/boards/broadwell.c index 0776ea2d4f36..9b639475e99f 100644 --- a/sound/soc/intel/boards/broadwell.c +++ b/sound/soc/intel/boards/broadwell.c @@ -167,9 +167,6 @@ SND_SOC_DAILINK_DEF(codec, #if IS_ENABLED(CONFIG_SND_SOC_SOF_BROADWELL) SND_SOC_DAILINK_DEF(ssp0_port, DAILINK_COMP_ARRAY(COMP_CPU("ssp0-port"))); -#else -SND_SOC_DAILINK_DEF(ssp0_port, - DAILINK_COMP_ARRAY(COMP_DUMMY())); #endif
/* broadwell digital audio interface glue - connects codec <--> CPU */ @@ -225,7 +222,11 @@ static struct snd_soc_dai_link broadwell_rt286_dais[] = { .ops = &broadwell_rt286_ops, .dpcm_playback = 1, .dpcm_capture = 1, +#if !IS_ENABLED(CONFIG_SND_SOC_SOF_BROADWELL) + SND_SOC_DAILINK_REG(dummy, codec, dummy), +#else SND_SOC_DAILINK_REG(ssp0_port, codec, platform), +#endif }, };
On 3/19/20 4:12 PM, Cezary Rojewski wrote:
Commit: "ASoC: Intel: broadwell: change cpu_dai and platform components for SOF
checkpatch.pl probably reports the format doesn't follow conventions?
while enabling bdw on SOF, changed behavior for non-SOF solutions. In essence replacing platform 'dummy' with actual 'platform' causes redundant stream initialization to occur during audio start. hw_params for haswell-pcm destroys initial stream right after its creation - only to recreate it again from proceed from there.
While harmless so far, this flow ain't right and should be corrected.
isn't
The actual need for dummy components for SSP0 link is questionable but that issue is subject for another series.
If we want to be consistent, the same use of a dummy platform component needs to be applied to bdw-rt5677.c and bdw-rt5650.c
Link to first message in conversation: https://lkml.org/lkml/2020/3/18/54
Reported-by: Dominik Brodowski linux@dominikbrodowski.net Fixes: 64df6afa0dab ("ASoC: Intel: broadwell: change cpu_dai and platform components for SOF") Signed-off-by: Cezary Rojewski cezary.rojewski@intel.com
sound/soc/intel/boards/broadwell.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/sound/soc/intel/boards/broadwell.c b/sound/soc/intel/boards/broadwell.c index 0776ea2d4f36..9b639475e99f 100644 --- a/sound/soc/intel/boards/broadwell.c +++ b/sound/soc/intel/boards/broadwell.c @@ -167,9 +167,6 @@ SND_SOC_DAILINK_DEF(codec, #if IS_ENABLED(CONFIG_SND_SOC_SOF_BROADWELL) SND_SOC_DAILINK_DEF(ssp0_port, DAILINK_COMP_ARRAY(COMP_CPU("ssp0-port"))); -#else -SND_SOC_DAILINK_DEF(ssp0_port,
DAILINK_COMP_ARRAY(COMP_DUMMY()));
#endif
/* broadwell digital audio interface glue - connects codec <--> CPU */
@@ -225,7 +222,11 @@ static struct snd_soc_dai_link broadwell_rt286_dais[] = { .ops = &broadwell_rt286_ops, .dpcm_playback = 1, .dpcm_capture = 1, +#if !IS_ENABLED(CONFIG_SND_SOC_SOF_BROADWELL)
SND_SOC_DAILINK_REG(dummy, codec, dummy),
+#else SND_SOC_DAILINK_REG(ssp0_port, codec, platform), +#endif }, };
On 2020-03-19 23:20, Pierre-Louis Bossart wrote:
On 3/19/20 4:12 PM, Cezary Rojewski wrote:
Commit: "ASoC: Intel: broadwell: change cpu_dai and platform components for SOF
checkpatch.pl probably reports the format doesn't follow conventions?
It does not. Reworded anyway so it's not bothering anyone.
while enabling bdw on SOF, changed behavior for non-SOF solutions. In essence replacing platform 'dummy' with actual 'platform' causes redundant stream initialization to occur during audio start. hw_params for haswell-pcm destroys initial stream right after its creation - only to recreate it again from proceed from there.
While harmless so far, this flow ain't right and should be corrected.
isn't
Reworded.
The actual need for dummy components for SSP0 link is questionable but that issue is subject for another series.
If we want to be consistent, the same use of a dummy platform component needs to be applied to bdw-rt5677.c and bdw-rt5650.c
Agreed. Combined all three into one series.
Czarek
On Thu, Mar 19, 2020 at 2:13 PM Cezary Rojewski cezary.rojewski@intel.com wrote:
Commit: "ASoC: Intel: broadwell: change cpu_dai and platform components for SOF
Where does this quote end?
while enabling bdw on SOF, changed behavior for non-SOF solutions. In essence replacing platform 'dummy' with actual 'platform' causes
On 2020-03-25 20:07, Curtis Malainey wrote:
On Thu, Mar 19, 2020 at 2:13 PM Cezary Rojewski cezary.rojewski@intel.com wrote:
Commit: "ASoC: Intel: broadwell: change cpu_dai and platform components for SOF
Where does this quote end?
I'm afraid, it doesn't. Does it matter, though? You're not looking at the newest version - one that is part of: "[PATCH 0/3] ASoC: Intel: boards: Revert SSP0 links to use dummy" series.
Regards, Czarek
participants (3)
-
Cezary Rojewski
-
Curtis Malainey
-
Pierre-Louis Bossart