Skip to content

DAIs don't have channels_min setup #1812

Closed

Description

@plbossart

In the last SoundWire code, a new check for valid DAIs fails.

bool snd_soc_dai_stream_valid(struct snd_soc_dai *dai, int dir)
{
	struct snd_soc_pcm_stream *stream;

	if (dir == SNDRV_PCM_STREAM_PLAYBACK)
		stream = &dai->driver->playback;
	else
		stream = &dai->driver->capture;

	if (stream->channels_min == 0)
		dev_err(dai->dev, "plb: no channels min for dai %s\n", dai->name);
	
	/* If the codec specifies any channels at all, it supports the stream */
	return stream->channels_min;
}

generates the following trace:

[   16.071203] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai iDisp3 Pin
[   16.072407] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai iDisp2 Pin
[   16.073532] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai iDisp1 Pin
[   16.160292] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai iDisp3 Pin
[   16.160770] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai iDisp2 Pin
[   16.161179] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai iDisp1 Pin
[   16.173840] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai iDisp3 Pin
[   16.179778] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai iDisp3 Pin
[   16.187209] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai iDisp2 Pin
[   16.192482] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai iDisp2 Pin
[   16.199770] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai iDisp1 Pin
[   16.215349] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai SDW1-speakers 2
[   16.215355] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai HDMI1 5
[   16.215361] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai SDW1-speakers 2
[   16.215366] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai HDMI1 5
[   16.215556] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai SDW1-speakers 2
[   16.215561] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai HDMI1 5
[   16.215566] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai SDW1-speakers 2
[   16.215571] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai HDMI1 5
[   16.223647] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai SDW1-speakers 2
[   16.223648] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai Microphones 4
[   16.223660] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai HDMI1 5
[   16.223666] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai SDW1-speakers 2
[   16.223667] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai Microphones 4
[   16.223678] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai HDMI1 5
[   16.223747] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai SDW1-speakers 2
[   16.223748] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai Microphones 4
[   16.223760] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai HDMI1 5
[   16.223765] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai SDW1-speakers 2
[   16.223766] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai Microphones 4
[   16.223777] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai HDMI1 5
[   16.229687] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai Headset mic 1
[   16.229699] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai SDW1-speakers 2
[   16.229700] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai Microphones 4
[   16.229712] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai HDMI1 5
[   16.229713] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai Headset mic 1
[   16.229724] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai SDW1-speakers 2
[   16.229724] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai Microphones 4
[   16.229737] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai HDMI1 5
[   21.207519] sof-audio-pci 0000:00:1f.3: plb: no channels min for dai iDisp1 Pin

I suspect our topologies don't provide the relevant information on the number of channels supported for each direction?

@bardliao @ranj063 FYI

This can be seen with commit 4097910

Activity

  1. ranj063 commented on Feb 21, 2020

    @ranj063
    Collaborator

    I suspect our topologies don't provide the relevant information on the number of channels supported for each direction?

    @plbossart we specify the PCM capabilities only for the FE CPU dai's in topology. If we want these for the BE cpu dais, we'd need to add it to the skl_dai[] just like they've done it in the skylake driver

  2. ranj063 commented on Feb 21, 2020

    @ranj063
    Collaborator

    Also iirc, we used to have this a long time ago and removed them because they were never really used but now with multi-cpu dai, maybe it is needed

  3. bardliao commented on Feb 21, 2020

    @bardliao
    Collaborator

    @plbossart These error's are not all valid. You can see the most errors are cause by the opposite direction if you print dir, too. The valid errors are for the iDisps. It can be fixed by #1817

  4. YvonneYang2 commented on Mar 3, 2020

    @YvonneYang2

    Issue cannot be reproduced on latest topic/sof-dev(top commit:65f9d39 ) + master(top commit:4f3f93d). So close it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions