voltage_domain.cc (10249:6bbb7ae309ac) | voltage_domain.cc (10395:77b9f96786c1) |
---|---|
1/* 2 * Copyright (c) 2012-2014 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 40 unchanged lines hidden (view full) --- 49VoltageDomain::VoltageDomain(const Params *p) 50 : SimObject(p), voltageOpPoints(p->voltage), _perfLevel(0) 51{ 52 fatal_if(voltageOpPoints.empty(), "DVFS: Empty set of voltages for "\ 53 "voltage domain %s\n", name()); 54 55 // Voltages must be sorted in descending order. 56 fatal_if(!std::is_sorted(voltageOpPoints.begin(), voltageOpPoints.end(), | 1/* 2 * Copyright (c) 2012-2014 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 40 unchanged lines hidden (view full) --- 49VoltageDomain::VoltageDomain(const Params *p) 50 : SimObject(p), voltageOpPoints(p->voltage), _perfLevel(0) 51{ 52 fatal_if(voltageOpPoints.empty(), "DVFS: Empty set of voltages for "\ 53 "voltage domain %s\n", name()); 54 55 // Voltages must be sorted in descending order. 56 fatal_if(!std::is_sorted(voltageOpPoints.begin(), voltageOpPoints.end(), |
57 std::greater_equal<Voltages::value_type>()), "DVFS: Voltage "\ 58 "operation points not in descending order for voltage domain "\ 59 "%s\n", name()); | 57 std::greater<Voltages::value_type>()), "DVFS: Voltage operation "\ 58 "points not in descending order for voltage domain %s\n", 59 name()); |
60} 61 62void 63VoltageDomain::perfLevel(PerfLevel perf_level) 64{ 65 chatty_assert(perf_level < voltageOpPoints.size(), 66 "DVFS: Requested voltage ID %d is outside the known "\ 67 "range for domain %s.\n", perf_level, name()); 68 | 60} 61 62void 63VoltageDomain::perfLevel(PerfLevel perf_level) 64{ 65 chatty_assert(perf_level < voltageOpPoints.size(), 66 "DVFS: Requested voltage ID %d is outside the known "\ 67 "range for domain %s.\n", perf_level, name()); 68 |
69 if (perf_level == _perfLevel) { 70 // Silently ignore identical overwrites 71 return; 72 } 73 |
|
69 _perfLevel = perf_level; 70 71 DPRINTF(VoltageDomain, "Setting voltage to %.3fV idx: %d for domain %s\n", 72 voltage(), perf_level, name()); 73} 74 75bool 76VoltageDomain::sanitiseVoltages() --- 72 unchanged lines hidden --- | 74 _perfLevel = perf_level; 75 76 DPRINTF(VoltageDomain, "Setting voltage to %.3fV idx: %d for domain %s\n", 77 voltage(), perf_level, name()); 78} 79 80bool 81VoltageDomain::sanitiseVoltages() --- 72 unchanged lines hidden --- |