]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/blobdiff - drivers/platform/tegra/mc/tegra21_emc_cc_r21015.c
arm64: tegra21: emc: Make sure the DLL always has a clock
[sojka/nv-tegra/linux-3.10.git] / drivers / platform / tegra / mc / tegra21_emc_cc_r21015.c
index 5464bb542e1d1e3ea64d5bac95f2dbb5ba2ef066..91c0200b5e382b47b8acd65dee14903424824950 100644 (file)
@@ -1646,6 +1646,13 @@ void emc_set_clock_r21015(struct tegra21_emc_table *next_timing,
                prelock_dll_en = 1;
        } else {
                emc_cc_dbg(INFO, "Disabling DLL for target frequency.\n");
+
+               /*
+                * Ensure that even if the DLL is disabled for the given
+                * frequency it still has an active clock source. If it does
+                * not then it will not work during the next clock change.
+                */
+               change_dll_src(next_timing, clksrc);
                dll_disable(channel_mode);
        }