Commit 09553140 authored by Pierre-Louis Bossart's avatar Pierre-Louis Bossart Committed by Vinod Koul

soundwire: intel: implement get_sdw_stream() operations

This is needed to retrieve the information when the stream is
allocated at the dai_link level.
Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20200630184356.24939-2-yung-chuan.liao@linux.intel.comSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent c5e3c684
...@@ -883,6 +883,22 @@ static int intel_pdm_set_sdw_stream(struct snd_soc_dai *dai, ...@@ -883,6 +883,22 @@ static int intel_pdm_set_sdw_stream(struct snd_soc_dai *dai,
return cdns_set_sdw_stream(dai, stream, false, direction); return cdns_set_sdw_stream(dai, stream, false, direction);
} }
static void *intel_get_sdw_stream(struct snd_soc_dai *dai,
int direction)
{
struct sdw_cdns_dma_data *dma;
if (direction == SNDRV_PCM_STREAM_PLAYBACK)
dma = dai->playback_dma_data;
else
dma = dai->capture_dma_data;
if (!dma)
return NULL;
return dma->stream;
}
static const struct snd_soc_dai_ops intel_pcm_dai_ops = { static const struct snd_soc_dai_ops intel_pcm_dai_ops = {
.startup = intel_startup, .startup = intel_startup,
.hw_params = intel_hw_params, .hw_params = intel_hw_params,
...@@ -891,6 +907,7 @@ static const struct snd_soc_dai_ops intel_pcm_dai_ops = { ...@@ -891,6 +907,7 @@ static const struct snd_soc_dai_ops intel_pcm_dai_ops = {
.hw_free = intel_hw_free, .hw_free = intel_hw_free,
.shutdown = intel_shutdown, .shutdown = intel_shutdown,
.set_sdw_stream = intel_pcm_set_sdw_stream, .set_sdw_stream = intel_pcm_set_sdw_stream,
.get_sdw_stream = intel_get_sdw_stream,
}; };
static const struct snd_soc_dai_ops intel_pdm_dai_ops = { static const struct snd_soc_dai_ops intel_pdm_dai_ops = {
...@@ -901,6 +918,7 @@ static const struct snd_soc_dai_ops intel_pdm_dai_ops = { ...@@ -901,6 +918,7 @@ static const struct snd_soc_dai_ops intel_pdm_dai_ops = {
.hw_free = intel_hw_free, .hw_free = intel_hw_free,
.shutdown = intel_shutdown, .shutdown = intel_shutdown,
.set_sdw_stream = intel_pdm_set_sdw_stream, .set_sdw_stream = intel_pdm_set_sdw_stream,
.get_sdw_stream = intel_get_sdw_stream,
}; };
static const struct snd_soc_component_driver dai_component = { static const struct snd_soc_component_driver dai_component = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment