mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 04:10:18 +09: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:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user