From: Sowjanya Komatineni <skomatineni@nvidia.com> To: Dmitry Osipenko <digetx@gmail.com>, Mark Brown <broonie@kernel.org> Cc: thierry.reding@gmail.com, jonathanh@nvidia.com, lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, mperttunen@nvidia.com, gregkh@linuxfoundation.org, sboyd@kernel.org, robh+dt@kernel.org, mark.rutland@arm.com, pdeschrijver@nvidia.com, pgaikwad@nvidia.com, spujar@nvidia.com, josephl@nvidia.com, daniel.lezcano@linaro.org, mmaddireddy@nvidia.com, markz@nvidia.com, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v5 12/19] ASoC: tegra: Add initial parent configuration for audio mclk Date: Fri, 27 Dec 2019 13:19:59 -0800 [thread overview] Message-ID: <dbbce994-27f5-d949-078d-05646100e6be@nvidia.com> (raw) In-Reply-To: <856d8a92-0c24-6722-952c-06b86c706e97@gmail.com> On 12/27/19 6:56 AM, Dmitry Osipenko wrote: > 25.12.2019 20:57, Mark Brown пишет: >> On Mon, Dec 23, 2019 at 12:14:34AM +0300, Dmitry Osipenko wrote: >>> 21.12.2019 01:26, Sowjanya Komatineni пишет: >>>> Tegra PMC clock clk_out_1 is dedicated for audio mclk from Tegra30 >>>> through Tegra210 and currently Tegra clock driver does initial parent >>>> configuration for audio mclk "clk_out_1" and enables them by default. >> Please delete unneeded context from mails when replying. Doing this >> makes it much easier to find your reply in the message, helping ensure >> it won't be missed by people scrolling through the irrelevant quoted >> material. > Ok > >>>> - clk_disable_unprepare(data->clk_cdev1); >>>> - clk_disable_unprepare(data->clk_pll_a_out0); >>>> - clk_disable_unprepare(data->clk_pll_a); >>>> + if (__clk_is_enabled(data->clk_cdev1)) >>>> + clk_disable_unprepare(data->clk_cdev1); >>> The root of the problem is that you removed clocks enabling from >>> tegra_asoc_utils_init(). currently, audio mclk and its parent clocks enabling are from clock driver init and not from tegra_asoc_utils_init. >>> I'm not sure why clocks should be disabled during the rate-changing, >>> probably this action is not really needed. >> I know nothing about this particular device but this is not that >> unusual a restriction for audio hardware, you often can't >> robustly reconfigure the clocking for a device while it's active >> due to issues in the hardware. You often see issues with FIFOs >> glitching or state machines getting stuck. This may not be an >> issue here but if it's something that's documented as a >> requirement it's probably good to pay attention. > I don't know details about that hardware either, maybe it is simply not > safe to change PLL_A rate dynamically and then CLK_SET_RATE_GATE could > be used. > > If nobody knows for sure, then will be better to keep > tegra_asoc_utils_set_rate() unchanged. plla rate change through tegra_asoc_utils_set_rate() happens only when there is not active playback or record corresponding to this sound device. So, I don't see reason for disabling clock during rate change and not sure why we had this from the beginning. Thierry/Sameer, Can you please comment? Yes, we can use CLK_SET_RATE_GATE for PLLA and remove clock disabling before rate change.
WARNING: multiple messages have this Message-ID (diff)
From: Sowjanya Komatineni <skomatineni@nvidia.com> To: Dmitry Osipenko <digetx@gmail.com>, Mark Brown <broonie@kernel.org> Cc: <thierry.reding@gmail.com>, <jonathanh@nvidia.com>, <lgirdwood@gmail.com>, <perex@perex.cz>, <tiwai@suse.com>, <mperttunen@nvidia.com>, <gregkh@linuxfoundation.org>, <sboyd@kernel.org>, <robh+dt@kernel.org>, <mark.rutland@arm.com>, <pdeschrijver@nvidia.com>, <pgaikwad@nvidia.com>, <spujar@nvidia.com>, <josephl@nvidia.com>, <daniel.lezcano@linaro.org>, <mmaddireddy@nvidia.com>, <markz@nvidia.com>, <devicetree@vger.kernel.org>, <linux-clk@vger.kernel.org>, <linux-tegra@vger.kernel.org>, <linux-kernel@vger.kernel.org> Subject: Re: [PATCH v5 12/19] ASoC: tegra: Add initial parent configuration for audio mclk Date: Fri, 27 Dec 2019 13:19:59 -0800 [thread overview] Message-ID: <dbbce994-27f5-d949-078d-05646100e6be@nvidia.com> (raw) In-Reply-To: <856d8a92-0c24-6722-952c-06b86c706e97@gmail.com> On 12/27/19 6:56 AM, Dmitry Osipenko wrote: > 25.12.2019 20:57, Mark Brown пишет: >> On Mon, Dec 23, 2019 at 12:14:34AM +0300, Dmitry Osipenko wrote: >>> 21.12.2019 01:26, Sowjanya Komatineni пишет: >>>> Tegra PMC clock clk_out_1 is dedicated for audio mclk from Tegra30 >>>> through Tegra210 and currently Tegra clock driver does initial parent >>>> configuration for audio mclk "clk_out_1" and enables them by default. >> Please delete unneeded context from mails when replying. Doing this >> makes it much easier to find your reply in the message, helping ensure >> it won't be missed by people scrolling through the irrelevant quoted >> material. > Ok > >>>> - clk_disable_unprepare(data->clk_cdev1); >>>> - clk_disable_unprepare(data->clk_pll_a_out0); >>>> - clk_disable_unprepare(data->clk_pll_a); >>>> + if (__clk_is_enabled(data->clk_cdev1)) >>>> + clk_disable_unprepare(data->clk_cdev1); >>> The root of the problem is that you removed clocks enabling from >>> tegra_asoc_utils_init(). currently, audio mclk and its parent clocks enabling are from clock driver init and not from tegra_asoc_utils_init. >>> I'm not sure why clocks should be disabled during the rate-changing, >>> probably this action is not really needed. >> I know nothing about this particular device but this is not that >> unusual a restriction for audio hardware, you often can't >> robustly reconfigure the clocking for a device while it's active >> due to issues in the hardware. You often see issues with FIFOs >> glitching or state machines getting stuck. This may not be an >> issue here but if it's something that's documented as a >> requirement it's probably good to pay attention. > I don't know details about that hardware either, maybe it is simply not > safe to change PLL_A rate dynamically and then CLK_SET_RATE_GATE could > be used. > > If nobody knows for sure, then will be better to keep > tegra_asoc_utils_set_rate() unchanged. plla rate change through tegra_asoc_utils_set_rate() happens only when there is not active playback or record corresponding to this sound device. So, I don't see reason for disabling clock during rate change and not sure why we had this from the beginning. Thierry/Sameer, Can you please comment? Yes, we can use CLK_SET_RATE_GATE for PLLA and remove clock disabling before rate change.
next prev parent reply other threads:[~2019-12-27 21:19 UTC|newest] Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-12-20 22:26 [PATCH v5 00/19] Move PMC clocks into Tegra PMC driver Sowjanya Komatineni 2019-12-20 22:26 ` Sowjanya Komatineni 2019-12-20 22:26 ` [PATCH v5 01/19] dt-bindings: clock: tegra: Change CLK_M_DIV to OSC_DIV clocks Sowjanya Komatineni 2019-12-20 22:26 ` Sowjanya Komatineni 2019-12-20 22:26 ` [PATCH v5 02/19] clk: tegra: Change CLK_M_DIV clocks " Sowjanya Komatineni 2019-12-20 22:26 ` Sowjanya Komatineni 2019-12-20 22:26 ` [PATCH v5 03/19] clk: tegra: Fix Tegra PMC clock out parents Sowjanya Komatineni 2019-12-20 22:26 ` Sowjanya Komatineni 2019-12-20 22:26 ` [PATCH v5 04/19] dt-bindings: tegra: Convert Tegra PMC bindings to YAML Sowjanya Komatineni 2019-12-20 22:26 ` Sowjanya Komatineni 2019-12-26 23:23 ` Rob Herring 2019-12-20 22:26 ` [PATCH v5 05/19] dt-bindings: soc: tegra-pmc: Add Tegra PMC clock bindings Sowjanya Komatineni 2019-12-20 22:26 ` Sowjanya Komatineni 2019-12-26 23:24 ` Rob Herring 2019-12-26 23:24 ` Rob Herring 2019-12-20 22:26 ` [PATCH v5 06/19] soc: tegra: Add Tegra PMC clocks registration into PMC driver Sowjanya Komatineni 2019-12-20 22:26 ` Sowjanya Komatineni 2019-12-20 22:26 ` [PATCH v5 07/19] dt-bindings: soc: tegra-pmc: Add id for Tegra PMC 32KHz blink clock Sowjanya Komatineni 2019-12-20 22:26 ` Sowjanya Komatineni 2019-12-22 21:55 ` Dmitry Osipenko 2019-12-27 21:30 ` Sowjanya Komatineni 2019-12-27 21:30 ` Sowjanya Komatineni 2019-12-30 19:39 ` Dmitry Osipenko 2019-12-26 18:17 ` Rob Herring 2019-12-26 18:17 ` Rob Herring 2019-12-27 21:35 ` Sowjanya Komatineni 2019-12-27 21:35 ` Sowjanya Komatineni 2019-12-20 22:26 ` [PATCH v5 08/19] soc: tegra: Add support for " Sowjanya Komatineni 2019-12-20 22:26 ` Sowjanya Komatineni 2019-12-20 22:26 ` [PATCH v5 09/19] clk: tegra: Remove tegra_pmc_clk_init along with clk ids Sowjanya Komatineni 2019-12-20 22:26 ` Sowjanya Komatineni 2019-12-20 22:26 ` [PATCH v5 10/19] dt-bindings: clock: tegra: Remove pmc clock ids from clock dt-bindings Sowjanya Komatineni 2019-12-20 22:26 ` Sowjanya Komatineni 2019-12-20 22:26 ` [PATCH v5 11/19] ASoC: tegra: Use device managed resource APIs to get the clock Sowjanya Komatineni 2019-12-20 22:26 ` Sowjanya Komatineni 2019-12-22 21:14 ` Dmitry Osipenko 2019-12-20 22:26 ` [PATCH v5 12/19] ASoC: tegra: Add initial parent configuration for audio mclk Sowjanya Komatineni 2019-12-20 22:26 ` Sowjanya Komatineni 2019-12-22 21:14 ` Dmitry Osipenko 2019-12-22 21:18 ` Dmitry Osipenko 2019-12-27 21:25 ` Sowjanya Komatineni 2019-12-27 21:25 ` Sowjanya Komatineni 2019-12-28 14:28 ` Dmitry Osipenko 2019-12-25 17:57 ` Mark Brown 2019-12-27 14:56 ` Dmitry Osipenko 2019-12-27 21:19 ` Sowjanya Komatineni [this message] 2019-12-27 21:19 ` Sowjanya Komatineni [not found] ` <b6ec6cfd-d883-ea28-00f8-884fa80cfee1@nvidia.com> 2020-01-02 16:12 ` Dmitry Osipenko [not found] ` <fb252096-e101-7d21-9717-c23607ae6edd@nvidia.com> 2020-01-05 1:05 ` Dmitry Osipenko 2020-01-05 5:03 ` Sowjanya Komatineni 2020-01-05 5:03 ` Sowjanya Komatineni 2020-01-06 4:21 ` Sameer Pujar 2020-01-06 4:21 ` Sameer Pujar 2020-01-06 16:09 ` Sowjanya Komatineni 2020-01-06 16:09 ` Sowjanya Komatineni [not found] ` <33eb0b3e-5605-3dfd-a6ea-a50ae1348c86@nvidia.com> 2020-01-06 22:59 ` Dmitry Osipenko 2019-12-27 22:48 ` Mark Brown 2019-12-20 22:26 ` [PATCH v5 13/19] ASoC: tegra: Add fallback implementation " Sowjanya Komatineni 2019-12-20 22:26 ` Sowjanya Komatineni 2019-12-20 22:27 ` [PATCH v5 14/19] clk: tegra: Remove audio related clock enables from init_table Sowjanya Komatineni 2019-12-20 22:27 ` Sowjanya Komatineni 2019-12-20 22:27 ` [PATCH v5 15/19] ARM: dts: tegra: Add clock-cells property to pmc Sowjanya Komatineni 2019-12-20 22:27 ` Sowjanya Komatineni 2019-12-20 22:27 ` [PATCH v5 16/19] arm64: tegra: Add clock-cells property to Tegra PMC node Sowjanya Komatineni 2019-12-20 22:27 ` Sowjanya Komatineni 2019-12-20 22:27 ` [PATCH v5 17/19] ARM: tegra: Update sound node clocks in device tree Sowjanya Komatineni 2019-12-20 22:27 ` Sowjanya Komatineni 2019-12-20 22:27 ` [PATCH v5 18/19] arm64: tegra: smaug: Change clk_out_2 provider to pmc Sowjanya Komatineni 2019-12-20 22:27 ` Sowjanya Komatineni 2019-12-22 22:00 ` Dmitry Osipenko 2019-12-27 21:32 ` Sowjanya Komatineni 2019-12-27 21:32 ` Sowjanya Komatineni 2019-12-20 22:27 ` [PATCH v5 19/19] ASoC: nau8825: change Tegra clk_out_2 provider from tegra_car " Sowjanya Komatineni 2019-12-20 22:27 ` Sowjanya Komatineni
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=dbbce994-27f5-d949-078d-05646100e6be@nvidia.com \ --to=skomatineni@nvidia.com \ --cc=broonie@kernel.org \ --cc=daniel.lezcano@linaro.org \ --cc=devicetree@vger.kernel.org \ --cc=digetx@gmail.com \ --cc=gregkh@linuxfoundation.org \ --cc=jonathanh@nvidia.com \ --cc=josephl@nvidia.com \ --cc=lgirdwood@gmail.com \ --cc=linux-clk@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-tegra@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=markz@nvidia.com \ --cc=mmaddireddy@nvidia.com \ --cc=mperttunen@nvidia.com \ --cc=pdeschrijver@nvidia.com \ --cc=perex@perex.cz \ --cc=pgaikwad@nvidia.com \ --cc=robh+dt@kernel.org \ --cc=sboyd@kernel.org \ --cc=spujar@nvidia.com \ --cc=thierry.reding@gmail.com \ --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.