mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 03:20:53 +07:00
clk: tegra: Implement disable_unused() of tegra_clk_sdmmc_mux_ops
[ Upstream commit 2bcc025ab9bbd029b1730cde71cb4e4f0ed35d0f ] Implement disable_unused() callback of tegra_clk_sdmmc_mux_ops to fix imbalanced disabling of the unused MMC clock on Tegra210 Jetson Nano. Fixes: c592c8a28f58 ("clk: tegra: Fix refcounting of gate clocks") Reported-by: Jon Hunter <jonathanh@nvidia.com> # T210 Nano Tested-by: Jon Hunter <jonathanh@nvidia.com> # T210 Nano Acked-by: Jon Hunter <jonathanh@nvidia.com> Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Link: https://lore.kernel.org/r/20210717112742.7196-1-digetx@gmail.com Signed-off-by: Stephen Boyd <sboyd@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
e8789bbfd3
commit
381e4188c5
@ -194,6 +194,15 @@ static void clk_sdmmc_mux_disable(struct clk_hw *hw)
|
|||||||
gate_ops->disable(gate_hw);
|
gate_ops->disable(gate_hw);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void clk_sdmmc_mux_disable_unused(struct clk_hw *hw)
|
||||||
|
{
|
||||||
|
struct tegra_sdmmc_mux *sdmmc_mux = to_clk_sdmmc_mux(hw);
|
||||||
|
const struct clk_ops *gate_ops = sdmmc_mux->gate_ops;
|
||||||
|
struct clk_hw *gate_hw = &sdmmc_mux->gate.hw;
|
||||||
|
|
||||||
|
gate_ops->disable_unused(gate_hw);
|
||||||
|
}
|
||||||
|
|
||||||
static void clk_sdmmc_mux_restore_context(struct clk_hw *hw)
|
static void clk_sdmmc_mux_restore_context(struct clk_hw *hw)
|
||||||
{
|
{
|
||||||
struct clk_hw *parent = clk_hw_get_parent(hw);
|
struct clk_hw *parent = clk_hw_get_parent(hw);
|
||||||
@ -218,6 +227,7 @@ static const struct clk_ops tegra_clk_sdmmc_mux_ops = {
|
|||||||
.is_enabled = clk_sdmmc_mux_is_enabled,
|
.is_enabled = clk_sdmmc_mux_is_enabled,
|
||||||
.enable = clk_sdmmc_mux_enable,
|
.enable = clk_sdmmc_mux_enable,
|
||||||
.disable = clk_sdmmc_mux_disable,
|
.disable = clk_sdmmc_mux_disable,
|
||||||
|
.disable_unused = clk_sdmmc_mux_disable_unused,
|
||||||
.restore_context = clk_sdmmc_mux_restore_context,
|
.restore_context = clk_sdmmc_mux_restore_context,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user