ddr带宽申请接口通过pm qos驱动实现:
1、包含头文件,linux/pm_qos.h
2、主要接口
void pm_qos_add_request(struct pm_qos_request *req, int pm_qos_class, s32 value)
添加一个qos请求,req内存空间由用户提供,pm_qos_class设置为枚举类型PM_QOS_MEMORY_THROUGHPUT,value为ddr带宽初始值(MB/s);
void pm_qos_update_request(struct pm_qos_request *req, s32 new_value)
更新一个qos请求,req是用户在添加一个qos请求后持有的,new_value为ddr带宽新值(MB/s);
int pm_qos_request(int pm_qos_class)
获取当前qos请求类型的值,即当前的总带宽值,pm_qos_class为枚举类型PM_QOS_MEMORY_THROUGHPUT;
void pm_qos_remove_request(struct pm_qos_request *req)
释放一个qos请求,req是用户在添加一个qos请求后持有的;释放后当前用户对qos类型的请求值归零。
详情见:
kernel/Documentation/power/pm_qos_interface.txt
示例代码:
kernel/drivers/devfreq/xxx_ddr_devfreq_debugfs.c
本文介绍了DDR带宽控制接口的实现方式,包括如何通过pm_qos驱动进行带宽请求、更新及释放等操作。文中详细解释了关键函数的用法,并提供了内核文档的参考路径。
1206

被折叠的 条评论
为什么被折叠?



