[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <64027c16-763b-350f-9975-4f9727450ae9@nvidia.com>
Date: Mon, 20 Jan 2020 09:40:24 +0530
From: Sameer Pujar <spujar@...dia.com>
To: Dmitry Osipenko <digetx@...il.com>,
Sowjanya Komatineni <skomatineni@...dia.com>,
<thierry.reding@...il.com>, <jonathanh@...dia.com>,
<broonie@...nel.org>, <lgirdwood@...il.com>, <perex@...ex.cz>,
<tiwai@...e.com>, <mperttunen@...dia.com>,
<gregkh@...uxfoundation.org>, <sboyd@...nel.org>,
<robh+dt@...nel.org>, <mark.rutland@....com>
CC: <pdeschrijver@...dia.com>, <pgaikwad@...dia.com>,
<josephl@...dia.com>, <daniel.lezcano@...aro.org>,
<mmaddireddy@...dia.com>, <markz@...dia.com>,
<devicetree@...r.kernel.org>, <linux-clk@...r.kernel.org>,
<linux-tegra@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v8 19/22] ASoC: tegra: Enable audio mclk during
tegra_asoc_utils_init
On 1/19/2020 8:44 PM, Dmitry Osipenko wrote:
> External email: Use caution opening links or attachments
>
>
> 14.01.2020 10:24, Sowjanya Komatineni пишет:
>> Tegra PMC clock clk_out_1 is dedicated for audio mclk from Tegra30
>> through Tegra210 and currently Tegra clock driver keeps the audio
>> mclk enabled.
>>
>> With the move of PMC clocks from clock driver into pmc driver,
>> audio mclk enable from clock driver is removed and this should be
>> taken care by the audio driver.
>>
>> tegra_asoc_utils_init calls tegra_asoc_utils_set_rate and audio mclk
>> rate configuration is not needed during init and set_rate is actually
>> done during hw_params callback.
>>
>> So, this patch removes tegra_asoc_utils_set_rate call and just leaves
>> the audio mclk enabled.
>>
>> Signed-off-by: Sowjanya Komatineni <skomatineni@...dia.com>
>> ---
>> sound/soc/tegra/tegra_asoc_utils.c | 11 +++++++++--
>> 1 file changed, 9 insertions(+), 2 deletions(-)
>>
>> diff --git a/sound/soc/tegra/tegra_asoc_utils.c b/sound/soc/tegra/tegra_asoc_utils.c
>> index 1dce5ad6e665..99584970f5f4 100644
>> --- a/sound/soc/tegra/tegra_asoc_utils.c
>> +++ b/sound/soc/tegra/tegra_asoc_utils.c
>> @@ -216,9 +216,16 @@ int tegra_asoc_utils_init(struct tegra_asoc_utils_data *data,
>> data->clk_cdev1 = clk_out_1;
>> }
>>
>> - ret = tegra_asoc_utils_set_rate(data, 44100, 256 * 44100);
>> - if (ret)
>> + /*
>> + * FIXME: There is some unknown dependency between audio mclk disable
>> + * and suspend-resume functionality on Tegra30, although audio mclk is
>> + * only needed for audio.
>> + */
>> + ret = clk_prepare_enable(data->clk_cdev1);
>> + if (ret) {
>> + dev_err(data->dev, "Can't enable cdev1: %d\n", ret);
>> return ret;
>> + }
>>
>> return 0;
>> }
>>
> Shouldn't the clock be disabled on driver's removal?
I am not sure if we really need to do in this series as it does not
change the behavior from what was there earlier. Also there is already a
FIXME item here and we end up adding clock disable in remove() path of
multiple drivers, which is going to be removed once we address FIXME.
Powered by blists - more mailing lists