msm-mmrm: Moving peak-current threshold to DT
Moving peak-current threshold to DT to ensure that it'll get configured correctly on different targets. Change-Id: I7c1a7f8dd6ba818f7a1ee14de735729fb6f3abcb Signed-off-by: Mark Bao <quic_mbao@quicinc.com>
Этот коммит содержится в:
@@ -1113,7 +1113,7 @@ int mmrm_init_sw_clk_mgr(void *driver_data)
|
||||
}
|
||||
|
||||
/* update the peak current threshold */
|
||||
sinfo->peak_cur_data.threshold = cres->threshold;
|
||||
sinfo->peak_cur_data.threshold = cres->peak_threshold;
|
||||
sinfo->peak_cur_data.aggreg_val = 0;
|
||||
sinfo->peak_cur_data.aggreg_level = 0;
|
||||
sinfo->throttle_clients_data_length = cres->throttle_clients_data_length;
|
||||
|
@@ -10,10 +10,6 @@
|
||||
#include "mmrm_debug.h"
|
||||
|
||||
static struct mmrm_common_data common_pt_data[] = {
|
||||
{
|
||||
.key = "qcom,mmrm_clk_threshold",
|
||||
.value = 9000,
|
||||
},
|
||||
{
|
||||
.key = "qcom,mmrm_clk_mgr_scheme",
|
||||
.value = CLK_MGR_SCHEME_SW,
|
||||
|
@@ -35,11 +35,6 @@ static int mmrm_read_clk_pltfrm_rsrc_frm_drv_data(
|
||||
pdata = ddata->platform_data;
|
||||
cres = &ddata->clk_res;
|
||||
|
||||
cres->threshold = mmrm_find_key_value(pdata,
|
||||
"qcom,mmrm_clk_threshold");
|
||||
d_mpr_h("%s: configured mmrm clk threshold %d\n",
|
||||
__func__, cres->threshold);
|
||||
|
||||
cres->scheme = mmrm_find_key_value(pdata,
|
||||
"qcom,mmrm_clk_mgr_scheme");
|
||||
d_mpr_h("%s: configured mmrm scheme %d\n",
|
||||
@@ -134,6 +129,16 @@ static int mmrm_load_nom_clk_src_table(
|
||||
struct platform_device *pdev = cres->pdev;
|
||||
struct nom_clk_src_set *clk_srcs = &cres->nom_clk_set;
|
||||
|
||||
rc = of_property_read_u32(pdev->dev.of_node, "mmrm-peak-threshold", &cres->peak_threshold);
|
||||
if (rc < 0) {
|
||||
d_mpr_e("%s: invalid or missing mmrm-peak-threshold DT property\n", __func__);
|
||||
rc = -ENODEV;
|
||||
goto err_load_clk_src_tbl;
|
||||
}
|
||||
|
||||
d_mpr_h("%s: mmrm-peak-threshold threshold:%d\n",
|
||||
__func__, cres->peak_threshold);
|
||||
|
||||
of_find_property(pdev->dev.of_node, "mmrm-client-info", &size_clk_src);
|
||||
if ((size_clk_src < sizeof(*clk_srcs->clk_src_tbl)) ||
|
||||
(size_clk_src % sizeof(*clk_srcs->clk_src_tbl))) {
|
||||
|
@@ -36,12 +36,12 @@ struct nom_clk_src_set {
|
||||
|
||||
struct mmrm_clk_platform_resources {
|
||||
struct platform_device *pdev;
|
||||
u32 threshold;
|
||||
u32 scheme;
|
||||
u32 clsid_threshold_clients[MMRM_MAX_THROTTLE_CLIENTS];
|
||||
u16 throttle_clients_data_length;
|
||||
struct voltage_corner_set corner_set;
|
||||
struct nom_clk_src_set nom_clk_set;
|
||||
u32 peak_threshold;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@@ -401,8 +401,13 @@ static ssize_t dump_clk_res_info_show(struct device *dev,
|
||||
struct nom_clk_src_info *pclk;
|
||||
int left_spaces = MMRM_SYSFS_ENTRY_MAX_LEN;
|
||||
|
||||
len = scnprintf(buf, left_spaces, "threshold: %d\n",
|
||||
cres->peak_threshold);
|
||||
left_spaces -= len;
|
||||
buf += len;
|
||||
|
||||
for (i=0, pclk=clk_set->clk_src_tbl; i < clk_set->count && left_spaces > 1; i++, pclk++) {
|
||||
len = scnprintf(buf, left_spaces, "%d %d %d %d %d\n",
|
||||
len = scnprintf(buf, left_spaces, "%d\t%d\t% 8d\t%d\t%d\n",
|
||||
pclk->domain,
|
||||
pclk->clk_src_id,
|
||||
pclk->nom_dyn_pwr,
|
||||
|
Ссылка в новой задаче
Block a user