1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

Add cpu scale frequency configuration

This commit is contained in:
Ycarus 2018-04-17 09:27:15 +02:00
parent c5916d5454
commit 183bef4a8b
4 changed files with 92 additions and 0 deletions

View file

@ -78,6 +78,30 @@ function settings_add()
ucic:save("firewall")
ucic:commit("firewall")
-- Set CPU scaling minimum frequency
local scaling_min_freq = luci.http.formvalue("scaling_min_freq") or ""
if scaling_min_freq ~= "" then
ucic:set("openmptcprouter","settings","scaling_min_freq",scaling_min_freq)
ucic:save("openmptcprouter")
ucic:commit("openmptcprouter")
end
-- Set CPU scaling maximum frequency
local scaling_max_freq = luci.http.formvalue("scaling_max_freq") or ""
if scaling_max_freq ~= "" then
ucic:set("openmptcprouter","settings","scaling_max_freq",scaling_max_freq)
ucic:save("openmptcprouter")
ucic:commit("openmptcprouter")
end
-- Set CPU governor
local scaling_governor = luci.http.formvalue("scaling_governor") or ""
if scaling_governor ~= "" then
ucic:set("openmptcprouter","settings","scaling_governor",scaling_governor)
ucic:save("openmptcprouter")
ucic:commit("openmptcprouter")
end
-- Done, redirect
luci.http.redirect(luci.dispatcher.build_url("admin/system/openmptcprouter/settings"))
return

View file

@ -20,6 +20,40 @@
</div>
</div>
</fieldset>
<% if nixio.fs.access("/sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq") then %>
<fieldset class="cbi-section" id="system">
<legend><%:Systems settings%></legend>
<div class="cbi-section-descr"></div>
<div class="cbi-value">
<label class="cbi-value-title"><%:Minimum scaling CPU frequency%></label>
<div class="cbi-value-field">
<input type="text" name="scaling_min_freq" class="cbi-input-text" value="<%=tonumber((luci.sys.exec("echo /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq")):match("%d+"))%>">
</div>
</div>
<div class="cbi-value">
<label class="cbi-value-title"><%:Maximum scaling CPU frequency%></label>
<div class="cbi-value-field">
<input type="text" name="scaling_max_freq" class="cbi-input-text" value="<%=tonumber((luci.sys.exec("echo /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq")):match("%d+"))%>">
</div>
</div>
<div class="cbi-value">
<label class="cbi-value-title"><%:Scaling governor%></label>
<div class="cbi-value-field">
<select class="cbi-input-select" name="scaling_governor">
<%
governor=luci.sys.exec("cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor")
available_governors=luci.sys.exec("cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors")
for gov in string.gmatch(available_governors, "[^%s]+") do
%>
<option value="<%=gov%>" <% if governor == gov then %>selected="selected"<% end %>>
<%
end
%>
</select>
</div>
</div>
</fieldset>
<% end %>
</div>
<div class="cbi-page-actions">
<input type="hidden" name="token" value="<%=token%>" />