mirror of
https://github.com/hardkernel/linux.git
synced 2026-04-02 11:13:02 +09:00
PM / devfreq: rockchip_dmc: Add wide-temperature control
Change-Id: Ia90494728679287fb505c1ee0ddffaa9a52bf0cb Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
This commit is contained in:
@@ -770,6 +770,7 @@ struct rockchip_dmcfreq {
|
||||
struct freq_map_table *vop_bw_tbl;
|
||||
struct work_struct devfreq_update;
|
||||
struct input_handler input_handler;
|
||||
struct thermal_opp_info *opp_info;
|
||||
|
||||
unsigned long rate, target_rate;
|
||||
unsigned long volt, target_volt;
|
||||
@@ -810,6 +811,12 @@ struct rockchip_dmcfreq {
|
||||
int (*set_auto_self_refresh)(u32 en);
|
||||
};
|
||||
|
||||
static struct thermal_opp_device_data dmc_devdata = {
|
||||
.type = THERMAL_OPP_TPYE_DEV,
|
||||
.low_temp_adjust = rockchip_dev_low_temp_adjust,
|
||||
.high_temp_adjust = rockchip_dev_high_temp_adjust,
|
||||
};
|
||||
|
||||
static struct pm_qos_request pm_qos;
|
||||
|
||||
static DECLARE_RWSEM(rockchip_dmcfreq_sem);
|
||||
@@ -3111,6 +3118,14 @@ static int rockchip_dmcfreq_probe(struct platform_device *pdev)
|
||||
dev_err(dev, "failed to register input handler\n");
|
||||
}
|
||||
|
||||
dmc_devdata.data = data->devfreq;
|
||||
data->opp_info = rockchip_register_thermal_notifier(dev,
|
||||
&dmc_devdata);
|
||||
if (IS_ERR(data->opp_info)) {
|
||||
dev_dbg(dev, "without thermal notifier\n");
|
||||
data->opp_info = NULL;
|
||||
}
|
||||
|
||||
ret = ddr_power_model_simple_init(data);
|
||||
|
||||
if (!ret) {
|
||||
|
||||
Reference in New Issue
Block a user