mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 14:42:37 +02:00
PM / devfreq: rockchip_dmc: Add dmc to system monitor
Change-Id: Ia544edd3caa33f005d332db2e3a113517fa4e9ca Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
This commit is contained in:
parent
2fa7e1c4ed
commit
8db85cfd43
|
|
@ -50,6 +50,7 @@
|
|||
#include <soc/rockchip/rkfb_dmc.h>
|
||||
#include <soc/rockchip/rockchip_dmc.h>
|
||||
#include <soc/rockchip/rockchip_sip.h>
|
||||
#include <soc/rockchip/rockchip_system_monitor.h>
|
||||
#include <soc/rockchip/rockchip-system-status.h>
|
||||
#include <soc/rockchip/rockchip_opp_select.h>
|
||||
#include <soc/rockchip/scpi.h>
|
||||
|
|
@ -1122,7 +1123,7 @@ struct rockchip_dmcfreq {
|
|||
struct freq_map_table *vop_bw_tbl;
|
||||
struct work_struct boost_work;
|
||||
struct input_handler input_handler;
|
||||
struct thermal_opp_info *opp_info;
|
||||
struct monitor_dev_info *mdev_info;
|
||||
struct rl_map_table *vop_pn_rl_tbl;
|
||||
struct delayed_work msch_rl_work;
|
||||
|
||||
|
|
@ -1171,12 +1172,6 @@ struct rockchip_dmcfreq {
|
|||
int (*set_msch_readlatency)(unsigned int rl);
|
||||
};
|
||||
|
||||
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);
|
||||
|
|
@ -3409,6 +3404,12 @@ static int rockchip_dmcfreq_add_devfreq(struct rockchip_dmcfreq *dmcfreq)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static struct monitor_dev_profile dmc_mdevp = {
|
||||
.type = MONITOR_TPYE_DEV,
|
||||
.low_temp_adjust = rockchip_monitor_dev_low_temp_adjust,
|
||||
.high_temp_adjust = rockchip_monitor_dev_high_temp_adjust,
|
||||
};
|
||||
|
||||
static void rockchip_dmcfreq_register_notifier(struct rockchip_dmcfreq *dmcfreq)
|
||||
{
|
||||
int ret;
|
||||
|
|
@ -3432,12 +3433,12 @@ static void rockchip_dmcfreq_register_notifier(struct rockchip_dmcfreq *dmcfreq)
|
|||
if (ret)
|
||||
dev_err(dmcfreq->dev, "failed to register fb nb\n");
|
||||
|
||||
dmc_devdata.data = dmcfreq->devfreq;
|
||||
dmcfreq->opp_info = rockchip_register_thermal_notifier(dmcfreq->dev,
|
||||
&dmc_devdata);
|
||||
if (IS_ERR(dmcfreq->opp_info)) {
|
||||
dev_dbg(dmcfreq->dev, "without thermal notifier\n");
|
||||
dmcfreq->opp_info = NULL;
|
||||
dmc_mdevp.data = dmcfreq->devfreq;
|
||||
dmcfreq->mdev_info = rockchip_system_monitor_register(dmcfreq->dev,
|
||||
&dmc_mdevp);
|
||||
if (IS_ERR(dmcfreq->mdev_info)) {
|
||||
dev_dbg(dmcfreq->dev, "without without system monitor\n");
|
||||
dmcfreq->mdev_info = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user