int tegra_dc_set_dynamic_emc(struct tegra_dc_win *windows[], int n) { unsigned long new_rate; struct tegra_dc *dc; if (!use_dynamic_emc) return 0; dc = windows[0]->dc; /* calculate the new rate based on this POST */ new_rate = tegra_dc_get_bandwidth(windows, n); if (WARN_ONCE(new_rate > (ULONG_MAX / 1000), "bandwidth maxed out\n")) new_rate = ULONG_MAX; else new_rate = EMC_BW_TO_FREQ(new_rate * 1000); if (tegra_dc_has_multiple_dc()) new_rate = ULONG_MAX; dc->new_emc_clk_rate = new_rate; trace_set_dynamic_emc(dc); return 0; }
int tegra_dc_set_dynamic_emc(struct tegra_dc_win *windows[], int n) { unsigned long new_rate; struct tegra_dc *dc; if (!use_dynamic_emc) return 0; dc = windows[0]->dc; if (tegra_dc_has_multiple_dc()) new_rate = ULONG_MAX; else new_rate = tegra_dc_kbps_to_emc( tegra_dc_get_bandwidth(windows, n)); dc->new_emc_clk_rate = new_rate; trace_set_dynamic_emc(dc); return 0; }