mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
memory: tegra: Remove periodic compensation duplicate calls
Prior to calling periodic_compensation_handler() the code is doing one extra DRAM delay reading which is unnecessary as this is already done in periodic_compensation_handler(), so remove these extra calls. Signed-off-by: Diogo Ivo <diogo.ivo@tecnico.ulisboa.pt> Link: https://lore.kernel.org/r/20240704-tegra210_emcfreq-v4-1-3e450503c555@tecnico.ulisboa.pt Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
This commit is contained in:
parent
8400291e28
commit
649f4783dc
1 changed files with 2 additions and 17 deletions
|
@ -492,7 +492,6 @@ static u32 tegra210_emc_r21021_periodic_compensation(struct tegra210_emc *emc)
|
|||
};
|
||||
struct tegra210_emc_timing *last = emc->last;
|
||||
unsigned int items = ARRAY_SIZE(list), i;
|
||||
unsigned long delay;
|
||||
|
||||
if (last->periodic_training) {
|
||||
emc_dbg(emc, PER_TRAIN, "Periodic training starting\n");
|
||||
|
@ -530,18 +529,9 @@ static u32 tegra210_emc_r21021_periodic_compensation(struct tegra210_emc *emc)
|
|||
/*
|
||||
* 2. osc kick off - this assumes training and dvfs have set
|
||||
* correct MR23.
|
||||
*/
|
||||
tegra210_emc_start_periodic_compensation(emc);
|
||||
|
||||
/*
|
||||
*
|
||||
* 3. Let dram capture its clock tree delays.
|
||||
*/
|
||||
delay = tegra210_emc_actual_osc_clocks(last->run_clocks);
|
||||
delay *= 1000;
|
||||
delay /= last->rate + 1;
|
||||
udelay(delay);
|
||||
|
||||
/*
|
||||
*
|
||||
* 4. Check delta wrt previous values (save value if margin
|
||||
* exceeds what is set in table).
|
||||
*/
|
||||
|
@ -734,11 +724,6 @@ static void tegra210_emc_r21021_set_clock(struct tegra210_emc *emc, u32 clksrc)
|
|||
EMC_EMC_STATUS_DRAM_IN_SELF_REFRESH_MASK,
|
||||
0);
|
||||
|
||||
tegra210_emc_start_periodic_compensation(emc);
|
||||
|
||||
delay = 1000 * tegra210_emc_actual_osc_clocks(last->run_clocks);
|
||||
udelay((delay / last->rate) + 2);
|
||||
|
||||
value = periodic_compensation_handler(emc, DVFS_SEQUENCE, fake,
|
||||
next);
|
||||
value = (value * 128 * next->rate / 1000) / 1000000;
|
||||
|
|
Loading…
Add table
Reference in a new issue