static void core_cap_update(void) { int new_level = core_nominal_mv; if (kdvfs_core_cap.refcnt) new_level = min(new_level, kdvfs_core_cap.level); if (user_core_cap.refcnt) new_level = min(new_level, user_core_cap.level); if (core_buses_cap.level != new_level) core_cap_level_set(new_level); }
static int core_cap_update(void) { int new_level; int core_nominal_mv = tegra_dvfs_rail_get_nominal_millivolts(tegra_core_rail); if (core_nominal_mv <= 0) return -ENOENT; new_level = core_nominal_mv; if (kdvfs_core_cap.refcnt) new_level = min(new_level, kdvfs_core_cap.level); if (user_core_cap.refcnt) new_level = min(new_level, user_core_cap.level); if (core_buses_cap.level != new_level) return core_cap_level_set(new_level, core_nominal_mv); return 0; }