Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6c483e3b authored by Satya Rama Aditya Pinapala's avatar Satya Rama Aditya Pinapala
Browse files

disp: msm: dsi: adding prefix for logs



Adding debug, info and error prefix for log messages
in dsi files. To enable debug logs
run "echo 0x1 > /sys/module/drm/parameters/debug"

Change-Id: I438ac16954bd1d39450f8adeb7fb17f9ea6f8140
Signed-off-by: default avatarSatya Rama Aditya Pinapala <psraditya30@codeaurora.org>
parent 35882843
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -3,7 +3,6 @@
 * Copyright (c) 2015-2019, The Linux Foundation. All rights reserved.
 */

#define pr_fmt(fmt) "msm-dsi-catalog:[%s] " fmt, __func__
#include <linux/errno.h>

#include "dsi_catalog.h"
@@ -143,7 +142,7 @@ int dsi_catalog_ctrl_setup(struct dsi_ctrl_hw *ctrl,

	if (version == DSI_CTRL_VERSION_UNKNOWN ||
	    version >= DSI_CTRL_VERSION_MAX) {
		pr_err("Unsupported version: %d\n", version);
		DSI_ERR("Unsupported version: %d\n", version);
		return -ENOTSUPP;
	}

@@ -283,7 +282,7 @@ int dsi_catalog_phy_setup(struct dsi_phy_hw *phy,

	if (version == DSI_PHY_VERSION_UNKNOWN ||
	    version >= DSI_PHY_VERSION_MAX) {
		pr_err("Unsupported version: %d\n", version);
		DSI_ERR("Unsupported version: %d\n", version);
		return -ENOTSUPP;
	}

+117 −115
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@
#include <linux/msm-bus.h>
#include <linux/pm_runtime.h>
#include "dsi_clk.h"
#include "dsi_defs.h"

struct dsi_core_clks {
	struct dsi_core_clk_info clks;
@@ -86,14 +87,14 @@ int dsi_clk_set_link_frequencies(void *client, struct link_clk_freq freq,
	struct dsi_clk_mngr *mngr;

	if (!client) {
		pr_err("invalid params\n");
		DSI_ERR("invalid params\n");
		return -EINVAL;
	}

	mngr = c->mngr;
	rc = _get_clk_mngr_index(mngr, index, &clk_mngr_index);
	if (rc) {
		pr_err("failed to map control index %d\n", index);
		DSI_ERR("failed to map control index %d\n", index);
		return -EINVAL;
	}

@@ -120,7 +121,7 @@ int dsi_clk_set_pixel_clk_rate(void *client, u64 pixel_clk, u32 index)
	mngr = c->mngr;
	rc = clk_set_rate(mngr->link_clks[index].hs_clks.pixel_clk, pixel_clk);
	if (rc)
		pr_err("failed to set clk rate for pixel clk, rc=%d\n", rc);
		DSI_ERR("failed to set clk rate for pixel clk, rc=%d\n", rc);
	else
		mngr->link_clks[index].freq.pix_clk_rate = pixel_clk;

@@ -144,7 +145,7 @@ int dsi_clk_set_byte_clk_rate(void *client, u64 byte_clk, u32 index)
	mngr = c->mngr;
	rc = clk_set_rate(mngr->link_clks[index].hs_clks.byte_clk, byte_clk);
	if (rc)
		pr_err("failed to set clk rate for byte clk, rc=%d\n", rc);
		DSI_ERR("failed to set clk rate for byte clk, rc=%d\n", rc);
	else
		mngr->link_clks[index].freq.byte_clk_rate = byte_clk;

@@ -153,7 +154,7 @@ int dsi_clk_set_byte_clk_rate(void *client, u64 byte_clk, u32 index)
		rc = clk_set_rate(mngr->link_clks[index].hs_clks.byte_intf_clk,
				  byte_intf_rate);
		if (rc)
			pr_err("failed to set clk rate for byte intf clk=%d\n",
			DSI_ERR("failed to set clk rate for byte intf clk=%d\n",
			       rc);
	}

@@ -172,13 +173,13 @@ int dsi_clk_update_parent(struct dsi_clk_link_set *parent,

	rc = clk_set_parent(child->byte_clk, parent->byte_clk);
	if (rc) {
		pr_err("failed to set byte clk parent\n");
		DSI_ERR("failed to set byte clk parent\n");
		goto error;
	}

	rc = clk_set_parent(child->pixel_clk, parent->pixel_clk);
	if (rc) {
		pr_err("failed to set pixel clk parent\n");
		DSI_ERR("failed to set pixel clk parent\n");
		goto error;
	}
error:
@@ -197,13 +198,13 @@ int dsi_clk_prepare_enable(struct dsi_clk_link_set *clk)

	rc = clk_prepare_enable(clk->byte_clk);
	if (rc) {
		pr_err("failed to enable byte src clk %d\n", rc);
		DSI_ERR("failed to enable byte src clk %d\n", rc);
		return rc;
	}

	rc = clk_prepare_enable(clk->pixel_clk);
	if (rc) {
		pr_err("failed to enable pixel src clk %d\n", rc);
		DSI_ERR("failed to enable pixel src clk %d\n", rc);
		return rc;
	}

@@ -227,7 +228,7 @@ int dsi_core_clk_start(struct dsi_core_clks *c_clks)
	if (c_clks->clks.mdp_core_clk) {
		rc = clk_prepare_enable(c_clks->clks.mdp_core_clk);
		if (rc) {
			pr_err("failed to enable mdp_core_clk, rc=%d\n", rc);
			DSI_ERR("failed to enable mdp_core_clk, rc=%d\n", rc);
			goto error;
		}
	}
@@ -235,7 +236,7 @@ int dsi_core_clk_start(struct dsi_core_clks *c_clks)
	if (c_clks->clks.mnoc_clk) {
		rc = clk_prepare_enable(c_clks->clks.mnoc_clk);
		if (rc) {
			pr_err("failed to enable mnoc_clk, rc=%d\n", rc);
			DSI_ERR("failed to enable mnoc_clk, rc=%d\n", rc);
			goto error_disable_core_clk;
		}
	}
@@ -243,7 +244,7 @@ int dsi_core_clk_start(struct dsi_core_clks *c_clks)
	if (c_clks->clks.iface_clk) {
		rc = clk_prepare_enable(c_clks->clks.iface_clk);
		if (rc) {
			pr_err("failed to enable iface_clk, rc=%d\n", rc);
			DSI_ERR("failed to enable iface_clk, rc=%d\n", rc);
			goto error_disable_mnoc_clk;
		}
	}
@@ -251,7 +252,7 @@ int dsi_core_clk_start(struct dsi_core_clks *c_clks)
	if (c_clks->clks.bus_clk) {
		rc = clk_prepare_enable(c_clks->clks.bus_clk);
		if (rc) {
			pr_err("failed to enable bus_clk, rc=%d\n", rc);
			DSI_ERR("failed to enable bus_clk, rc=%d\n", rc);
			goto error_disable_iface_clk;
		}
	}
@@ -259,7 +260,7 @@ int dsi_core_clk_start(struct dsi_core_clks *c_clks)
	if (c_clks->clks.core_mmss_clk) {
		rc = clk_prepare_enable(c_clks->clks.core_mmss_clk);
		if (rc) {
			pr_err("failed to enable core_mmss_clk, rc=%d\n", rc);
			DSI_ERR("failed to enable core_mmss_clk, rc=%d\n", rc);
			goto error_disable_bus_clk;
		}
	}
@@ -267,7 +268,7 @@ int dsi_core_clk_start(struct dsi_core_clks *c_clks)
	if (c_clks->bus_handle) {
		rc = msm_bus_scale_client_update_request(c_clks->bus_handle, 1);
		if (rc) {
			pr_err("bus scale client enable failed, rc=%d\n", rc);
			DSI_ERR("bus scale client enable failed, rc=%d\n", rc);
			goto error_disable_mmss_clk;
		}
	}
@@ -300,7 +301,7 @@ int dsi_core_clk_stop(struct dsi_core_clks *c_clks)
	if (c_clks->bus_handle) {
		rc = msm_bus_scale_client_update_request(c_clks->bus_handle, 0);
		if (rc) {
			pr_err("bus scale client disable failed, rc=%d\n", rc);
			DSI_ERR("bus scale client disable failed, rc=%d\n", rc);
			return rc;
		}
	}
@@ -331,7 +332,7 @@ static int dsi_link_hs_clk_set_rate(struct dsi_link_hs_clk_info *link_hs_clks,
	struct dsi_link_clks *l_clks;

	if (index >= MAX_DSI_CTRL) {
		pr_err("Invalid DSI ctrl index\n");
		DSI_ERR("Invalid DSI ctrl index\n");
		return -EINVAL;
	}

@@ -350,14 +351,14 @@ static int dsi_link_hs_clk_set_rate(struct dsi_link_hs_clk_info *link_hs_clks,
	rc = clk_set_rate(link_hs_clks->byte_clk,
		l_clks->freq.byte_clk_rate);
	if (rc) {
		pr_err("clk_set_rate failed for byte_clk rc = %d\n", rc);
		DSI_ERR("clk_set_rate failed for byte_clk rc = %d\n", rc);
		goto error;
	}

	rc = clk_set_rate(link_hs_clks->pixel_clk,
		l_clks->freq.pix_clk_rate);
	if (rc) {
		pr_err("clk_set_rate failed for pixel_clk rc = %d\n", rc);
		DSI_ERR("clk_set_rate failed for pixel_clk rc = %d\n", rc);
		goto error;
	}

@@ -370,7 +371,7 @@ static int dsi_link_hs_clk_set_rate(struct dsi_link_hs_clk_info *link_hs_clks,
		rc = clk_set_rate(link_hs_clks->byte_intf_clk,
			(l_clks->freq.byte_clk_rate / 2));
		if (rc) {
			pr_err("set_rate failed for byte_intf_clk rc = %d\n",
			DSI_ERR("set_rate failed for byte_intf_clk rc = %d\n",
				rc);
			goto error;
		}
@@ -385,20 +386,20 @@ static int dsi_link_hs_clk_prepare(struct dsi_link_hs_clk_info *link_hs_clks)

	rc = clk_prepare(link_hs_clks->byte_clk);
	if (rc) {
		pr_err("Failed to prepare dsi byte clk, rc=%d\n", rc);
		DSI_ERR("Failed to prepare dsi byte clk, rc=%d\n", rc);
		goto byte_clk_err;
	}

	rc = clk_prepare(link_hs_clks->pixel_clk);
	if (rc) {
		pr_err("Failed to prepare dsi pixel clk, rc=%d\n", rc);
		DSI_ERR("Failed to prepare dsi pixel clk, rc=%d\n", rc);
		goto pixel_clk_err;
	}

	if (link_hs_clks->byte_intf_clk) {
		rc = clk_prepare(link_hs_clks->byte_intf_clk);
		if (rc) {
			pr_err("Failed to prepare dsi byte intf clk, rc=%d\n",
			DSI_ERR("Failed to prepare dsi byte intf clk, rc=%d\n",
				rc);
			goto byte_intf_clk_err;
		}
@@ -428,20 +429,20 @@ static int dsi_link_hs_clk_enable(struct dsi_link_hs_clk_info *link_hs_clks)

	rc = clk_enable(link_hs_clks->byte_clk);
	if (rc) {
		pr_err("Failed to enable dsi byte clk, rc=%d\n", rc);
		DSI_ERR("Failed to enable dsi byte clk, rc=%d\n", rc);
		goto byte_clk_err;
	}

	rc = clk_enable(link_hs_clks->pixel_clk);
	if (rc) {
		pr_err("Failed to enable dsi pixel clk, rc=%d\n", rc);
		DSI_ERR("Failed to enable dsi pixel clk, rc=%d\n", rc);
		goto pixel_clk_err;
	}

	if (link_hs_clks->byte_intf_clk) {
		rc = clk_enable(link_hs_clks->byte_intf_clk);
		if (rc) {
			pr_err("Failed to enable dsi byte intf clk, rc=%d\n",
			DSI_ERR("Failed to enable dsi byte intf clk, rc=%d\n",
				rc);
			goto byte_intf_clk_err;
		}
@@ -474,14 +475,14 @@ static int dsi_link_hs_clk_start(struct dsi_link_hs_clk_info *link_hs_clks,
	int rc = 0;

	if (index >= MAX_DSI_CTRL) {
		pr_err("Invalid DSI ctrl index\n");
		DSI_ERR("Invalid DSI ctrl index\n");
		return -EINVAL;
	}

	if (op_type & DSI_LINK_CLK_SET_RATE) {
		rc = dsi_link_hs_clk_set_rate(link_hs_clks, index);
		if (rc) {
			pr_err("failed to set HS clk rates, rc = %d\n", rc);
			DSI_ERR("failed to set HS clk rates, rc = %d\n", rc);
			goto error;
		}
	}
@@ -489,7 +490,8 @@ static int dsi_link_hs_clk_start(struct dsi_link_hs_clk_info *link_hs_clks,
	if (op_type & DSI_LINK_CLK_PREPARE) {
		rc = dsi_link_hs_clk_prepare(link_hs_clks);
		if (rc) {
			pr_err("failed to prepare link HS clks, rc = %d\n", rc);
			DSI_ERR("failed to prepare link HS clks, rc = %d\n",
					rc);
			goto error;
		}
	}
@@ -497,12 +499,12 @@ static int dsi_link_hs_clk_start(struct dsi_link_hs_clk_info *link_hs_clks,
	if (op_type & DSI_LINK_CLK_ENABLE) {
		rc = dsi_link_hs_clk_enable(link_hs_clks);
		if (rc) {
			pr_err("failed to enable link HS clks, rc = %d\n", rc);
			DSI_ERR("failed to enable link HS clks, rc = %d\n", rc);
			goto error_unprepare;
		}
	}

	pr_debug("HS Link clocks are enabled\n");
	DSI_DEBUG("HS Link clocks are enabled\n");
	return rc;
error_unprepare:
	dsi_link_hs_clk_unprepare(link_hs_clks);
@@ -522,7 +524,7 @@ static int dsi_link_hs_clk_stop(struct dsi_link_hs_clk_info *link_hs_clks)
	dsi_link_hs_clk_disable(link_hs_clks);
	dsi_link_hs_clk_unprepare(link_hs_clks);

	pr_debug("HS Link clocks disabled\n");
	DSI_DEBUG("HS Link clocks disabled\n");

	return 0;
}
@@ -535,7 +537,7 @@ static int dsi_link_lp_clk_start(struct dsi_link_lp_clk_info *link_lp_clks,
	struct dsi_link_clks *l_clks;

	if (index >= MAX_DSI_CTRL) {
		pr_err("Invalid DSI ctrl index\n");
		DSI_ERR("Invalid DSI ctrl index\n");
		return -EINVAL;
	}

@@ -558,18 +560,18 @@ static int dsi_link_lp_clk_start(struct dsi_link_lp_clk_info *link_lp_clks,

	rc = clk_set_rate(link_lp_clks->esc_clk, l_clks->freq.esc_clk_rate);
	if (rc) {
		pr_err("clk_set_rate failed for esc_clk rc = %d\n", rc);
		DSI_ERR("clk_set_rate failed for esc_clk rc = %d\n", rc);
		goto error;
	}

prepare:
	rc = clk_prepare_enable(link_lp_clks->esc_clk);
	if (rc) {
		pr_err("Failed to enable dsi esc clk\n");
		DSI_ERR("Failed to enable dsi esc clk\n");
		clk_unprepare(l_clks->lp_clks.esc_clk);
	}
error:
	pr_debug("LP Link clocks are enabled\n");
	DSI_DEBUG("LP Link clocks are enabled\n");
	return rc;
}

@@ -582,7 +584,7 @@ static int dsi_link_lp_clk_stop(

	clk_disable_unprepare(l_clks->lp_clks.esc_clk);

	pr_debug("LP Link clocks are disabled\n");
	DSI_DEBUG("LP Link clocks are disabled\n");
	return 0;
}

@@ -603,13 +605,13 @@ static int dsi_display_core_clk_enable(struct dsi_core_clks *clks,

	rc = pm_runtime_get_sync(m_clks->clks.drm->dev);
	if (rc < 0) {
		pr_err("Power resource enable failed, rc=%d\n", rc);
		DSI_ERR("Power resource enable failed, rc=%d\n", rc);
		goto error;
	}

	rc = dsi_core_clk_start(m_clks);
	if (rc) {
		pr_err("failed to turn on master clocks, rc=%d\n", rc);
		DSI_ERR("failed to turn on master clocks, rc=%d\n", rc);
		goto error_disable_master_resource;
	}

@@ -621,13 +623,13 @@ static int dsi_display_core_clk_enable(struct dsi_core_clks *clks,

		rc = pm_runtime_get_sync(m_clks->clks.drm->dev);
		if (rc < 0) {
			pr_err("Power resource enable failed, rc=%d\n", rc);
			DSI_ERR("Power resource enable failed, rc=%d\n", rc);
			goto error_disable_master;
		}

		rc = dsi_core_clk_start(clk);
		if (rc) {
			pr_err("failed to turn on clocks, rc=%d\n", rc);
			DSI_ERR("failed to turn on clocks, rc=%d\n", rc);
			pm_runtime_put_sync(m_clks->clks.drm->dev);
			goto error_disable_master;
		}
@@ -660,7 +662,7 @@ static int dsi_display_link_clk_enable(struct dsi_link_clks *clks,
	if (l_type & DSI_LINK_LP_CLK) {
		rc = dsi_link_lp_clk_start(&m_clks->lp_clks, master_ndx);
		if (rc) {
			pr_err("failed to turn on master lp link clocks, rc=%d\n",
			DSI_ERR("failed to turn on master lp link clocks, rc=%d\n",
					rc);
			goto error;
		}
@@ -670,7 +672,7 @@ static int dsi_display_link_clk_enable(struct dsi_link_clks *clks,
		rc = dsi_link_hs_clk_start(&m_clks->hs_clks,
			DSI_LINK_CLK_START, master_ndx);
		if (rc) {
			pr_err("failed to turn on master hs link clocks, rc=%d\n",
			DSI_ERR("failed to turn on master hs link clocks, rc=%d\n",
					rc);
			goto error;
		}
@@ -684,7 +686,7 @@ static int dsi_display_link_clk_enable(struct dsi_link_clks *clks,
		if (l_type & DSI_LINK_LP_CLK) {
			rc = dsi_link_lp_clk_start(&clk->lp_clks, i);
			if (rc) {
				pr_err("failed to turn on lp link clocks, rc=%d\n",
				DSI_ERR("failed to turn on lp link clocks, rc=%d\n",
						rc);
				goto error_disable_master;
			}
@@ -694,7 +696,7 @@ static int dsi_display_link_clk_enable(struct dsi_link_clks *clks,
			rc = dsi_link_hs_clk_start(&clk->hs_clks,
				DSI_LINK_CLK_START, i);
			if (rc) {
				pr_err("failed to turn on hs link clocks, rc=%d\n",
				DSI_ERR("failed to turn on hs link clocks, rc=%d\n",
					rc);
				goto error_disable_master;
			}
@@ -735,7 +737,7 @@ static int dsi_display_core_clk_disable(struct dsi_core_clks *clks,

		rc = dsi_core_clk_stop(clk);
		if (rc) {
			pr_debug("failed to turn off clocks, rc=%d\n", rc);
			DSI_DEBUG("failed to turn off clocks, rc=%d\n", rc);
			goto error;
		}

@@ -744,7 +746,7 @@ static int dsi_display_core_clk_disable(struct dsi_core_clks *clks,

	rc = dsi_core_clk_stop(m_clks);
	if (rc) {
		pr_err("failed to turn off master clocks, rc=%d\n", rc);
		DSI_ERR("failed to turn off master clocks, rc=%d\n", rc);
		goto error;
	}

@@ -778,14 +780,14 @@ static int dsi_display_link_clk_disable(struct dsi_link_clks *clks,
		if (l_type & DSI_LINK_LP_CLK) {
			rc = dsi_link_lp_clk_stop(&clk->lp_clks);
			if (rc)
				pr_err("failed to turn off lp link clocks, rc=%d\n",
				DSI_ERR("failed to turn off lp link clocks, rc=%d\n",
						rc);
		}

		if (l_type & DSI_LINK_HS_CLK) {
			rc = dsi_link_hs_clk_stop(&clk->hs_clks);
			if (rc)
				pr_err("failed to turn off hs link clocks, rc=%d\n",
				DSI_ERR("failed to turn off hs link clocks, rc=%d\n",
						rc);
		}
	}
@@ -793,14 +795,14 @@ static int dsi_display_link_clk_disable(struct dsi_link_clks *clks,
	if (l_type & DSI_LINK_LP_CLK) {
		rc = dsi_link_lp_clk_stop(&m_clks->lp_clks);
		if (rc)
			pr_err("failed to turn off master lp link clocks, rc=%d\n",
			DSI_ERR("failed to turn off master lp link clocks, rc=%d\n",
					rc);
	}

	if (l_type & DSI_LINK_HS_CLK) {
		rc = dsi_link_hs_clk_stop(&m_clks->hs_clks);
		if (rc)
			pr_err("failed to turn off master hs link clocks, rc=%d\n",
			DSI_ERR("failed to turn off master hs link clocks, rc=%d\n",
					rc);
	}

@@ -821,7 +823,7 @@ static int dsi_clk_update_link_clk_state(struct dsi_clk_mngr *mngr,
			rc = mngr->pre_clkon_cb(mngr->priv_data, DSI_LINK_CLK,
				l_type, l_state);
			if (rc) {
				pr_err("pre link clk on cb failed for type %d\n",
				DSI_ERR("pre link clk on cb failed for type %d\n",
						l_type);
				goto error;
			}
@@ -829,7 +831,7 @@ static int dsi_clk_update_link_clk_state(struct dsi_clk_mngr *mngr,
		rc = dsi_display_link_clk_enable(l_clks, l_type,
				mngr->dsi_ctrl_count, mngr->master_ndx);
		if (rc) {
			pr_err("failed to start link clk type %d rc=%d\n",
			DSI_ERR("failed to start link clk type %d rc=%d\n",
					l_type, rc);
			goto error;
		}
@@ -838,7 +840,7 @@ static int dsi_clk_update_link_clk_state(struct dsi_clk_mngr *mngr,
			rc = mngr->post_clkon_cb(mngr->priv_data, DSI_LINK_CLK,
				l_type, l_state);
			if (rc) {
				pr_err("post link clk on cb failed for type %d\n",
				DSI_ERR("post link clk on cb failed for type %d\n",
						l_type);
				goto error;
			}
@@ -848,13 +850,13 @@ static int dsi_clk_update_link_clk_state(struct dsi_clk_mngr *mngr,
			rc = mngr->pre_clkoff_cb(mngr->priv_data,
				DSI_LINK_CLK, l_type, l_state);
			if (rc)
				pr_err("pre link clk off cb failed\n");
				DSI_ERR("pre link clk off cb failed\n");
		}

		rc = dsi_display_link_clk_disable(l_clks, l_type,
			mngr->dsi_ctrl_count, mngr->master_ndx);
		if (rc) {
			pr_err("failed to stop link clk type %d, rc = %d\n",
			DSI_ERR("failed to stop link clk type %d, rc = %d\n",
					l_type, rc);
			goto error;
		}
@@ -863,7 +865,7 @@ static int dsi_clk_update_link_clk_state(struct dsi_clk_mngr *mngr,
			rc = mngr->post_clkoff_cb(mngr->priv_data,
				DSI_LINK_CLK, l_type, l_state);
			if (rc)
				pr_err("post link clk off cb failed\n");
				DSI_ERR("post link clk off cb failed\n");
		}
	}

@@ -882,14 +884,14 @@ static int dsi_update_core_clks(struct dsi_clk_mngr *mngr,
					DSI_LINK_NONE,
					DSI_CLK_ON);
		if (rc) {
			pr_err("failed to turn on MDP FS rc= %d\n", rc);
			DSI_ERR("failed to turn on MDP FS rc= %d\n", rc);
			goto error;
		}
	}
	rc = dsi_display_core_clk_enable(c_clks, mngr->dsi_ctrl_count,
			mngr->master_ndx);
	if (rc) {
		pr_err("failed to turn on core clks rc = %d\n", rc);
		DSI_ERR("failed to turn on core clks rc = %d\n", rc);
		goto error;
	}

@@ -899,7 +901,7 @@ static int dsi_update_core_clks(struct dsi_clk_mngr *mngr,
					 DSI_LINK_NONE,
					 DSI_CLK_ON);
		if (rc)
			pr_err("post clk on cb failed, rc = %d\n", rc);
			DSI_ERR("post clk on cb failed, rc = %d\n", rc);
	}
	mngr->core_clk_state = DSI_CLK_ON;
error:
@@ -916,7 +918,7 @@ static int dsi_update_clk_state(struct dsi_clk_mngr *mngr,
	if (!mngr)
		return -EINVAL;

	pr_debug("c_state = %d, l_state = %d\n",
	DSI_DEBUG("c_state = %d, l_state = %d\n",
		 c_clks ? c_state : -1, l_clks ? l_state : -1);
	/*
	 * Below is the sequence to toggle DSI clocks:
@@ -965,7 +967,7 @@ static int dsi_update_clk_state(struct dsi_clk_mngr *mngr,
					mngr->core_clks, mngr->dsi_ctrl_count,
					mngr->master_ndx);
				if (rc) {
					pr_err("core clks did not start\n");
					DSI_ERR("core clks did not start\n");
					goto error;
				}

@@ -973,11 +975,11 @@ static int dsi_update_clk_state(struct dsi_clk_mngr *mngr,
					(DSI_LINK_LP_CLK & DSI_LINK_HS_CLK),
					mngr->dsi_ctrl_count, mngr->master_ndx);
				if (rc) {
					pr_err("LP Link clks did not start\n");
					DSI_ERR("LP Link clks did not start\n");
					goto error;
				}
				l_c_on = true;
				pr_debug("ECG: core and Link_on\n");
				DSI_DEBUG("ECG: core and Link_on\n");
			}

			rc = dsi_clk_update_link_clk_state(mngr, l_clks,
@@ -1009,14 +1011,14 @@ static int dsi_update_clk_state(struct dsi_clk_mngr *mngr,
					mngr->core_clks, mngr->dsi_ctrl_count,
					mngr->master_ndx);
				if (rc) {
					pr_err("core clks did not stop\n");
					DSI_ERR("core clks did not stop\n");
					goto error;
				}

				l_c_on = false;
				pr_debug("ECG: core off\n");
				DSI_DEBUG("ECG: core off\n");
			} else
				pr_debug("ECG: core off skip\n");
				DSI_DEBUG("ECG: core off skip\n");
		}

		mngr->link_clk_state = l_state;
@@ -1038,12 +1040,12 @@ static int dsi_update_clk_state(struct dsi_clk_mngr *mngr,
			rc = dsi_display_core_clk_enable(mngr->core_clks,
				mngr->dsi_ctrl_count, mngr->master_ndx);
			if (rc) {
				pr_err("core clks did not start\n");
				DSI_ERR("core clks did not start\n");
				goto error;
			}
			pr_debug("ECG: core on\n");
			DSI_DEBUG("ECG: core on\n");
		} else
			pr_debug("ECG: core on skip\n");
			DSI_DEBUG("ECG: core on skip\n");

		if (mngr->pre_clkoff_cb) {
			rc = mngr->pre_clkoff_cb(mngr->priv_data,
@@ -1051,13 +1053,13 @@ static int dsi_update_clk_state(struct dsi_clk_mngr *mngr,
						 DSI_LINK_NONE,
						 c_state);
			if (rc)
				pr_err("pre core clk off cb failed\n");
				DSI_ERR("pre core clk off cb failed\n");
		}

		rc = dsi_display_core_clk_disable(c_clks, mngr->dsi_ctrl_count,
			mngr->master_ndx);
		if (rc) {
			pr_err("failed to turn off core clks rc = %d\n", rc);
			DSI_ERR("failed to turn off core clks rc = %d\n", rc);
			goto error;
		}

@@ -1068,7 +1070,7 @@ static int dsi_update_clk_state(struct dsi_clk_mngr *mngr,
						DSI_LINK_NONE,
						DSI_CLK_OFF);
				if (rc)
					pr_err("post clkoff cb fail, rc = %d\n",
					DSI_ERR("post clkoff cb fail, rc = %d\n",
					       rc);
			}
		}
@@ -1129,16 +1131,16 @@ static int dsi_recheck_clk_state(struct dsi_clk_mngr *mngr)
	old_c_clk_state = mngr->core_clk_state;
	old_l_clk_state = mngr->link_clk_state;

	pr_debug("c_clk_state (%d -> %d)\n",
		old_c_clk_state, new_core_clk_state);
	pr_debug("l_clk_state (%d -> %d)\n",
		old_l_clk_state, new_link_clk_state);
	DSI_DEBUG("c_clk_state (%d -> %d)\n", old_c_clk_state,
			new_core_clk_state);
	DSI_DEBUG("l_clk_state (%d -> %d)\n", old_l_clk_state,
			new_link_clk_state);

	if (c_clks || l_clks) {
		rc = dsi_update_clk_state(mngr, c_clks, new_core_clk_state,
					  l_clks, new_link_clk_state);
		if (rc) {
			pr_err("failed to update clock state, rc = %d\n", rc);
			DSI_ERR("failed to update clock state, rc = %d\n", rc);
			goto error;
		}
	}
@@ -1157,7 +1159,7 @@ int dsi_clk_req_state(void *client, enum dsi_clk_type clk,

	if (!client || !clk || clk > (DSI_CORE_CLK | DSI_LINK_CLK) ||
	    state > DSI_CLK_EARLY_GATE) {
		pr_err("Invalid params, client = %pK, clk = 0x%x, state = %d\n",
		DSI_ERR("Invalid params, client = %pK, clk = 0x%x, state = %d\n",
		       client, clk, state);
		return -EINVAL;
	}
@@ -1165,7 +1167,7 @@ int dsi_clk_req_state(void *client, enum dsi_clk_type clk,
	mngr = c->mngr;
	mutex_lock(&mngr->clk_mutex);

	pr_debug("[%s]%s: CLK=%d, new_state=%d, core=%d, linkl=%d\n",
	DSI_DEBUG("[%s]%s: CLK=%d, new_state=%d, core=%d, linkl=%d\n",
	       mngr->name, c->name, clk, state, c->core_clk_state,
	       c->link_clk_state);

@@ -1202,7 +1204,7 @@ int dsi_clk_req_state(void *client, enum dsi_clk_type clk,
					changed = true;
					c->core_clk_state = DSI_CLK_OFF;
				} else {
					pr_warn("Core refcount is zero for %s\n",
					DSI_WARN("Core refcount is zero for %s\n",
							c->name);
				}
			} else {
@@ -1221,7 +1223,7 @@ int dsi_clk_req_state(void *client, enum dsi_clk_type clk,
					changed = true;
					c->link_clk_state = DSI_CLK_OFF;
				} else {
					pr_warn("Link refcount is zero for %s\n",
					DSI_WARN("Link refcount is zero for %s\n",
							c->name);
				}
			} else {
@@ -1233,14 +1235,14 @@ int dsi_clk_req_state(void *client, enum dsi_clk_type clk,
			}
		}
	}
	pr_debug("[%s]%s: change=%d, Core (ref=%d, state=%d), Link (ref=%d, state=%d)\n",
	DSI_DEBUG("[%s]%s: change=%d, Core (ref=%d, state=%d), Link (ref=%d, state=%d)\n",
		 mngr->name, c->name, changed, c->core_refcount,
		 c->core_clk_state, c->link_refcount, c->link_clk_state);

	if (changed) {
		rc = dsi_recheck_clk_state(mngr);
		if (rc)
			pr_err("Failed to adjust clock state rc = %d\n", rc);
			DSI_ERR("Failed to adjust clock state rc = %d\n", rc);
	}

	mutex_unlock(&mngr->clk_mutex);
@@ -1293,7 +1295,7 @@ int dsi_display_link_clk_force_update_ctrl(void *handle)
	int rc = 0;

	if (!handle) {
		pr_err("%s: Invalid arg\n", __func__);
		DSI_ERR("Invalid arg\n");
		return -EINVAL;
	}

@@ -1312,14 +1314,14 @@ int dsi_display_clk_ctrl(void *handle,
	int rc = 0;

	if (!handle) {
		pr_err("%s: Invalid arg\n", __func__);
		DSI_ERR("Invalid arg\n");
		return -EINVAL;
	}

	mutex_lock(&dsi_mngr_clk_mutex);
	rc = dsi_clk_req_state(handle, clk_type, clk_state);
	if (rc)
		pr_err("%s: failed set clk state, rc = %d\n", __func__, rc);
		DSI_ERR("failed set clk state, rc = %d\n", rc);
	mutex_unlock(&dsi_mngr_clk_mutex);

	return rc;
@@ -1332,7 +1334,7 @@ void *dsi_register_clk_handle(void *clk_mngr, char *client)
	struct dsi_clk_client_info *c;

	if (!mngr) {
		pr_err("bad params\n");
		DSI_ERR("bad params\n");
		return ERR_PTR(-EINVAL);
	}

@@ -1349,7 +1351,7 @@ void *dsi_register_clk_handle(void *clk_mngr, char *client)

	list_add(&c->list, &mngr->client_list);

	pr_debug("[%s]: Added new client (%s)\n", mngr->name, c->name);
	DSI_DEBUG("[%s]: Added new client (%s)\n", mngr->name, c->name);
	handle = c;
error:
	mutex_unlock(&mngr->clk_mutex);
@@ -1366,19 +1368,19 @@ int dsi_deregister_clk_handle(void *client)
	struct dsi_clk_client_info *node = NULL;

	if (!client) {
		pr_err("Invalid params\n");
		DSI_ERR("Invalid params\n");
		return -EINVAL;
	}

	mngr = c->mngr;
	pr_debug("%s: ENTER\n", mngr->name);
	DSI_DEBUG("%s: ENTER\n", mngr->name);
	mutex_lock(&mngr->clk_mutex);
	c->core_clk_state = DSI_CLK_OFF;
	c->link_clk_state = DSI_CLK_OFF;

	rc = dsi_recheck_clk_state(mngr);
	if (rc) {
		pr_err("clock state recheck failed rc = %d\n", rc);
		DSI_ERR("clock state recheck failed rc = %d\n", rc);
		goto error;
	}

@@ -1387,7 +1389,7 @@ int dsi_deregister_clk_handle(void *client)
			  list);
		if (node == c) {
			list_del(&node->list);
			pr_debug("Removed device (%s)\n", node->name);
			DSI_DEBUG("Removed device (%s)\n", node->name);
			kfree(node);
			break;
		}
@@ -1395,7 +1397,7 @@ int dsi_deregister_clk_handle(void *client)

error:
	mutex_unlock(&mngr->clk_mutex);
	pr_debug("%s: EXIT, rc = %d\n", mngr->name, rc);
	DSI_DEBUG("%s: EXIT, rc = %d\n", mngr->name, rc);
	return rc;
}

@@ -1404,7 +1406,7 @@ void dsi_display_clk_mngr_update_splash_status(void *clk_mgr, bool status)
	struct dsi_clk_mngr *mngr;

	if (!clk_mgr) {
		pr_err("Invalid params\n");
		DSI_ERR("Invalid params\n");
		return;
	}

@@ -1418,7 +1420,7 @@ void *dsi_display_clk_mngr_register(struct dsi_clk_info *info)
	int i = 0;

	if (!info) {
		pr_err("Invalid params\n");
		DSI_ERR("Invalid params\n");
		return ERR_PTR(-EINVAL);
	}

@@ -1457,7 +1459,7 @@ void *dsi_display_clk_mngr_register(struct dsi_clk_info *info)
	memcpy(mngr->name, info->name, MAX_STRING_LEN);

error:
	pr_debug("EXIT, rc = %ld\n", PTR_ERR(mngr));
	DSI_DEBUG("EXIT, rc = %ld\n", PTR_ERR(mngr));
	return mngr;
}

@@ -1470,27 +1472,27 @@ int dsi_display_clk_mngr_deregister(void *clk_mngr)
	struct dsi_clk_client_info *node = NULL;

	if (!mngr) {
		pr_err("Invalid params\n");
		DSI_ERR("Invalid params\n");
		return -EINVAL;
	}

	pr_debug("%s: ENTER\n", mngr->name);
	DSI_DEBUG("%s: ENTER\n", mngr->name);
	mutex_lock(&mngr->clk_mutex);

	list_for_each_safe(position, tmp, &mngr->client_list) {
		node = list_entry(position, struct dsi_clk_client_info,
			  list);
		list_del(&node->list);
		pr_debug("Removed device (%s)\n", node->name);
		DSI_DEBUG("Removed device (%s)\n", node->name);
		kfree(node);
	}

	rc = dsi_recheck_clk_state(mngr);
	if (rc)
		pr_err("failed to disable all clocks\n");
		DSI_ERR("failed to disable all clocks\n");

	mutex_unlock(&mngr->clk_mutex);
	pr_debug("%s: EXIT, rc = %d\n", mngr->name, rc);
	DSI_DEBUG("%s: EXIT, rc = %d\n", mngr->name, rc);
	kfree(mngr);
	return rc;
}
Loading