~aleteoryx/muditaos

muditaos/module-sys/SystemManager/doc/data/CpuFrequencyUpdate.svg -rw-r--r-- 9.0 KiB
a405cad6Aleteoryx trim readme 8 days ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="339px" preserveAspectRatio="none" style="width:883px;height:339px;background:#F0F0F0;" version="1.1" viewBox="0 0 883 339" width="883px" zoomAndPan="magnify"><defs><filter height="300%" id="fk8nmres0uutt" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><line style="stroke: #A80036; stroke-width: 1.0;" x1="68" x2="68" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="68" x2="68" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="68" x2="68" y1="147.3672" y2="299.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="308.5" x2="308.5" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="308.5" x2="308.5" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="308.5" x2="308.5" y1="147.3672" y2="299.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="505.5" x2="505.5" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="505.5" x2="505.5" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="505.5" x2="505.5" y1="147.3672" y2="299.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="627.5" x2="627.5" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="627.5" x2="627.5" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="627.5" x2="627.5" y1="147.3672" y2="299.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="735.5" x2="735.5" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="735.5" x2="735.5" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="735.5" x2="735.5" y1="147.3672" y2="299.0313"/><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="8" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="15" y="22.9951">PowerManager</text><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="8" y="298.0313"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="15" y="318.0264">PowerManager</text><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="253.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="92" x="260.5" y="22.9951">CpuGovernor</text><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="253.5" y="298.0313"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="92" x="260.5" y="318.0264">CpuGovernor</text><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="444.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="451.5" y="22.9951">cellularSentinel</text><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="444.5" y="298.0313"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="451.5" y="318.0264">cellularSentinel</text><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="576.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="583.5" y="22.9951">eInkSentinel</text><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="576.5" y="298.0313"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="583.5" y="318.0264">eInkSentinel</text><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="88" x="689.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="74" x="696.5" y="22.9951">DriverPWM</text><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="88" x="689.5" y="298.0313"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="74" x="696.5" y="318.0264">DriverPWM</text><polygon fill="#A80036" points="296.5,65.4297,306.5,69.4297,296.5,73.4297,300.5,69.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="68.5" x2="302.5" y1="69.4297" y2="69.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="216" x="75.5" y="64.3638">GetMinimumFrequencyRequested</text><polygon fill="#A80036" points="79.5,94.5625,69.5,98.5625,79.5,102.5625,75.5,98.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="73.5" x2="307.5" y1="98.5625" y2="98.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="127" x="85.5" y="93.4966">minimumFrequency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="126" x="339" y="130.7729">CPU frequency change</text><polygon fill="#A80036" points="296.5,164.5,306.5,168.5,296.5,172.5,300.5,168.5" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="68.5" x2="302.5" y1="168.5" y2="168.5"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="173" x="75.5" y="163.4341">CpuFrequencyHasChanged</text><polygon fill="#A80036" points="493.5,193.6328,503.5,197.6328,493.5,201.6328,497.5,197.6328" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="308.5" x2="499.5" y1="197.6328" y2="197.6328"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="173" x="315.5" y="192.5669">CpuFrequencyHasChanged</text><polygon fill="#A80036" points="616,222.7656,626,226.7656,616,230.7656,620,226.7656" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="308.5" x2="622" y1="226.7656" y2="226.7656"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="173" x="315.5" y="221.6997">CpuFrequencyHasChanged</text><polygon fill="#A80036" points="723.5,264.4648,733.5,268.4648,723.5,272.4648,727.5,268.4648" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="628" x2="729.5" y1="268.4648" y2="268.4648"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="635" y="263.3989">updatePWM</text><path d="M740,239.7656 L740,279.7656 L871,279.7656 L871,249.7656 L861,239.7656 L740,239.7656 " fill="#FBFB77" filter="url(#fk8nmres0uutt)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M861,239.7656 L861,249.7656 L871,249.7656 L861,239.7656 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="98" x="746" y="256.8325">Critical section!</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="110" x="746" y="271.9653">mutex necessary</text><!--MD5=[88f376649c6a442b9f5bdaf3c889a824]
@startuml
skinparam BackgroundColor F0F0F0

PowerManager -> CpuGovernor : GetMinimumFrequencyRequested
CpuGovernor - -> PowerManager : minimumFrequency

...CPU frequency change...

PowerManager -> CpuGovernor : CpuFrequencyHasChanged

CpuGovernor -> cellularSentinel : CpuFrequencyHasChanged

CpuGovernor -> eInkSentinel : CpuFrequencyHasChanged
eInkSentinel -> DriverPWM : updatePWM
note right
Critical section!
mutex necessary
end note

@enduml

PlantUML version 1.2020.02(Sun Mar 01 05:22:07 EST 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>