[linux thermal] kernel5.4 cpu_cooling.c学习笔记

今天学习了cpu_cooling.c源文件,路径在drivers/thermal/cpu_cooling.c。源代码地址:https://elixir.bootlin.com/linux/v5.4/source/drivers/thermal/cpu_cooling.c

1 文件内容整体描述

cpu_cooling.c主要提供了thermal管理中注册cpufreq cooling device的接口函数,还包含注册时需要调用的函数。这些函数都是kernel的原生框架内容,不同的厂商平台可以依据此框架注册适合于自己平台的cpufreq cooling device。

2 主要数据结构

struct cpufreq_cooling_device {
   
   
	int id; //设备ID
	u32 last_load; //最近一次的负载
	unsigned int cpufreq_state; 
	unsigned int max_level; //最大冷却等级
	struct freq_table *freq_table; //频率和功率对应表,频率按降序排列,freq_table数据结构如下所示
	struct cpufreq_policy *policy; //cpu对应的policy
	struct list_head node;
	struct time_in_idle *idle_time;
	struct freq_qos_request qos_req;
};
struct freq_table {
   
   
	u32 frequency;
	u32 power;
};

/* Bind cpufreq callbacks to thermal cooling device ops */
//cpufreq cooling device的操作函数,注意下面这两个数据结构的区别
static
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值