From: Sameer Pujar <spujar@nvidia.com> To: Michael Walle <michael@walle.cc> Cc: <alsa-devel@alsa-project.org>, <broonie@kernel.org>, <devicetree@vger.kernel.org>, <jonathanh@nvidia.com>, <kuninori.morimoto.gx@renesas.com>, <linux-kernel@vger.kernel.org>, <linux-tegra@vger.kernel.org>, <robh@kernel.org>, <sharadg@nvidia.com>, <thierry.reding@gmail.com> Subject: Re: [PATCH 1/3] ASoC: simple-card-utils: Fix device module clock Date: Thu, 11 Mar 2021 19:59:59 +0530 [thread overview] Message-ID: <36c37df5-dffb-9168-d92f-4b3e482602fa@nvidia.com> (raw) In-Reply-To: <cadc59f29bbb2e0d02235d4c10cb7f4d@walle.cc> On 3/11/2021 4:46 PM, Michael Walle wrote: > Am 2021-03-11 12:05, schrieb Sameer Pujar: > >> It would work and initially I had similar patch, see [0] and related >> series. Suggestion is to always use "clocks" property with devices >> only. > > I see. But again, I don't think it is correct to change the clock of > the codec by default. What happens if this is for example a > compatible = "fixed-clock"? The codec rate won't be changed unless a corresponding "*mclk-fs" is provided. > > As you pointed out in the referred thread [0]. simple-audio-card has > that clock and judging from the code it is exactly for this reason: > to either change/enable it or not. > > With this patch you'll switch that to "always change it". Therefore, > shouldn't there be a dt flag to indicate wheter simple-audio-card/graph > should be in charge of the codecs clock input? As mentioned above, it does not change always. Requires "*mclk-fs" to do so. May be below could be a possible alternative? - Re-order if-else of clock parsing. if (!of_property_read_u32(node, "system-clock-frequency", &val)) { // Since you are fixing rate already via "assigned-clocks" this may be a duplication. OR // "assigned-clocks" can be parsed to understand if a fixed rate is expected. simple_dai->sysclk = val; } else { // fetch MCLK clock from device and setup sysclk // a. If "*mclk-fs" is given and "clocks" is found, the rate would be updated. // b. If "*mclk-fs" is not mentioned and "clocks" is found, then simple-card utils won't touch rate. It will just do clock enable/disable. } > > And its fetching just the first clock, doesn't it? What happens if a > codec has two clock inputs? Yes, it would have been more descriptive if it were specifically looking for clock "mclk". I think the original assumption was codec takes one input clock (MCLK) and uses it for sysclk. > > -michael > > [0] > https://patchwork.kernel.org/project/alsa-devel/patch/1611944866-29373-4-git-send-email-spujar@nvidia.com/ >
WARNING: multiple messages have this Message-ID (diff)
From: Sameer Pujar <spujar@nvidia.com> To: Michael Walle <michael@walle.cc> Cc: devicetree@vger.kernel.org, alsa-devel@alsa-project.org, kuninori.morimoto.gx@renesas.com, robh@kernel.org, linux-kernel@vger.kernel.org, jonathanh@nvidia.com, sharadg@nvidia.com, broonie@kernel.org, thierry.reding@gmail.com, linux-tegra@vger.kernel.org Subject: Re: [PATCH 1/3] ASoC: simple-card-utils: Fix device module clock Date: Thu, 11 Mar 2021 19:59:59 +0530 [thread overview] Message-ID: <36c37df5-dffb-9168-d92f-4b3e482602fa@nvidia.com> (raw) In-Reply-To: <cadc59f29bbb2e0d02235d4c10cb7f4d@walle.cc> On 3/11/2021 4:46 PM, Michael Walle wrote: > Am 2021-03-11 12:05, schrieb Sameer Pujar: > >> It would work and initially I had similar patch, see [0] and related >> series. Suggestion is to always use "clocks" property with devices >> only. > > I see. But again, I don't think it is correct to change the clock of > the codec by default. What happens if this is for example a > compatible = "fixed-clock"? The codec rate won't be changed unless a corresponding "*mclk-fs" is provided. > > As you pointed out in the referred thread [0]. simple-audio-card has > that clock and judging from the code it is exactly for this reason: > to either change/enable it or not. > > With this patch you'll switch that to "always change it". Therefore, > shouldn't there be a dt flag to indicate wheter simple-audio-card/graph > should be in charge of the codecs clock input? As mentioned above, it does not change always. Requires "*mclk-fs" to do so. May be below could be a possible alternative? - Re-order if-else of clock parsing. if (!of_property_read_u32(node, "system-clock-frequency", &val)) { // Since you are fixing rate already via "assigned-clocks" this may be a duplication. OR // "assigned-clocks" can be parsed to understand if a fixed rate is expected. simple_dai->sysclk = val; } else { // fetch MCLK clock from device and setup sysclk // a. If "*mclk-fs" is given and "clocks" is found, the rate would be updated. // b. If "*mclk-fs" is not mentioned and "clocks" is found, then simple-card utils won't touch rate. It will just do clock enable/disable. } > > And its fetching just the first clock, doesn't it? What happens if a > codec has two clock inputs? Yes, it would have been more descriptive if it were specifically looking for clock "mclk". I think the original assumption was codec takes one input clock (MCLK) and uses it for sysclk. > > -michael > > [0] > https://patchwork.kernel.org/project/alsa-devel/patch/1611944866-29373-4-git-send-email-spujar@nvidia.com/ >
next prev parent reply other threads:[~2021-03-11 14:30 UTC|newest] Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-02-10 6:43 [PATCH 0/3] Use clocks property in a device node Sameer Pujar 2021-02-10 6:43 ` Sameer Pujar 2021-02-10 6:43 ` [PATCH 1/3] ASoC: simple-card-utils: Fix device module clock Sameer Pujar 2021-02-10 6:43 ` Sameer Pujar 2021-02-11 23:44 ` Kuninori Morimoto 2021-02-11 23:44 ` Kuninori Morimoto 2021-02-14 17:56 ` Sameer Pujar 2021-02-14 17:56 ` Sameer Pujar 2021-02-14 23:25 ` Kuninori Morimoto 2021-02-14 23:25 ` Kuninori Morimoto 2021-03-09 14:41 ` Michael Walle 2021-03-09 14:41 ` Michael Walle 2021-03-09 16:27 ` Sameer Pujar 2021-03-09 16:27 ` Sameer Pujar 2021-03-09 22:30 ` Michael Walle 2021-03-09 22:30 ` Michael Walle 2021-03-10 14:50 ` Sameer Pujar 2021-03-10 14:50 ` Sameer Pujar 2021-03-10 18:14 ` Michael Walle 2021-03-10 18:14 ` Michael Walle 2021-03-10 19:19 ` Sameer Pujar 2021-03-10 19:19 ` Sameer Pujar 2021-03-11 10:27 ` Michael Walle 2021-03-11 10:27 ` Michael Walle 2021-03-11 11:05 ` Sameer Pujar 2021-03-11 11:05 ` Sameer Pujar 2021-03-11 11:16 ` Michael Walle 2021-03-11 11:16 ` Michael Walle 2021-03-11 14:29 ` Sameer Pujar [this message] 2021-03-11 14:29 ` Sameer Pujar 2021-03-11 15:43 ` Michael Walle 2021-03-11 15:43 ` Michael Walle 2021-03-11 16:41 ` Mark Brown 2021-03-11 16:41 ` Mark Brown 2021-03-11 16:15 ` Mark Brown 2021-03-11 16:15 ` Mark Brown 2021-03-11 22:11 ` Michael Walle 2021-03-11 22:11 ` Michael Walle 2021-03-12 11:35 ` Mark Brown 2021-03-12 11:35 ` Mark Brown 2021-03-12 12:01 ` Michael Walle 2021-03-12 12:01 ` Michael Walle 2021-03-12 12:04 ` Mark Brown 2021-03-12 12:04 ` Mark Brown 2021-03-12 12:30 ` Michael Walle 2021-03-12 12:30 ` Michael Walle 2021-03-12 13:46 ` Mark Brown 2021-03-12 13:46 ` Mark Brown 2021-03-15 12:05 ` Michael Walle 2021-03-15 12:05 ` Michael Walle 2021-03-15 15:19 ` Sameer Pujar 2021-03-15 15:19 ` Sameer Pujar 2021-03-15 15:33 ` Michael Walle 2021-03-15 15:33 ` Michael Walle 2021-03-15 15:57 ` Sameer Pujar 2021-03-15 15:57 ` Sameer Pujar 2021-03-15 15:39 ` Mark Brown 2021-03-15 15:39 ` Mark Brown 2021-03-15 17:10 ` Sameer Pujar 2021-03-15 17:10 ` Sameer Pujar 2021-03-15 17:13 ` Michael Walle 2021-03-15 17:13 ` Michael Walle 2021-03-11 16:00 ` Mark Brown 2021-03-11 16:00 ` Mark Brown 2021-03-11 21:34 ` Michael Walle 2021-03-11 21:34 ` Michael Walle 2021-02-10 6:43 ` [PATCH 2/3] Revert "ASoC: audio-graph-card: Add clocks property to endpoint node" Sameer Pujar 2021-02-10 6:43 ` Sameer Pujar 2021-02-11 13:00 ` Mark Brown 2021-02-11 13:00 ` Mark Brown 2021-02-10 6:43 ` [PATCH 3/3] arm64: tegra: Move clocks from RT5658 endpoint to device node Sameer Pujar 2021-02-10 6:43 ` Sameer Pujar 2021-02-11 15:38 ` [PATCH 0/3] Use clocks property in a " Mark Brown 2021-02-11 15:38 ` 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=36c37df5-dffb-9168-d92f-4b3e482602fa@nvidia.com \ --to=spujar@nvidia.com \ --cc=alsa-devel@alsa-project.org \ --cc=broonie@kernel.org \ --cc=devicetree@vger.kernel.org \ --cc=jonathanh@nvidia.com \ --cc=kuninori.morimoto.gx@renesas.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-tegra@vger.kernel.org \ --cc=michael@walle.cc \ --cc=robh@kernel.org \ --cc=sharadg@nvidia.com \ --cc=thierry.reding@gmail.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.