Skip to content

Introducing Virtual FE dai link #6

Closed
ranj063 wants to merge 6 commits into
thesofproject:topic/sof-devfrom
ranj063:tone-1
Closed

Introducing Virtual FE dai link #6
ranj063 wants to merge 6 commits into
thesofproject:topic/sof-devfrom
ranj063:tone-1

Conversation

@ranj063

@ranj063 ranj063 commented Jun 25, 2018

Copy link
Copy Markdown
Collaborator

This set of patches introduces the concept of a virtual FE dai link.
Previously, when trying to enable the hostless pipeline, it was
discovered that the codec does not get enabled and the tone remained inaudible.
Therefore, in such cases, a virtual FE dai link will be used to establish
a connection to the BE dai and enable the codec when the pipeline is triggered.

The virtual FE will be created when a siggen widget is loaded and freed when
the siggen widget is unloaded. It will be used for enabling the BE dai in the
kcontrol IO handler for the kcontrol attached to the siggen by calling
the soc_spcm_runtime_update() method.

ranj063 added 6 commits June 25, 2018 13:18
Hostless pipelines lack a FE dai that is used to establish a path
to the BE and enable the codecs. Virtual FE dai links can be used in
such cases to establish a connection to the
BE. This patch adds a new flag named "virtual" to the
dai link structure that will be used to check if a dai link is
virtual.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
This patch adds the methods for create a virtual FE dal link
and add it to the sound card. It also adds the method to free
the virtual FE connected to the card.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
When walking the graph to discover the path from the virtual FE to
the BE, there is only one widget in the path. Do not remove
this BE widget from the list, so it can be used to connect with the
virtual FE dai link.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
…irtual dai link

Virtual FE dai links should be manually set to running
state by default with a pcm runtime. The active count of their cpu_dai
and codec_dai's should also be updated. This is required to establish
FE-BE connection and enable the BE DAI when the dpcm runtime is updated.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Virtual FE dai links do not need to register the pcm device. So
just create the empty pcm device and substream in the
requested direction.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
the soc_dpcm_runtime_update() method will be called to establish a
connection to the BE and enable the codec. So make this method
accessible to modules.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
@ranj063

ranj063 commented Jun 25, 2018

Copy link
Copy Markdown
Collaborator Author

Sorry, I've got issues with my github fork. let me re-submit this in a bit.

@ranj063 ranj063 closed this Jun 25, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant