Răsfoiți Sursa

Merge "msm-mmrm: Moving peak-current threshold to DT"

qctecmdr 3 ani în urmă
părinte
comite
7509d80e7e

+ 1 - 1
driver/src/mmrm_clk_rsrc_mgr_sw.c

@@ -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;

+ 0 - 4
driver/src/mmrm_internal.c

@@ -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,

+ 10 - 5
driver/src/mmrm_res_parse.c

@@ -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))) {

+ 1 - 1
driver/src/mmrm_resources.h

@@ -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

+ 6 - 1
driver/src/msm_mmrm.c

@@ -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,