背景
增强场景化节能功能可测试性,不依赖硬件和实际带内节能系统,允许模拟不同的场景化节能功能的输入测试功能输出的可靠性;
关联ISSUE
整体方案
场景化节能功能提供节能模式设置和节能状态查询两个对外接口:
节能模式设置接口:
(1)首先会检查硬件是否支持、是否存在可用的节能系统;
(2)根据不同的节能模式和激活的节能系统解析不同的参数下发给对应系统;
节能状态查询接口:
(1)首先会检查是否存在激活的节能系统,如果不存在可用系统,则返回未知;
(2)存在可用调频系统,则直接查询对应调频状态,根据实际生效状态返回生效或不生效;
为增强场景化节能功能的可测试性,不依赖硬件和实际带内节能系统,实现BMC场景化节能的单点功能验证,需要模拟硬件支持检查、可用节能系统检查、参数下发返回、状态查询返回。
评审点
评审点1:
在资源协作对象路径/bmc/kepler/Debug/PowerStrategy下新增资源协作接口bmc.kepler.Debug.EnergySavingScene,在此接口下包含如下方法:
- MockActivatedModuleByDomain,模拟指定节能领域的生效节能系统;
- MockEnergySavingStatusByDomain,模拟指定节能生效系统的状态查询返回值;
详细描述
| 方法名称 | 请求签名 | 请求参数描述 | 响应签名 | 响应参数描述 | 方法描述 | 访问权限 |
|---|---|---|---|---|---|---|
| MockActivatedModuleByDomain | ss | 第一个参数标识指定的节能域名称,取值如下: - CPUSystem - NPUSystem 第二个参数标识指定生效的节能系统名称 CPUSystem取值如下: - BMA - NPM NPUSystem取值如下: - LPM |
/ | / | 模拟指定节能域的生效节能系统 | PowerMgmt |
| MockEnergySavingStatusByDomain | ssas | 第一个参数标识指定的节能域名称,取值如下: - CPUSystem - NPUSystem 第二个参数标识指定的节能系统名称 CPUSystem取值如下: - BMA - NPM NPUSystem取值如下: - LPM 第三个参数为指定的节能系统的模拟返回值 BMA:模拟返回值长度为1,标识CPU节能状态,取值范围:Pending、Stopping、Suspended、Running NPM:模拟返回值长度为1,标识CPU节能状态,取值范围:Activated、Inactivated LPM:模拟返回值长度为2 第一个参数标识NPU工作模式,取值范围:idle、active、light sleep、deep sleep 第二个参数标识NPU节能状态,取值范围:L0、L1、L2 |
/ | / | 模拟指定节能生效系统的状态查询返回值 | PowerMgmt |
评审结论
通过,同意在资源协作对象路径/bmc/kepler/Debug/PowerStrategy下新增资源协作接口 bmc.kepler.Debug.EnergySavingScene,包含如下方法:
MockActivatedModuleByDomain,用于模拟指定节能领域的生效节能系统,请求签名为 ss,无响应,操作权限为 PowerMgmtMockEnergySavingStatusByDomain,用于模拟指定节能生效系统的状态查询返回值,请求签名为 ssas,无响应,操作权限为 PowerMgmt
遗留问题
无