From: Vijendar Mukunda <Vijendar.Mukunda@amd.com> To: unlisted-recipients:; (no To-header on input) Cc: Akshu Agrawal <akshu.agrawal@amd.com>, Vijendar Mukunda <Vijendar.Mukunda@amd.com>, Liam Girdwood <lgirdwood@gmail.com>, Mark Brown <broonie@kernel.org>, Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>, Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>, Alex Deucher <alexander.deucher@amd.com>, Wei Yongjun <weiyongjun1@huawei.com>, "moderated list:SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEM..." <alsa-devel@alsa-project.org>, open list <linux-kernel@vger.kernel.org> Subject: [PATCH 08/11] ASoC: AMD: Move clk enable from hw_params/free to startup/shutdown Date: Thu, 26 Apr 2018 16:45:54 +0530 [thread overview] Message-ID: <1524741374-13523-8-git-send-email-Vijendar.Mukunda@amd.com> (raw) In-Reply-To: <1524741374-13523-1-git-send-email-Vijendar.Mukunda@amd.com> From: Akshu Agrawal <akshu.agrawal@amd.com> hw_param can be called multiple times and thus we can have more clk enable. The clk may not get diabled due to refcounting. startup/shutdown ensures single clk enable/disable call. Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com> Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> --- sound/soc/amd/acp-da7219-max98357a.c | 49 +++++++++++++++++++++++++----------- 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/sound/soc/amd/acp-da7219-max98357a.c b/sound/soc/amd/acp-da7219-max98357a.c index 215b06b..6495eed 100644 --- a/sound/soc/amd/acp-da7219-max98357a.c +++ b/sound/soc/amd/acp-da7219-max98357a.c @@ -91,8 +91,7 @@ static int cz_da7219_init(struct snd_soc_pcm_runtime *rtd) return 0; } -static int cz_da7219_hw_params(struct snd_pcm_substream *substream, - struct snd_pcm_hw_params *params) +static int da7219_clk_enable(struct snd_pcm_substream *substream) { int ret = 0; struct snd_soc_pcm_runtime *rtd = substream->private_data; @@ -106,11 +105,9 @@ static int cz_da7219_hw_params(struct snd_pcm_substream *substream, return ret; } -static int cz_da7219_hw_free(struct snd_pcm_substream *substream) +static void da7219_clk_disable(void) { clk_disable_unprepare(da7219_dai_clk); - - return 0; } static const unsigned int channels[] = { @@ -133,7 +130,7 @@ static const struct snd_pcm_hw_constraint_list constraints_channels = { .mask = 0, }; -static int cz_fe_startup(struct snd_pcm_substream *substream) +static int cz_da7219_startup(struct snd_pcm_substream *substream) { struct snd_pcm_runtime *runtime = substream->runtime; @@ -147,23 +144,47 @@ static int cz_fe_startup(struct snd_pcm_substream *substream) snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, &constraints_rates); - return 0; + return da7219_clk_enable(substream); +} + +static void cz_da7219_shutdown(struct snd_pcm_substream *substream) +{ + da7219_clk_disable(); +} + +static int cz_max_startup(struct snd_pcm_substream *substream) +{ + return da7219_clk_enable(substream); +} + +static void cz_max_shutdown(struct snd_pcm_substream *substream) +{ + da7219_clk_disable(); +} + +static int cz_dmic_startup(struct snd_pcm_substream *substream) +{ + return da7219_clk_enable(substream); +} + +static void cz_dmic_shutdown(struct snd_pcm_substream *substream) +{ + da7219_clk_disable(); } static struct snd_soc_ops cz_da7219_cap_ops = { - .hw_params = cz_da7219_hw_params, - .hw_free = cz_da7219_hw_free, - .startup = cz_fe_startup, + .startup = cz_da7219_startup, + .shutdown = cz_da7219_shutdown, }; static struct snd_soc_ops cz_max_play_ops = { - .hw_params = cz_da7219_hw_params, - .hw_free = cz_da7219_hw_free, + .startup = cz_max_startup, + .shutdown = cz_max_shutdown, }; static struct snd_soc_ops cz_dmic_cap_ops = { - .hw_params = cz_da7219_hw_params, - .hw_free = cz_da7219_hw_free, + .startup = cz_dmic_startup, + .shutdown = cz_dmic_shutdown, }; static struct snd_soc_dai_link cz_dai_7219_98357[] = { -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Cc: Akshu Agrawal <akshu.agrawal@amd.com>, Vijendar Mukunda <Vijendar.Mukunda@amd.com>, Liam Girdwood <lgirdwood@gmail.com>, Mark Brown <broonie@kernel.org>, Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>, Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>, Alex Deucher <alexander.deucher@amd.com>, Wei Yongjun <weiyongjun1@huawei.com>, "moderated list:SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEM..." <alsa-devel@alsa-project.org>, open list <linux-kernel@vger.kernel.org> Subject: [PATCH 08/11] ASoC: AMD: Move clk enable from hw_params/free to startup/shutdown Date: Thu, 26 Apr 2018 16:45:54 +0530 [thread overview] Message-ID: <1524741374-13523-8-git-send-email-Vijendar.Mukunda@amd.com> (raw) In-Reply-To: <1524741374-13523-1-git-send-email-Vijendar.Mukunda@amd.com> From: Akshu Agrawal <akshu.agrawal@amd.com> hw_param can be called multiple times and thus we can have more clk enable. The clk may not get diabled due to refcounting. startup/shutdown ensures single clk enable/disable call. Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com> Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> --- sound/soc/amd/acp-da7219-max98357a.c | 49 +++++++++++++++++++++++++----------- 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/sound/soc/amd/acp-da7219-max98357a.c b/sound/soc/amd/acp-da7219-max98357a.c index 215b06b..6495eed 100644 --- a/sound/soc/amd/acp-da7219-max98357a.c +++ b/sound/soc/amd/acp-da7219-max98357a.c @@ -91,8 +91,7 @@ static int cz_da7219_init(struct snd_soc_pcm_runtime *rtd) return 0; } -static int cz_da7219_hw_params(struct snd_pcm_substream *substream, - struct snd_pcm_hw_params *params) +static int da7219_clk_enable(struct snd_pcm_substream *substream) { int ret = 0; struct snd_soc_pcm_runtime *rtd = substream->private_data; @@ -106,11 +105,9 @@ static int cz_da7219_hw_params(struct snd_pcm_substream *substream, return ret; } -static int cz_da7219_hw_free(struct snd_pcm_substream *substream) +static void da7219_clk_disable(void) { clk_disable_unprepare(da7219_dai_clk); - - return 0; } static const unsigned int channels[] = { @@ -133,7 +130,7 @@ static const struct snd_pcm_hw_constraint_list constraints_channels = { .mask = 0, }; -static int cz_fe_startup(struct snd_pcm_substream *substream) +static int cz_da7219_startup(struct snd_pcm_substream *substream) { struct snd_pcm_runtime *runtime = substream->runtime; @@ -147,23 +144,47 @@ static int cz_fe_startup(struct snd_pcm_substream *substream) snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, &constraints_rates); - return 0; + return da7219_clk_enable(substream); +} + +static void cz_da7219_shutdown(struct snd_pcm_substream *substream) +{ + da7219_clk_disable(); +} + +static int cz_max_startup(struct snd_pcm_substream *substream) +{ + return da7219_clk_enable(substream); +} + +static void cz_max_shutdown(struct snd_pcm_substream *substream) +{ + da7219_clk_disable(); +} + +static int cz_dmic_startup(struct snd_pcm_substream *substream) +{ + return da7219_clk_enable(substream); +} + +static void cz_dmic_shutdown(struct snd_pcm_substream *substream) +{ + da7219_clk_disable(); } static struct snd_soc_ops cz_da7219_cap_ops = { - .hw_params = cz_da7219_hw_params, - .hw_free = cz_da7219_hw_free, - .startup = cz_fe_startup, + .startup = cz_da7219_startup, + .shutdown = cz_da7219_shutdown, }; static struct snd_soc_ops cz_max_play_ops = { - .hw_params = cz_da7219_hw_params, - .hw_free = cz_da7219_hw_free, + .startup = cz_max_startup, + .shutdown = cz_max_shutdown, }; static struct snd_soc_ops cz_dmic_cap_ops = { - .hw_params = cz_da7219_hw_params, - .hw_free = cz_da7219_hw_free, + .startup = cz_dmic_startup, + .shutdown = cz_dmic_shutdown, }; static struct snd_soc_dai_link cz_dai_7219_98357[] = { -- 2.7.4
next prev parent reply other threads:[~2018-04-26 11:17 UTC|newest] Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-04-26 11:15 [PATCH 01/11] ASoC: amd: rename audio_substream_data variable Vijendar Mukunda 2018-04-26 11:15 ` Vijendar Mukunda 2018-04-26 11:15 ` [PATCH 02/11] ASoC: amd: dma config parameters changes Vijendar Mukunda 2018-04-26 11:15 ` Vijendar Mukunda 2018-04-29 21:49 ` Daniel Kurtz 2018-04-30 8:09 ` Mukunda,Vijendar 2018-04-30 8:09 ` Mukunda,Vijendar 2018-04-26 11:15 ` [PATCH 03/11] ASoC: amd: added byte count register offset variables to rtd Vijendar Mukunda 2018-04-26 11:15 ` Vijendar Mukunda 2018-04-29 21:39 ` Daniel Kurtz 2018-04-30 7:24 ` Mukunda,Vijendar 2018-04-26 11:15 ` [PATCH 04/11] ASoC: amd: removed separate byte count variables for playback and capture Vijendar Mukunda 2018-04-26 11:15 ` Vijendar Mukunda 2018-04-29 21:41 ` Daniel Kurtz 2018-04-30 7:25 ` Mukunda,Vijendar 2018-04-30 7:25 ` Mukunda,Vijendar 2018-04-26 11:15 ` [PATCH 05/11] ASoC: amd: pte offset related dma driver changes Vijendar Mukunda 2018-04-26 11:15 ` Vijendar Mukunda 2018-04-29 21:48 ` Daniel Kurtz 2018-04-30 8:19 ` Mukunda,Vijendar 2018-04-30 8:19 ` Mukunda,Vijendar 2018-04-26 11:15 ` [PATCH 06/11] ASoC: amd: sram bank update changes Vijendar Mukunda 2018-04-26 11:15 ` Vijendar Mukunda 2018-04-29 21:47 ` Daniel Kurtz 2018-04-29 21:47 ` Daniel Kurtz 2018-04-30 8:17 ` Mukunda,Vijendar 2018-04-26 11:15 ` [PATCH 07/11] ASoC: amd: memory freeing for rtd structure Vijendar Mukunda 2018-04-26 11:15 ` Vijendar Mukunda 2018-05-21 15:48 ` Applied "ASoC: amd: memory release for rtd structure" to the asoc tree Mark Brown 2018-05-21 15:48 ` Mark Brown 2018-04-26 11:15 ` Vijendar Mukunda [this message] 2018-04-26 11:15 ` [PATCH 08/11] ASoC: AMD: Move clk enable from hw_params/free to startup/shutdown Vijendar Mukunda 2018-05-21 15:48 ` Applied "ASoC: AMD: Move clk enable from hw_params/free to startup/shutdown" to the asoc tree Mark Brown 2018-05-21 15:48 ` Mark Brown 2018-04-26 11:15 ` [PATCH 09/11] ASoC: AMD: Fix clocks in CZ DA7219 machine driver Vijendar Mukunda 2018-04-26 11:15 ` Vijendar Mukunda 2018-04-29 21:51 ` Daniel Kurtz 2018-04-29 21:51 ` Daniel Kurtz 2018-05-21 15:48 ` Applied "ASoC: AMD: Fix clocks in CZ DA7219 machine driver" to the asoc tree Mark Brown 2018-05-21 15:48 ` Mark Brown 2018-04-26 11:15 ` [PATCH 10/11] ASoC: AMD: Add const to snd_soc_ops instances Vijendar Mukunda 2018-04-26 11:15 ` Vijendar Mukunda 2018-04-29 21:52 ` Daniel Kurtz 2018-04-29 21:52 ` Daniel Kurtz 2018-05-21 15:48 ` Applied "ASoC: AMD: Add const to snd_soc_ops instances" to the asoc tree Mark Brown 2018-05-21 15:48 ` Mark Brown 2018-04-26 11:15 ` [PATCH v2 11/11] ASoC: amd: dma driver changes for bt i2s instance Vijendar Mukunda 2018-04-26 11:15 ` Vijendar Mukunda 2018-04-26 14:19 ` Applied "ASoC: amd: rename audio_substream_data variable" to the asoc tree Mark Brown 2018-04-26 14:19 ` Mark Brown
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=1524741374-13523-8-git-send-email-Vijendar.Mukunda@amd.com \ --to=vijendar.mukunda@amd.com \ --cc=akshu.agrawal@amd.com \ --cc=alexander.deucher@amd.com \ --cc=alsa-devel@alsa-project.org \ --cc=broonie@kernel.org \ --cc=kuninori.morimoto.gx@renesas.com \ --cc=lgirdwood@gmail.com \ --cc=linux-kernel@vger.kernel.org \ --cc=perex@perex.cz \ --cc=tiwai@suse.com \ --cc=weiyongjun1@huawei.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.