From: Mark Brown <broonie@kernel.org>
To: Li Xiubo <B47053@freescale.com>
Cc: "mark.rutland@arm.com" <mark.rutland@arm.com>,
"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"tiwai@suse.de" <tiwai@suse.de>, Huan Wang <B18965@freescale.com>,
"timur@tabi.org" <timur@tabi.org>,
"perex@perex.cz" <perex@perex.cz>,
Shawn Guo <r65073@freescale.com>,
"LW@KARO-electronics.de" <LW@KARO-electronics.de>,
"linux@arm.linux.org.uk" <linux@arm.linux.org.uk>,
Guangyu Chen <B42378@freescale.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"grant.likely@linaro.org" <grant.likely@linaro.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"ian.campbell@citrix.com" <ian.campbell@citrix.com>,
"pawel.moll@arm.com" <pawel.moll@arm.com>,
"swarren@wwwdotorg.org" <swarren@wwwdotorg.org>,
"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
oskar@scara.com
Subject: Re: [PATCHv2 1/8] ALSA: Add SAI SoC Digital Audio Interface driver.
Date: Mon, 4 Nov 2013 08:15:37 -0800 [thread overview]
Message-ID: <20131104161537.GI2493@sirena.org.uk> (raw)
In-Reply-To: <1DD289F6464F0949A2FCA5AA6DC23F8287439D@039-SN2MPN1-013.039d.mgd.msft.net>
[-- Attachment #1.1: Type: text/plain, Size: 2209 bytes --]
On Mon, Nov 04, 2013 at 07:35:12AM +0000, Li Xiubo wrote:
> From the ASoC subsystem comments we can see that:
> ++++++
> Configures the clock dividers. This is used to derive the best DAI bit and
> frame clocks from the system or master clock. It's best to set the DAI bit
> and frame clocks as low as possible to save system power.
> ------
You should never use this unless you have to, there is no point in every
single machine driver using your driver having to duplicate the same
calculations.
>
> > > +static int fsl_sai_dai_probe(struct snd_soc_dai *dai) {
> > > + int ret;
> > > + struct fsl_sai *sai = dev_get_drvdata(dai->dev);
> > > +
> > > + ret = clk_prepare_enable(sai->clk);
> > > + if (ret)
> > > + return ret;
> > It'd be nicer to only enable the clock while the device is in active use.
> While if the module clock is not enabled here, the followed registers cannot read/write in the same function.
> And this _probe function is the _dai_probe not the driver's module _probe.
So you can enable the clock when you explicitly need to write to the
registers...
> If the clk_prepare_enable(sai->clk) is not here, where should it be will be nicer ?
> One of the following functions ?
> .set_sysclk = fsl_sai_set_dai_sysclk,
> .set_clkdiv = fsl_sai_set_dai_clkdiv,
> .set_fmt = fsl_sai_set_dai_fmt,
> .set_tdm_slot = fsl_sai_set_dai_tdm_slot,
> .hw_params = fsl_sai_hw_params,
> .trigger = fsl_sai_trigger,
It could be in any or all of them except trigger (where the core should
hold a runtime PM reference anyway). You can always take a reference
for the duration of the function if you're concerned it may be called
when the referent isn't otherwise held.
> > > + ret = snd_dmaengine_pcm_register(&pdev->dev, NULL,
> > > + SND_DMAENGINE_PCM_FLAG_NO_RESIDUE);
> > > + if (ret)
> > > + return ret;
> > We should have a devm_ version of this.
> Sorry, is there one patch for adding the devm_ version of snd_dmaengine_pcm_register() already ?
> In the -next and other topics branches I could not find it.
No, there isn't one but there should be one.
[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Mark Brown <broonie@kernel.org>
To: Li Xiubo <B47053@freescale.com>
Cc: "mark.rutland@arm.com" <mark.rutland@arm.com>,
"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"tiwai@suse.de" <tiwai@suse.de>, Huan Wang <B18965@freescale.com>,
"timur@tabi.org" <timur@tabi.org>,
"perex@perex.cz" <perex@perex.cz>,
Shawn Guo <r65073@freescale.com>,
"LW@KARO-electronics.de" <LW@KARO-electronics.de>,
"linux@arm.linux.org.uk" <linux@arm.linux.org.uk>,
Guangyu Chen <B42378@freescale.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"grant.likely@linaro.org" <grant.likely@linaro.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"ian.campbell@citrix.com" <ian.campbell@citrix.com>,
"pawel.moll@arm.com" <pawel.moll@arm.com>,
"swarren@wwwdotorg.org" <swarren@wwwdotorg.org>,
"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
"oskar@scara.com" <oskar@scara.com>,
Fabio Estevam <r49496@freescale.com>,
"lgirdwood@gmail.com" <lgirdwood@gmail.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"rob@landley.net" <rob@landley.net>,
Zhengxiong Jin <R64188@freescale.com>,
"shawn.guo@linaro.org" <shawn.guo@linaro.org>,
"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>
Subject: Re: [PATCHv2 1/8] ALSA: Add SAI SoC Digital Audio Interface driver.
Date: Mon, 4 Nov 2013 08:15:37 -0800 [thread overview]
Message-ID: <20131104161537.GI2493@sirena.org.uk> (raw)
In-Reply-To: <1DD289F6464F0949A2FCA5AA6DC23F8287439D@039-SN2MPN1-013.039d.mgd.msft.net>
[-- Attachment #1: Type: text/plain, Size: 2209 bytes --]
On Mon, Nov 04, 2013 at 07:35:12AM +0000, Li Xiubo wrote:
> From the ASoC subsystem comments we can see that:
> ++++++
> Configures the clock dividers. This is used to derive the best DAI bit and
> frame clocks from the system or master clock. It's best to set the DAI bit
> and frame clocks as low as possible to save system power.
> ------
You should never use this unless you have to, there is no point in every
single machine driver using your driver having to duplicate the same
calculations.
>
> > > +static int fsl_sai_dai_probe(struct snd_soc_dai *dai) {
> > > + int ret;
> > > + struct fsl_sai *sai = dev_get_drvdata(dai->dev);
> > > +
> > > + ret = clk_prepare_enable(sai->clk);
> > > + if (ret)
> > > + return ret;
> > It'd be nicer to only enable the clock while the device is in active use.
> While if the module clock is not enabled here, the followed registers cannot read/write in the same function.
> And this _probe function is the _dai_probe not the driver's module _probe.
So you can enable the clock when you explicitly need to write to the
registers...
> If the clk_prepare_enable(sai->clk) is not here, where should it be will be nicer ?
> One of the following functions ?
> .set_sysclk = fsl_sai_set_dai_sysclk,
> .set_clkdiv = fsl_sai_set_dai_clkdiv,
> .set_fmt = fsl_sai_set_dai_fmt,
> .set_tdm_slot = fsl_sai_set_dai_tdm_slot,
> .hw_params = fsl_sai_hw_params,
> .trigger = fsl_sai_trigger,
It could be in any or all of them except trigger (where the core should
hold a runtime PM reference anyway). You can always take a reference
for the duration of the function if you're concerned it may be called
when the referent isn't otherwise held.
> > > + ret = snd_dmaengine_pcm_register(&pdev->dev, NULL,
> > > + SND_DMAENGINE_PCM_FLAG_NO_RESIDUE);
> > > + if (ret)
> > > + return ret;
> > We should have a devm_ version of this.
> Sorry, is there one patch for adding the devm_ version of snd_dmaengine_pcm_register() already ?
> In the -next and other topics branches I could not find it.
No, there isn't one but there should be one.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: broonie@kernel.org (Mark Brown)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv2 1/8] ALSA: Add SAI SoC Digital Audio Interface driver.
Date: Mon, 4 Nov 2013 08:15:37 -0800 [thread overview]
Message-ID: <20131104161537.GI2493@sirena.org.uk> (raw)
In-Reply-To: <1DD289F6464F0949A2FCA5AA6DC23F8287439D@039-SN2MPN1-013.039d.mgd.msft.net>
On Mon, Nov 04, 2013 at 07:35:12AM +0000, Li Xiubo wrote:
> From the ASoC subsystem comments we can see that:
> ++++++
> Configures the clock dividers. This is used to derive the best DAI bit and
> frame clocks from the system or master clock. It's best to set the DAI bit
> and frame clocks as low as possible to save system power.
> ------
You should never use this unless you have to, there is no point in every
single machine driver using your driver having to duplicate the same
calculations.
>
> > > +static int fsl_sai_dai_probe(struct snd_soc_dai *dai) {
> > > + int ret;
> > > + struct fsl_sai *sai = dev_get_drvdata(dai->dev);
> > > +
> > > + ret = clk_prepare_enable(sai->clk);
> > > + if (ret)
> > > + return ret;
> > It'd be nicer to only enable the clock while the device is in active use.
> While if the module clock is not enabled here, the followed registers cannot read/write in the same function.
> And this _probe function is the _dai_probe not the driver's module _probe.
So you can enable the clock when you explicitly need to write to the
registers...
> If the clk_prepare_enable(sai->clk) is not here, where should it be will be nicer ?
> One of the following functions ?
> .set_sysclk = fsl_sai_set_dai_sysclk,
> .set_clkdiv = fsl_sai_set_dai_clkdiv,
> .set_fmt = fsl_sai_set_dai_fmt,
> .set_tdm_slot = fsl_sai_set_dai_tdm_slot,
> .hw_params = fsl_sai_hw_params,
> .trigger = fsl_sai_trigger,
It could be in any or all of them except trigger (where the core should
hold a runtime PM reference anyway). You can always take a reference
for the duration of the function if you're concerned it may be called
when the referent isn't otherwise held.
> > > + ret = snd_dmaengine_pcm_register(&pdev->dev, NULL,
> > > + SND_DMAENGINE_PCM_FLAG_NO_RESIDUE);
> > > + if (ret)
> > > + return ret;
> > We should have a devm_ version of this.
> Sorry, is there one patch for adding the devm_ version of snd_dmaengine_pcm_register() already ?
> In the -next and other topics branches I could not find it.
No, there isn't one but there should be one.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20131104/ae3affc4/attachment.sig>
next prev parent reply other threads:[~2013-11-04 16:15 UTC|newest]
Thread overview: 139+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-01 7:04 (unknown), Xiubo Li
2013-11-01 7:04 ` No subject Xiubo Li
2013-11-01 7:04 ` Xiubo Li
2013-11-01 7:04 ` [PATCHv2 1/8] ALSA: Add SAI SoC Digital Audio Interface driver Xiubo Li
2013-11-01 7:04 ` Xiubo Li
2013-11-01 7:04 ` Xiubo Li
[not found] ` <1383289495-24523-2-git-send-email-Li.Xiubo-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2013-11-01 8:59 ` Nicolin Chen
2013-11-01 8:59 ` Nicolin Chen
2013-11-01 8:59 ` Nicolin Chen
2013-11-04 3:45 ` Li Xiubo
2013-11-04 3:45 ` Li Xiubo
2013-11-04 3:45 ` Li Xiubo
2013-11-04 4:33 ` Nicolin Chen
2013-11-04 4:33 ` Nicolin Chen
2013-11-04 4:33 ` Nicolin Chen
2013-11-20 3:37 ` Li Xiubo
2013-11-20 3:37 ` Li Xiubo
2013-11-20 3:37 ` Li Xiubo
2013-11-20 3:37 ` Nicolin Chen
2013-11-20 3:37 ` Nicolin Chen
2013-11-20 3:37 ` Nicolin Chen
2013-11-20 4:16 ` Li Xiubo
2013-11-20 4:16 ` Li Xiubo
2013-11-20 4:16 ` Li Xiubo
2013-11-05 13:26 ` Timur Tabi
2013-11-05 13:26 ` Timur Tabi
2013-11-05 13:26 ` Timur Tabi
2013-11-06 3:27 ` Li Xiubo
2013-11-06 3:27 ` Li Xiubo
2013-11-06 3:27 ` Li Xiubo
2013-11-06 3:31 ` Timur Tabi
2013-11-06 3:31 ` Timur Tabi
2013-11-06 3:31 ` Timur Tabi
2013-11-06 3:53 ` Li Xiubo
2013-11-06 3:53 ` Li Xiubo
2013-11-06 3:53 ` Li Xiubo
2013-11-06 8:12 ` Shawn Guo
2013-11-06 8:12 ` Shawn Guo
2013-11-06 8:12 ` Shawn Guo
2013-11-06 9:38 ` Li Xiubo
2013-11-06 9:38 ` Li Xiubo
2013-11-06 9:38 ` Li Xiubo
2013-11-01 18:25 ` Mark Brown
2013-11-01 18:25 ` Mark Brown
2013-11-01 18:25 ` Mark Brown
2013-11-04 7:35 ` Li Xiubo
2013-11-04 7:35 ` Li Xiubo
2013-11-04 7:35 ` Li Xiubo
2013-11-04 16:15 ` Mark Brown [this message]
2013-11-04 16:15 ` Mark Brown
2013-11-04 16:15 ` Mark Brown
2013-11-05 3:21 ` Li Xiubo
2013-11-05 3:21 ` Li Xiubo
2013-11-05 3:21 ` Li Xiubo
2013-11-06 9:53 ` Mark Brown
2013-11-06 9:53 ` Mark Brown
2013-11-06 9:53 ` Mark Brown
2013-11-01 7:04 ` [PATCHv2 2/8] ARM: dts: Add Freescale SAI ALSA SoC Digital Audio Interface node for VF610 Xiubo Li
2013-11-01 7:04 ` Xiubo Li
2013-11-01 7:04 ` Xiubo Li
2013-11-01 7:04 ` [PATCHv2 3/8] ARM: dts: Enables SAI ALSA SoC DAI device for Vybrid VF610 TOWER board Xiubo Li
2013-11-01 7:04 ` Xiubo Li
2013-11-01 7:04 ` Xiubo Li
2013-11-18 18:07 ` Bill Pringlemeir
2013-11-20 3:14 ` Li Xiubo
2013-11-20 16:04 ` Bill Pringlemeir
2013-11-20 16:04 ` Bill Pringlemeir
2013-11-21 2:58 ` Li Xiubo
2013-11-21 2:58 ` Li Xiubo
2013-11-21 14:55 ` Bill Pringlemeir
2013-11-21 14:55 ` Bill Pringlemeir
2013-11-22 6:46 ` Li Xiubo
2013-11-22 6:46 ` Li Xiubo
2013-11-22 15:09 ` Bill Pringlemeir
2013-11-22 15:09 ` Bill Pringlemeir
2013-11-28 7:45 ` Li Xiubo
2013-11-28 7:45 ` Li Xiubo
2013-11-01 7:04 ` [PATCHv2 4/8] Documentation: Add device tree bindings for Freescale SAI Xiubo Li
2013-11-01 7:04 ` Xiubo Li
2013-11-01 7:04 ` Xiubo Li
2013-11-01 7:04 ` [PATCHv2 5/8] ASoC: SGTL5000: Enhance the SGTL5000 codec driver about regulator Xiubo Li
2013-11-01 7:04 ` Xiubo Li
2013-11-01 7:04 ` Xiubo Li
[not found] ` <1383289495-24523-6-git-send-email-Li.Xiubo-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2013-11-01 10:02 ` Nicolin Chen
2013-11-01 10:02 ` Nicolin Chen
2013-11-01 10:02 ` Nicolin Chen
2013-11-01 18:50 ` Mark Brown
2013-11-01 18:50 ` Mark Brown
2013-11-01 18:50 ` Mark Brown
2013-11-06 8:59 ` Li Xiubo
2013-11-06 8:59 ` Li Xiubo
2013-11-06 8:59 ` Li Xiubo
2013-11-06 10:03 ` Mark Brown
2013-11-06 10:03 ` Mark Brown
2013-11-06 10:03 ` Mark Brown
2013-11-07 3:01 ` Li Xiubo
2013-11-07 3:01 ` Li Xiubo
2013-11-07 3:01 ` Li Xiubo
2013-11-07 20:38 ` Mark Brown
2013-11-07 20:38 ` Mark Brown
2013-11-07 20:38 ` Mark Brown
2013-11-01 7:04 ` [PATCHv2 6/8] ASoC: fsl: add SGTL5000 based audio machine driver Xiubo Li
2013-11-01 7:04 ` Xiubo Li
2013-11-01 7:04 ` Xiubo Li
2013-11-01 10:17 ` Oskar Schirmer
2013-11-01 10:17 ` Oskar Schirmer
2013-11-05 3:26 ` Li Xiubo
2013-11-05 3:26 ` Li Xiubo
2013-11-05 3:26 ` Li Xiubo
2013-11-01 10:28 ` Nicolin Chen
2013-11-01 10:28 ` Nicolin Chen
2013-11-01 10:28 ` Nicolin Chen
2013-11-01 12:07 ` Shawn Guo
2013-11-01 12:07 ` Shawn Guo
2013-11-01 12:07 ` Shawn Guo
2013-11-05 6:17 ` Li Xiubo
2013-11-05 6:17 ` Li Xiubo
2013-11-05 6:17 ` Li Xiubo
2013-11-05 3:50 ` Li Xiubo
2013-11-05 3:50 ` Li Xiubo
2013-11-05 3:50 ` Li Xiubo
2013-11-01 18:40 ` Mark Brown
2013-11-01 18:40 ` Mark Brown
2013-11-01 18:40 ` Mark Brown
2013-11-04 9:52 ` Li Xiubo
2013-11-04 9:52 ` Li Xiubo
2013-11-04 9:52 ` Li Xiubo
2013-11-20 7:49 ` Li Xiubo
2013-11-20 7:49 ` Li Xiubo
2013-11-20 7:49 ` Li Xiubo
2013-11-01 7:04 ` [PATCHv2 7/8] ARM: dts: Enable SGTL5000 codec based audio driver node for VF610 Xiubo Li
2013-11-01 7:04 ` Xiubo Li
2013-11-01 7:04 ` Xiubo Li
2013-11-01 7:04 ` [PATCHv2 8/8] Documentation: Add device tree bindings for Freescale VF610 sound Xiubo Li
2013-11-01 7:04 ` Xiubo Li
2013-11-01 7:04 ` Xiubo Li
2013-11-01 7:52 ` [PATCHv1 0/8] ALSA: Add SAI driver and enable SGT15000 codec Li Xiubo
2013-11-01 7:52 ` Li Xiubo
2013-11-01 7:52 ` Li Xiubo
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=20131104161537.GI2493@sirena.org.uk \
--to=broonie@kernel.org \
--cc=B18965@freescale.com \
--cc=B42378@freescale.com \
--cc=B47053@freescale.com \
--cc=LW@KARO-electronics.de \
--cc=alsa-devel@alsa-project.org \
--cc=devicetree@vger.kernel.org \
--cc=grant.likely@linaro.org \
--cc=ian.campbell@citrix.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mark.rutland@arm.com \
--cc=oskar@scara.com \
--cc=pawel.moll@arm.com \
--cc=perex@perex.cz \
--cc=r65073@freescale.com \
--cc=rob.herring@calxeda.com \
--cc=swarren@wwwdotorg.org \
--cc=timur@tabi.org \
--cc=tiwai@suse.de \
/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: link
Be 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.