From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> To: alsa-devel@alsa-project.org Cc: linux-kernel@vger.kernel.org, tiwai@suse.de, broonie@kernel.org, vkoul@kernel.org, gregkh@linuxfoundation.org, jank@cadence.com, srinivas.kandagatla@linaro.org, slawomir.blauciak@intel.com, Bard liao <yung-chuan.liao@linux.intel.com>, Rander Wang <rander.wang@linux.intel.com>, Ranjani Sridharan <ranjani.sridharan@linux.intel.com>, Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>, Sanyog Kale <sanyog.r.kale@intel.com> Subject: [RFC PATCH 07/12] soundwire: intel: add trigger support in sdw dai driver Date: Mon, 16 Sep 2019 16:42:46 -0500 [thread overview] Message-ID: <20190916214251.13130-8-pierre-louis.bossart@linux.intel.com> (raw) In-Reply-To: <20190916214251.13130-1-pierre-louis.bossart@linux.intel.com> From: Rander Wang <rander.wang@linux.intel.com> Sdw stream is enabled and disabled in trigger function. Signed-off-by: Rander Wang <rander.wang@linux.intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> --- drivers/soundwire/intel.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/drivers/soundwire/intel.c b/drivers/soundwire/intel.c index 072757cd5cbf..f29c63039606 100644 --- a/drivers/soundwire/intel.c +++ b/drivers/soundwire/intel.c @@ -725,6 +725,43 @@ static int intel_prepare(struct snd_pcm_substream *substream, return sdw_prepare_stream(dma->stream); } +static int intel_trigger(struct snd_pcm_substream *substream, int cmd, + struct snd_soc_dai *dai) +{ + struct sdw_cdns_dma_data *dma; + int ret; + + dma = snd_soc_dai_get_dma_data(dai, substream); + if (!dma) { + dev_err(dai->dev, "failed to get dma data in %s", __func__); + return -EIO; + } + + switch (cmd) { + case SNDRV_PCM_TRIGGER_START: + case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: + case SNDRV_PCM_TRIGGER_RESUME: + ret = sdw_enable_stream(dma->stream); + break; + + case SNDRV_PCM_TRIGGER_PAUSE_PUSH: + case SNDRV_PCM_TRIGGER_SUSPEND: + case SNDRV_PCM_TRIGGER_STOP: + ret = sdw_disable_stream(dma->stream); + break; + + default: + ret = -EINVAL; + break; + } + + if (ret) + dev_err(dai->dev, + "%s trigger %d failed: %d", + __func__, cmd, ret); + return ret; +} + static int intel_hw_free(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { @@ -772,6 +809,7 @@ static int intel_pdm_set_sdw_stream(struct snd_soc_dai *dai, static const struct snd_soc_dai_ops intel_pcm_dai_ops = { .hw_params = intel_hw_params, .prepare = intel_prepare, + .trigger = intel_trigger, .hw_free = intel_hw_free, .shutdown = intel_shutdown, .set_sdw_stream = intel_pcm_set_sdw_stream, @@ -780,6 +818,7 @@ static const struct snd_soc_dai_ops intel_pcm_dai_ops = { static const struct snd_soc_dai_ops intel_pdm_dai_ops = { .hw_params = intel_hw_params, .prepare = intel_prepare, + .trigger = intel_trigger, .hw_free = intel_hw_free, .shutdown = intel_shutdown, .set_sdw_stream = intel_pdm_set_sdw_stream, -- 2.20.1
WARNING: multiple messages have this Message-ID (diff)
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> To: alsa-devel@alsa-project.org Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>, tiwai@suse.de, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, Ranjani Sridharan <ranjani.sridharan@linux.intel.com>, vkoul@kernel.org, broonie@kernel.org, srinivas.kandagatla@linaro.org, jank@cadence.com, slawomir.blauciak@intel.com, Sanyog Kale <sanyog.r.kale@intel.com>, Bard liao <yung-chuan.liao@linux.intel.com>, Rander Wang <rander.wang@linux.intel.com> Subject: [alsa-devel] [RFC PATCH 07/12] soundwire: intel: add trigger support in sdw dai driver Date: Mon, 16 Sep 2019 16:42:46 -0500 [thread overview] Message-ID: <20190916214251.13130-8-pierre-louis.bossart@linux.intel.com> (raw) In-Reply-To: <20190916214251.13130-1-pierre-louis.bossart@linux.intel.com> From: Rander Wang <rander.wang@linux.intel.com> Sdw stream is enabled and disabled in trigger function. Signed-off-by: Rander Wang <rander.wang@linux.intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> --- drivers/soundwire/intel.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/drivers/soundwire/intel.c b/drivers/soundwire/intel.c index 072757cd5cbf..f29c63039606 100644 --- a/drivers/soundwire/intel.c +++ b/drivers/soundwire/intel.c @@ -725,6 +725,43 @@ static int intel_prepare(struct snd_pcm_substream *substream, return sdw_prepare_stream(dma->stream); } +static int intel_trigger(struct snd_pcm_substream *substream, int cmd, + struct snd_soc_dai *dai) +{ + struct sdw_cdns_dma_data *dma; + int ret; + + dma = snd_soc_dai_get_dma_data(dai, substream); + if (!dma) { + dev_err(dai->dev, "failed to get dma data in %s", __func__); + return -EIO; + } + + switch (cmd) { + case SNDRV_PCM_TRIGGER_START: + case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: + case SNDRV_PCM_TRIGGER_RESUME: + ret = sdw_enable_stream(dma->stream); + break; + + case SNDRV_PCM_TRIGGER_PAUSE_PUSH: + case SNDRV_PCM_TRIGGER_SUSPEND: + case SNDRV_PCM_TRIGGER_STOP: + ret = sdw_disable_stream(dma->stream); + break; + + default: + ret = -EINVAL; + break; + } + + if (ret) + dev_err(dai->dev, + "%s trigger %d failed: %d", + __func__, cmd, ret); + return ret; +} + static int intel_hw_free(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { @@ -772,6 +809,7 @@ static int intel_pdm_set_sdw_stream(struct snd_soc_dai *dai, static const struct snd_soc_dai_ops intel_pcm_dai_ops = { .hw_params = intel_hw_params, .prepare = intel_prepare, + .trigger = intel_trigger, .hw_free = intel_hw_free, .shutdown = intel_shutdown, .set_sdw_stream = intel_pcm_set_sdw_stream, @@ -780,6 +818,7 @@ static const struct snd_soc_dai_ops intel_pcm_dai_ops = { static const struct snd_soc_dai_ops intel_pdm_dai_ops = { .hw_params = intel_hw_params, .prepare = intel_prepare, + .trigger = intel_trigger, .hw_free = intel_hw_free, .shutdown = intel_shutdown, .set_sdw_stream = intel_pdm_set_sdw_stream, -- 2.20.1 _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
next prev parent reply other threads:[~2019-09-16 21:43 UTC|newest] Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-09-16 21:42 [RFC PATCH 00/12] soundwire/SOF: updated interfaces, functional integration Pierre-Louis Bossart 2019-09-16 21:42 ` [alsa-devel] " Pierre-Louis Bossart 2019-09-16 21:42 ` [RFC PATCH 01/12] ASoC: soc-acpi: add link_mask field Pierre-Louis Bossart 2019-09-16 21:42 ` [alsa-devel] " Pierre-Louis Bossart 2019-10-08 10:52 ` Applied "ASoC: soc-acpi: add link_mask field" to the asoc tree Mark Brown 2019-10-08 10:52 ` [alsa-devel] " Mark Brown 2019-09-16 21:42 ` [RFC PATCH 02/12] ASoC: SOF: support alternate list of machines Pierre-Louis Bossart 2019-09-16 21:42 ` [alsa-devel] " Pierre-Louis Bossart 2019-10-08 10:52 ` Applied "ASoC: SOF: support alternate list of machines" to the asoc tree Mark Brown 2019-10-08 10:52 ` [alsa-devel] " Mark Brown 2019-09-16 21:42 ` [RFC PATCH 03/12] soundwire: intel: update stream callbacks for hwparams/free stream operations Pierre-Louis Bossart 2019-09-16 21:42 ` [alsa-devel] " Pierre-Louis Bossart 2019-09-16 21:42 ` [RFC PATCH 04/12] ASoC: SOF: Intel: add SoundWire configuration interface Pierre-Louis Bossart 2019-09-16 21:42 ` [alsa-devel] " Pierre-Louis Bossart 2019-09-16 21:42 ` [RFC PATCH 05/12] ASoC: SOF: Intel: add build support for SoundWire Pierre-Louis Bossart 2019-09-16 21:42 ` [alsa-devel] " Pierre-Louis Bossart 2019-09-16 21:42 ` [RFC PATCH 06/12] soundwire: intel: add prepare support in sdw dai driver Pierre-Louis Bossart 2019-09-16 21:42 ` [alsa-devel] " Pierre-Louis Bossart 2019-09-16 21:42 ` Pierre-Louis Bossart [this message] 2019-09-16 21:42 ` [alsa-devel] [RFC PATCH 07/12] soundwire: intel: add trigger " Pierre-Louis Bossart 2019-09-16 21:42 ` [RFC PATCH 08/12] soundwire: intel: add sdw_stream_setup helper for .startup callback Pierre-Louis Bossart 2019-09-16 21:42 ` [alsa-devel] " Pierre-Louis Bossart 2019-09-16 21:42 ` [RFC PATCH 09/12] soundwire: intel: free all resources on hw_free() Pierre-Louis Bossart 2019-09-16 21:42 ` [alsa-devel] " Pierre-Louis Bossart 2019-09-16 21:42 ` [RFC PATCH 10/12] ASoC: SOF: IPC: dai-intel: move ALH declarations in header file Pierre-Louis Bossart 2019-09-16 21:42 ` [alsa-devel] " Pierre-Louis Bossart 2019-09-16 21:42 ` [RFC PATCH 11/12] ASoC: SOF: Intel: hda: add SoundWire stream config/free callbacks Pierre-Louis Bossart 2019-09-16 21:42 ` [alsa-devel] " Pierre-Louis Bossart 2019-09-16 21:42 ` [RFC PATCH 12/12] ASoC: SOF: Intel: hda: initial SoundWire machine driver autodetect Pierre-Louis Bossart 2019-09-16 21:42 ` [alsa-devel] " Pierre-Louis Bossart
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190916214251.13130-8-pierre-louis.bossart@linux.intel.com \ --to=pierre-louis.bossart@linux.intel.com \ --cc=alsa-devel@alsa-project.org \ --cc=broonie@kernel.org \ --cc=gregkh@linuxfoundation.org \ --cc=jank@cadence.com \ --cc=linux-kernel@vger.kernel.org \ --cc=rander.wang@linux.intel.com \ --cc=ranjani.sridharan@linux.intel.com \ --cc=sanyog.r.kale@intel.com \ --cc=slawomir.blauciak@intel.com \ --cc=srinivas.kandagatla@linaro.org \ --cc=tiwai@suse.de \ --cc=vkoul@kernel.org \ --cc=yung-chuan.liao@linux.intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.