Re: [PATCH v7 00/21] Move PMC clocks into Tegra PMC driver

Sowjanya Komatineni
2020-01-10T03:32:12Z

On 1/9/20 7:24 PM, Sowjanya Komatineni wrote:
>
> On 1/9/20 5:39 PM, Sowjanya Komatineni wrote:
>>
>> On 1/9/20 11:44 AM, Dmitry Osipenko wrote:
>>> External email: Use caution opening links or attachments
>>>
>>>
>>> 08.01.2020 07:24, Sowjanya Komatineni пишет:
>>>> This patch series moves Tegra PMC clocks from clock driver to pmc
>>>> driver
>>>> along with the device trees changes and audio driver which uses one of
>>>> the pmc clock for audio mclk.
>>>>
>>>> Tegra PMC has clk_out_1, clk_out_2, clk_out_3 and blink controls which
>>>> are currently registered by Tegra clock driver using
>>>> clk_regiser_mux and
>>>> clk_register_gate which performs direct Tegra PMC register access.
>>>>
>>>> When Tegra PMC is in secure mode, any access from non-secure world
>>>> will
>>>> not go through.
>>>>
>>>> This patch series adds these Tegra PMC clocks and blink controls to
>>>> Tegra
>>>> PMC driver with PMC as clock provider and removes them from Tegra
>>>> clock
>>>> driver.
>>>>
>>>> PMC clock clk_out_1 is dedicated for audio mclk from Tegra30 thru
>>>> Tegra210
>>>> and clock driver does inital parent configuration for it and
>>>> enables them.
>>>> But this clock should be taken care by audio driver as there is no
>>>> need
>>>> to have this clock pre enabled.
>>>>
>>>> So, this series also includes patch that updates ASoC driver to take
>>>> care of parent configuration for mclk if device tree don't specify
>>>> initial parent configuration using assigned-clock-parents and controls
>>>> audio mclk enable/disable during ASoC machine startup and shutdown.
>>>>
>>>> DTs are also updated to use clk_out_1 as audio mclk rather than
>>>> extern1.
>>>>
>>>> This series also includes a patch for mclk fallback to extern1 when
>>>> retrieving mclk fails to have this backward compatible of new DT with
>>>> old kernels.
>>> Suspend-resume doesn't work anymore, reverting this series helps. I
>>> don't have any other information yet, please take a look.
>> Thanks Dmitry. Will test suspend resume and check..
>
> I see if we leave audio mclk (cdev1) enabled during
> tegra_asoc_utils_init, suspend resume works.
>
> Without audio mclk enabled during tegra_asoc_utils_init, somehow it
> prevents entry to suspend on Tegra30 platform.
>
> Will look in detail..
>
audio mclk is only needed for audio and werid that having it not enabled
all the time like in current clock driver prevents suspend entry on Tegra30

Looks like this issue is masked earlier with having mclk enabled all the
time by clock driver.