文章标题翻译可能不是很准确,但是还是比较靠近本质意思。
opp全名Operating Performance Points。可参考linux官方文档:linux/Documentation/power/opp.txt。
1、介绍
1.1、什么是性能操作点?
现如今功能复杂的soc是由很多子功能模块协作组成的。在执行各种用例的操作系统中,在SOC中,并不是所有的模块都需要一直工作在最高频率。为了解决这中场景,SOC中的子模块被分组到不同的域中。允许一些域运行在低电压低频率环境下,与此同时,另一些域运行在高电压高频率的环境下。
这些由频率、电压配对组,构成的离散元素数组(用以支持不同的环境域)的集合,被称作性能操作点(OPP)。
例如:
假设MPU设备支持,在最小1伏特的电压下可以运行300MHZ,在最小1.2伏特的电压下可以运行800MHZ,在最小1.3伏特的电压下可以运行1GHZ。其对应的离线元素数组,
{HZ ,uV }
{300000000, 1000000}
{800000000, 1200000}
{1000000000, 1300000}
1.2、性能操作点库
OPP库提供了一系列帮助函数,用于管理和获取性能操作点的信息。该库位于linux源码目录drivers/base/power/opp.c。
opp库可以通过开启CONFIG_PM_OPP配置菜单项来使能。opp库的典型用法如下:
注册一系列默认opps清单或接口——》修改指定用例的opps——》搜索获取Opps信息。
opp这一抽象层,期望每一个域都由特定的