On 1/9/20 8:43 PM, Sameer Pujar wrote:
External email: Use caution opening links or attachments
On 1/10/2020 10:06 AM, Sowjanya Komatineni wrote:
On 1/9/20 7:32 PM, Sowjanya Komatineni wrote:
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.
On linux-next without this patch series, I just disabled mclk to be
enabled all the time (removed set_rate from utils_init) and also
disabled default enable from clock driver.
So somehow disabling mclk is preventing suspend entry.
This is strange.
Probably debugging suspend issue on Tegra30 when audio mclk is
disabled can be done separately and will keep audio mclk enabled in
asoc_utils_init with comment mentioning this issue and fix as TBD to
move on with PMC clock fixes.
Sounds fine with me as the suspend/resume issue is not introduced in the
current series. It can be addressed separately.
Thanks Sameer. So, will keep mclk not enabled in clock driver but will
do mclk enable in asoc_utils_init and will remove machine startup and
shutdown.
mclk dependency with suspend/resume and I2S and audio clocks proper
handling in audio driver can be taken care separately out of this series.
Dimitry, I hope you too agree with this.