[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0b13d21c-1daf-4e9d-f2c2-e78a3b8935f2@gmail.com>
Date: Mon, 20 Jan 2020 18:32:45 +0300
From: Dmitry Osipenko <digetx@...il.com>
To: Sameer Pujar <spujar@...dia.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
20.01.2020 07:10, Sameer Pujar пишет:
>
> 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.
>
Well, perhaps this is indeed good enough for the time being.
BTW, I didn't spot any suspend-resume problems using v8.
Tested-by: Dmitry Osipenko <digetx@...il.com>
Reviewed-by: Dmitry Osipenko <digetx@...il.com>
Powered by blists - more mailing lists