From: Mark Brown <broonie@kernel.org> To: Marian Postevca <posteuca@mutex.one> Cc: Takashi Iwai <tiwai@suse.com>, Liam Girdwood <lgirdwood@gmail.com>, Jaroslav Kysela <perex@perex.cz>, linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org Subject: Re: [PATCH 3/4] ASoC: amd: acp: Add machine driver that enables sound for systems with a ES8336 codec Date: Mon, 20 Mar 2023 20:54:23 +0000 [thread overview] Message-ID: <141a3320-ff65-459f-9d00-c8bed691dcfc@sirena.org.uk> (raw) In-Reply-To: <20230320203519.20137-4-posteuca@mutex.one> [-- Attachment #1: Type: text/plain, Size: 1818 bytes --] On Mon, Mar 20, 2023 at 10:35:18PM +0200, Marian Postevca wrote: > +static int acp_asoc_suspend_pre(struct snd_soc_card *card) > +{ > + int ret; > + > + ret = acp_ops_suspend_pre(card); > + return ret == 1 ? 0 : ret; Please write normal conditional statements to improve legibility (or just have the function that's being called return a directly usable value?). > + if (priv->quirk & ES83XX_48_MHZ_MCLK) { > + dev_dbg(priv->codec_dev, "using a 48Mhz MCLK\n"); > + snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, > + &hw_constraint_rates_48mhz); > + freq = ES83xx_48_MHZ_MCLK_FREQ; > + } else { > + dev_dbg(priv->codec_dev, "using a 12.288Mhz MCLK\n"); > + snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, > + &hw_constraint_rates_normal); > + freq = ES83xx_12288_KHZ_MCLK_FREQ; > + } The CODEC driver should be able to set these constraints for itself. > + ret = snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF > + | SND_SOC_DAIFMT_CBP_CFP); Set this in the dai_link. > +static int acp3x_es83xx_speaker_power_event(struct snd_soc_dapm_widget *w, > + struct snd_kcontrol *kcontrol, int event) > +{ > + struct acp3x_es83xx_private *priv = get_mach_priv(w->dapm->card); > + > + dev_dbg(priv->codec_dev, "speaker power event: %d\n", event); > + if (SND_SOC_DAPM_EVENT_ON(event)) > + acp3x_es83xx_set_gpios_values(priv, 1, 0); > + else > + acp3x_es83xx_set_gpios_values(priv, 0, 1); Why are these two GPIOs tied together like this? > +static int acp3x_es83xx_suspend_pre(struct snd_soc_card *card) > +{ > + struct acp3x_es83xx_private *priv = get_mach_priv(card); > + > + dev_dbg(priv->codec_dev, "card suspend\n"); > + snd_soc_component_set_jack(priv->codec, NULL, NULL); > + return 0; > +} That's weird, why do that? [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Mark Brown <broonie@kernel.org> To: Marian Postevca <posteuca@mutex.one> Cc: Takashi Iwai <tiwai@suse.com>, Liam Girdwood <lgirdwood@gmail.com>, linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org Subject: Re: [PATCH 3/4] ASoC: amd: acp: Add machine driver that enables sound for systems with a ES8336 codec Date: Mon, 20 Mar 2023 20:54:23 +0000 [thread overview] Message-ID: <141a3320-ff65-459f-9d00-c8bed691dcfc@sirena.org.uk> (raw) In-Reply-To: <20230320203519.20137-4-posteuca@mutex.one> [-- Attachment #1: Type: text/plain, Size: 1818 bytes --] On Mon, Mar 20, 2023 at 10:35:18PM +0200, Marian Postevca wrote: > +static int acp_asoc_suspend_pre(struct snd_soc_card *card) > +{ > + int ret; > + > + ret = acp_ops_suspend_pre(card); > + return ret == 1 ? 0 : ret; Please write normal conditional statements to improve legibility (or just have the function that's being called return a directly usable value?). > + if (priv->quirk & ES83XX_48_MHZ_MCLK) { > + dev_dbg(priv->codec_dev, "using a 48Mhz MCLK\n"); > + snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, > + &hw_constraint_rates_48mhz); > + freq = ES83xx_48_MHZ_MCLK_FREQ; > + } else { > + dev_dbg(priv->codec_dev, "using a 12.288Mhz MCLK\n"); > + snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, > + &hw_constraint_rates_normal); > + freq = ES83xx_12288_KHZ_MCLK_FREQ; > + } The CODEC driver should be able to set these constraints for itself. > + ret = snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF > + | SND_SOC_DAIFMT_CBP_CFP); Set this in the dai_link. > +static int acp3x_es83xx_speaker_power_event(struct snd_soc_dapm_widget *w, > + struct snd_kcontrol *kcontrol, int event) > +{ > + struct acp3x_es83xx_private *priv = get_mach_priv(w->dapm->card); > + > + dev_dbg(priv->codec_dev, "speaker power event: %d\n", event); > + if (SND_SOC_DAPM_EVENT_ON(event)) > + acp3x_es83xx_set_gpios_values(priv, 1, 0); > + else > + acp3x_es83xx_set_gpios_values(priv, 0, 1); Why are these two GPIOs tied together like this? > +static int acp3x_es83xx_suspend_pre(struct snd_soc_card *card) > +{ > + struct acp3x_es83xx_private *priv = get_mach_priv(card); > + > + dev_dbg(priv->codec_dev, "card suspend\n"); > + snd_soc_component_set_jack(priv->codec, NULL, NULL); > + return 0; > +} That's weird, why do that? [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2023-03-20 20:55 UTC|newest] Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-03-20 20:35 [PATCH 0/4] ASoC: amd: acp: Add sound support for a line of HUAWEI laptops Marian Postevca 2023-03-20 20:35 ` [PATCH 1/4] ASoC: es8316: Enable support for S32 LE format and MCLK div by 2 Marian Postevca 2023-03-20 20:43 ` Mark Brown 2023-03-20 20:43 ` Mark Brown 2023-03-21 17:09 ` Marian Postevca 2023-03-21 17:09 ` Marian Postevca 2023-03-21 17:21 ` Mark Brown 2023-03-21 17:21 ` Mark Brown 2023-03-20 20:35 ` [PATCH 2/4] ASoC: amd: acp: Add support for splitting the codec specific code from the ACP driver Marian Postevca 2023-03-20 20:35 ` [PATCH 3/4] ASoC: amd: acp: Add machine driver that enables sound for systems with a ES8336 codec Marian Postevca 2023-03-20 20:54 ` Mark Brown [this message] 2023-03-20 20:54 ` Mark Brown 2023-03-21 22:17 ` Marian Postevca 2023-03-21 22:17 ` Marian Postevca 2023-03-22 1:58 ` Pierre-Louis Bossart 2023-03-22 13:07 ` Mark Brown 2023-03-22 13:07 ` Mark Brown 2023-03-22 20:48 ` Marian Postevca 2023-03-22 20:48 ` Marian Postevca 2023-03-22 21:27 ` Mark Brown 2023-03-22 21:27 ` Mark Brown 2023-03-27 21:20 ` Marian Postevca 2023-03-27 21:20 ` Marian Postevca 2023-03-29 13:52 ` Mark Brown 2023-03-29 13:52 ` Mark Brown 2023-08-17 21:09 ` Marian Postevca 2023-08-17 21:47 ` Mark Brown 2023-08-17 22:20 ` Marian Postevca 2023-08-18 12:52 ` Mark Brown 2023-08-20 9:32 ` Marian Postevca 2023-08-21 14:09 ` Mark Brown 2023-03-21 0:54 ` kernel test robot 2023-03-20 20:35 ` [PATCH 4/4] ASoC: amd: acp: Improve support for speaker power events Marian Postevca 2023-03-20 21:01 ` Mark Brown 2023-03-20 21:01 ` Mark Brown 2023-03-22 21:01 ` Marian Postevca 2023-03-22 21:01 ` Marian Postevca 2023-03-22 21:35 ` Mark Brown 2023-03-22 21:35 ` Mark Brown 2023-03-23 1:56 [PATCH 3/4] ASoC: amd: acp: Add machine driver that enables sound for systems with a ES8336 codec 沈一超 2023-03-23 1:56 ` 沈一超 2023-03-23 13:54 ` Mark Brown 2023-03-23 13:54 ` Mark Brown 2023-03-24 1:54 Zhu Ning 2023-03-24 1:54 ` Zhu Ning 2023-03-29 14:01 ` Mark Brown 2023-03-29 14:01 ` Mark Brown 2023-08-18 7:58 Zhu Ning
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=141a3320-ff65-459f-9d00-c8bed691dcfc@sirena.org.uk \ --to=broonie@kernel.org \ --cc=alsa-devel@alsa-project.org \ --cc=lgirdwood@gmail.com \ --cc=linux-kernel@vger.kernel.org \ --cc=perex@perex.cz \ --cc=posteuca@mutex.one \ --cc=tiwai@suse.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.