瀏覽代碼

disp: msm: dsi: avoid DSI pll codes parsing in TVM

pll_codes_region is not defined on TVM and not programmed.
So, adding TVM check to avoid parsing pll code data.

Change-Id: Ia6280ca3fc1b19866673a6767de465d17681add7
Signed-off-by: Raviteja Tamatam <[email protected]>
Raviteja Tamatam 3 年之前
父節點
當前提交
639f00c277
共有 2 個文件被更改,包括 5 次插入4 次删除
  1. 4 4
      msm/dsi/dsi_pll.c
  2. 1 0
      msm/dsi/dsi_pll.h

+ 4 - 4
msm/dsi/dsi_pll.c

@@ -247,7 +247,6 @@ int dsi_pll_init(struct platform_device *pdev, struct dsi_pll_resource **pll)
 	int rc = 0;
 	int rc = 0;
 	const char *label;
 	const char *label;
 	struct dsi_pll_resource *pll_res = NULL;
 	struct dsi_pll_resource *pll_res = NULL;
-	bool in_trusted_vm = false;
 
 
 	if (!pdev->dev.of_node) {
 	if (!pdev->dev.of_node) {
 		pr_err("Invalid DSI PHY node\n");
 		pr_err("Invalid DSI PHY node\n");
@@ -327,9 +326,10 @@ int dsi_pll_init(struct platform_device *pdev, struct dsi_pll_resource **pll)
 	if (dsi_pll_get_ioresources(pdev, &pll_res->gdsc_base, "gdsc_base"))
 	if (dsi_pll_get_ioresources(pdev, &pll_res->gdsc_base, "gdsc_base"))
 		DSI_PLL_DBG(pll_res, "Unable to remap gdsc base resources\n");
 		DSI_PLL_DBG(pll_res, "Unable to remap gdsc base resources\n");
 
 
-	in_trusted_vm = of_property_read_bool(pdev->dev.of_node,
+	pll_res->in_trusted_vm = of_property_read_bool(pdev->dev.of_node,
 						"qcom,dsi-pll-in-trusted-vm");
 						"qcom,dsi-pll-in-trusted-vm");
-	if (in_trusted_vm) {
+
+	if (pll_res->in_trusted_vm) {
 		DSI_PLL_INFO(pll_res,
 		DSI_PLL_INFO(pll_res,
 			"Bypassing PLL clock register for Trusted VM\n");
 			"Bypassing PLL clock register for Trusted VM\n");
 		return rc;
 		return rc;
@@ -346,7 +346,7 @@ int dsi_pll_init(struct platform_device *pdev, struct dsi_pll_resource **pll)
 
 
 void dsi_pll_parse_dfps_data(struct platform_device *pdev, struct dsi_pll_resource *pll_res)
 void dsi_pll_parse_dfps_data(struct platform_device *pdev, struct dsi_pll_resource *pll_res)
 {
 {
-	if (!(pll_res->index)) {
+	if (!(pll_res->index) && !(pll_res->in_trusted_vm)) {
 		if (dsi_pll_parse_dfps_from_dt(pdev, pll_res))
 		if (dsi_pll_parse_dfps_from_dt(pdev, pll_res))
 			dsi_pll_parse_dfps(pdev, pll_res);
 			dsi_pll_parse_dfps(pdev, pll_res);
 	}
 	}

+ 1 - 0
msm/dsi/dsi_pll.h

@@ -173,6 +173,7 @@ struct dsi_pll_resource {
 	 * DSI PHY type DPHY/CPHY
 	 * DSI PHY type DPHY/CPHY
 	 */
 	 */
 	enum dsi_phy_type type;
 	enum dsi_phy_type type;
+	bool in_trusted_vm;
 };
 };
 
 
 struct dsi_pll_clk {
 struct dsi_pll_clk {