|
@@ -9,6 +9,7 @@
|
|
#include <linux/msm-bus.h>
|
|
#include <linux/msm-bus.h>
|
|
#include <linux/pm_runtime.h>
|
|
#include <linux/pm_runtime.h>
|
|
#include "dsi_clk.h"
|
|
#include "dsi_clk.h"
|
|
|
|
+#include "dsi_defs.h"
|
|
|
|
|
|
struct dsi_core_clks {
|
|
struct dsi_core_clks {
|
|
struct dsi_core_clk_info 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;
|
|
struct dsi_clk_mngr *mngr;
|
|
|
|
|
|
if (!client) {
|
|
if (!client) {
|
|
- pr_err("invalid params\n");
|
|
|
|
|
|
+ DSI_ERR("invalid params\n");
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
}
|
|
}
|
|
|
|
|
|
mngr = c->mngr;
|
|
mngr = c->mngr;
|
|
rc = _get_clk_mngr_index(mngr, index, &clk_mngr_index);
|
|
rc = _get_clk_mngr_index(mngr, index, &clk_mngr_index);
|
|
if (rc) {
|
|
if (rc) {
|
|
- pr_err("failed to map control index %d\n", index);
|
|
|
|
|
|
+ DSI_ERR("failed to map control index %d\n", index);
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -120,7 +121,7 @@ int dsi_clk_set_pixel_clk_rate(void *client, u64 pixel_clk, u32 index)
|
|
mngr = c->mngr;
|
|
mngr = c->mngr;
|
|
rc = clk_set_rate(mngr->link_clks[index].hs_clks.pixel_clk, pixel_clk);
|
|
rc = clk_set_rate(mngr->link_clks[index].hs_clks.pixel_clk, pixel_clk);
|
|
if (rc)
|
|
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
|
|
else
|
|
mngr->link_clks[index].freq.pix_clk_rate = pixel_clk;
|
|
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;
|
|
mngr = c->mngr;
|
|
rc = clk_set_rate(mngr->link_clks[index].hs_clks.byte_clk, byte_clk);
|
|
rc = clk_set_rate(mngr->link_clks[index].hs_clks.byte_clk, byte_clk);
|
|
if (rc)
|
|
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
|
|
else
|
|
mngr->link_clks[index].freq.byte_clk_rate = byte_clk;
|
|
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,
|
|
rc = clk_set_rate(mngr->link_clks[index].hs_clks.byte_intf_clk,
|
|
byte_intf_rate);
|
|
byte_intf_rate);
|
|
if (rc)
|
|
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);
|
|
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);
|
|
rc = clk_set_parent(child->byte_clk, parent->byte_clk);
|
|
if (rc) {
|
|
if (rc) {
|
|
- pr_err("failed to set byte clk parent\n");
|
|
|
|
|
|
+ DSI_ERR("failed to set byte clk parent\n");
|
|
goto error;
|
|
goto error;
|
|
}
|
|
}
|
|
|
|
|
|
rc = clk_set_parent(child->pixel_clk, parent->pixel_clk);
|
|
rc = clk_set_parent(child->pixel_clk, parent->pixel_clk);
|
|
if (rc) {
|
|
if (rc) {
|
|
- pr_err("failed to set pixel clk parent\n");
|
|
|
|
|
|
+ DSI_ERR("failed to set pixel clk parent\n");
|
|
goto error;
|
|
goto error;
|
|
}
|
|
}
|
|
error:
|
|
error:
|
|
@@ -197,13 +198,13 @@ int dsi_clk_prepare_enable(struct dsi_clk_link_set *clk)
|
|
|
|
|
|
rc = clk_prepare_enable(clk->byte_clk);
|
|
rc = clk_prepare_enable(clk->byte_clk);
|
|
if (rc) {
|
|
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;
|
|
return rc;
|
|
}
|
|
}
|
|
|
|
|
|
rc = clk_prepare_enable(clk->pixel_clk);
|
|
rc = clk_prepare_enable(clk->pixel_clk);
|
|
if (rc) {
|
|
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;
|
|
return rc;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -227,7 +228,7 @@ int dsi_core_clk_start(struct dsi_core_clks *c_clks)
|
|
if (c_clks->clks.mdp_core_clk) {
|
|
if (c_clks->clks.mdp_core_clk) {
|
|
rc = clk_prepare_enable(c_clks->clks.mdp_core_clk);
|
|
rc = clk_prepare_enable(c_clks->clks.mdp_core_clk);
|
|
if (rc) {
|
|
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;
|
|
goto error;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -235,7 +236,7 @@ int dsi_core_clk_start(struct dsi_core_clks *c_clks)
|
|
if (c_clks->clks.mnoc_clk) {
|
|
if (c_clks->clks.mnoc_clk) {
|
|
rc = clk_prepare_enable(c_clks->clks.mnoc_clk);
|
|
rc = clk_prepare_enable(c_clks->clks.mnoc_clk);
|
|
if (rc) {
|
|
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;
|
|
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) {
|
|
if (c_clks->clks.iface_clk) {
|
|
rc = clk_prepare_enable(c_clks->clks.iface_clk);
|
|
rc = clk_prepare_enable(c_clks->clks.iface_clk);
|
|
if (rc) {
|
|
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;
|
|
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) {
|
|
if (c_clks->clks.bus_clk) {
|
|
rc = clk_prepare_enable(c_clks->clks.bus_clk);
|
|
rc = clk_prepare_enable(c_clks->clks.bus_clk);
|
|
if (rc) {
|
|
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;
|
|
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) {
|
|
if (c_clks->clks.core_mmss_clk) {
|
|
rc = clk_prepare_enable(c_clks->clks.core_mmss_clk);
|
|
rc = clk_prepare_enable(c_clks->clks.core_mmss_clk);
|
|
if (rc) {
|
|
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;
|
|
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) {
|
|
if (c_clks->bus_handle) {
|
|
rc = msm_bus_scale_client_update_request(c_clks->bus_handle, 1);
|
|
rc = msm_bus_scale_client_update_request(c_clks->bus_handle, 1);
|
|
if (rc) {
|
|
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;
|
|
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) {
|
|
if (c_clks->bus_handle) {
|
|
rc = msm_bus_scale_client_update_request(c_clks->bus_handle, 0);
|
|
rc = msm_bus_scale_client_update_request(c_clks->bus_handle, 0);
|
|
if (rc) {
|
|
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;
|
|
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;
|
|
struct dsi_link_clks *l_clks;
|
|
|
|
|
|
if (index >= MAX_DSI_CTRL) {
|
|
if (index >= MAX_DSI_CTRL) {
|
|
- pr_err("Invalid DSI ctrl index\n");
|
|
|
|
|
|
+ DSI_ERR("Invalid DSI ctrl index\n");
|
|
return -EINVAL;
|
|
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,
|
|
rc = clk_set_rate(link_hs_clks->byte_clk,
|
|
l_clks->freq.byte_clk_rate);
|
|
l_clks->freq.byte_clk_rate);
|
|
if (rc) {
|
|
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;
|
|
goto error;
|
|
}
|
|
}
|
|
|
|
|
|
rc = clk_set_rate(link_hs_clks->pixel_clk,
|
|
rc = clk_set_rate(link_hs_clks->pixel_clk,
|
|
l_clks->freq.pix_clk_rate);
|
|
l_clks->freq.pix_clk_rate);
|
|
if (rc) {
|
|
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;
|
|
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,
|
|
rc = clk_set_rate(link_hs_clks->byte_intf_clk,
|
|
(l_clks->freq.byte_clk_rate / 2));
|
|
(l_clks->freq.byte_clk_rate / 2));
|
|
if (rc) {
|
|
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);
|
|
rc);
|
|
goto error;
|
|
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);
|
|
rc = clk_prepare(link_hs_clks->byte_clk);
|
|
if (rc) {
|
|
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;
|
|
goto byte_clk_err;
|
|
}
|
|
}
|
|
|
|
|
|
rc = clk_prepare(link_hs_clks->pixel_clk);
|
|
rc = clk_prepare(link_hs_clks->pixel_clk);
|
|
if (rc) {
|
|
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;
|
|
goto pixel_clk_err;
|
|
}
|
|
}
|
|
|
|
|
|
if (link_hs_clks->byte_intf_clk) {
|
|
if (link_hs_clks->byte_intf_clk) {
|
|
rc = clk_prepare(link_hs_clks->byte_intf_clk);
|
|
rc = clk_prepare(link_hs_clks->byte_intf_clk);
|
|
if (rc) {
|
|
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);
|
|
rc);
|
|
goto byte_intf_clk_err;
|
|
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);
|
|
rc = clk_enable(link_hs_clks->byte_clk);
|
|
if (rc) {
|
|
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;
|
|
goto byte_clk_err;
|
|
}
|
|
}
|
|
|
|
|
|
rc = clk_enable(link_hs_clks->pixel_clk);
|
|
rc = clk_enable(link_hs_clks->pixel_clk);
|
|
if (rc) {
|
|
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;
|
|
goto pixel_clk_err;
|
|
}
|
|
}
|
|
|
|
|
|
if (link_hs_clks->byte_intf_clk) {
|
|
if (link_hs_clks->byte_intf_clk) {
|
|
rc = clk_enable(link_hs_clks->byte_intf_clk);
|
|
rc = clk_enable(link_hs_clks->byte_intf_clk);
|
|
if (rc) {
|
|
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);
|
|
rc);
|
|
goto byte_intf_clk_err;
|
|
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;
|
|
int rc = 0;
|
|
|
|
|
|
if (index >= MAX_DSI_CTRL) {
|
|
if (index >= MAX_DSI_CTRL) {
|
|
- pr_err("Invalid DSI ctrl index\n");
|
|
|
|
|
|
+ DSI_ERR("Invalid DSI ctrl index\n");
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
}
|
|
}
|
|
|
|
|
|
if (op_type & DSI_LINK_CLK_SET_RATE) {
|
|
if (op_type & DSI_LINK_CLK_SET_RATE) {
|
|
rc = dsi_link_hs_clk_set_rate(link_hs_clks, index);
|
|
rc = dsi_link_hs_clk_set_rate(link_hs_clks, index);
|
|
if (rc) {
|
|
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;
|
|
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) {
|
|
if (op_type & DSI_LINK_CLK_PREPARE) {
|
|
rc = dsi_link_hs_clk_prepare(link_hs_clks);
|
|
rc = dsi_link_hs_clk_prepare(link_hs_clks);
|
|
if (rc) {
|
|
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;
|
|
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) {
|
|
if (op_type & DSI_LINK_CLK_ENABLE) {
|
|
rc = dsi_link_hs_clk_enable(link_hs_clks);
|
|
rc = dsi_link_hs_clk_enable(link_hs_clks);
|
|
if (rc) {
|
|
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;
|
|
goto error_unprepare;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- pr_debug("HS Link clocks are enabled\n");
|
|
|
|
|
|
+ DSI_DEBUG("HS Link clocks are enabled\n");
|
|
return rc;
|
|
return rc;
|
|
error_unprepare:
|
|
error_unprepare:
|
|
dsi_link_hs_clk_unprepare(link_hs_clks);
|
|
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_disable(link_hs_clks);
|
|
dsi_link_hs_clk_unprepare(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;
|
|
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;
|
|
struct dsi_link_clks *l_clks;
|
|
|
|
|
|
if (index >= MAX_DSI_CTRL) {
|
|
if (index >= MAX_DSI_CTRL) {
|
|
- pr_err("Invalid DSI ctrl index\n");
|
|
|
|
|
|
+ DSI_ERR("Invalid DSI ctrl index\n");
|
|
return -EINVAL;
|
|
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);
|
|
rc = clk_set_rate(link_lp_clks->esc_clk, l_clks->freq.esc_clk_rate);
|
|
if (rc) {
|
|
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;
|
|
goto error;
|
|
}
|
|
}
|
|
|
|
|
|
prepare:
|
|
prepare:
|
|
rc = clk_prepare_enable(link_lp_clks->esc_clk);
|
|
rc = clk_prepare_enable(link_lp_clks->esc_clk);
|
|
if (rc) {
|
|
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);
|
|
clk_unprepare(l_clks->lp_clks.esc_clk);
|
|
}
|
|
}
|
|
error:
|
|
error:
|
|
- pr_debug("LP Link clocks are enabled\n");
|
|
|
|
|
|
+ DSI_DEBUG("LP Link clocks are enabled\n");
|
|
return rc;
|
|
return rc;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -582,7 +584,7 @@ static int dsi_link_lp_clk_stop(
|
|
|
|
|
|
clk_disable_unprepare(l_clks->lp_clks.esc_clk);
|
|
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;
|
|
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);
|
|
rc = pm_runtime_get_sync(m_clks->clks.drm->dev);
|
|
if (rc < 0) {
|
|
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;
|
|
goto error;
|
|
}
|
|
}
|
|
|
|
|
|
rc = dsi_core_clk_start(m_clks);
|
|
rc = dsi_core_clk_start(m_clks);
|
|
if (rc) {
|
|
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;
|
|
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);
|
|
rc = pm_runtime_get_sync(m_clks->clks.drm->dev);
|
|
if (rc < 0) {
|
|
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;
|
|
goto error_disable_master;
|
|
}
|
|
}
|
|
|
|
|
|
rc = dsi_core_clk_start(clk);
|
|
rc = dsi_core_clk_start(clk);
|
|
if (rc) {
|
|
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);
|
|
pm_runtime_put_sync(m_clks->clks.drm->dev);
|
|
goto error_disable_master;
|
|
goto error_disable_master;
|
|
}
|
|
}
|
|
@@ -660,8 +662,8 @@ static int dsi_display_link_clk_enable(struct dsi_link_clks *clks,
|
|
if (l_type & DSI_LINK_LP_CLK) {
|
|
if (l_type & DSI_LINK_LP_CLK) {
|
|
rc = dsi_link_lp_clk_start(&m_clks->lp_clks, master_ndx);
|
|
rc = dsi_link_lp_clk_start(&m_clks->lp_clks, master_ndx);
|
|
if (rc) {
|
|
if (rc) {
|
|
- pr_err("failed to turn on master lp link clocks, rc=%d\n",
|
|
|
|
- rc);
|
|
|
|
|
|
+ DSI_ERR("failed to turn on master lp link clocks, rc=%d\n",
|
|
|
|
+ rc);
|
|
goto error;
|
|
goto error;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -670,8 +672,8 @@ static int dsi_display_link_clk_enable(struct dsi_link_clks *clks,
|
|
rc = dsi_link_hs_clk_start(&m_clks->hs_clks,
|
|
rc = dsi_link_hs_clk_start(&m_clks->hs_clks,
|
|
DSI_LINK_CLK_START, master_ndx);
|
|
DSI_LINK_CLK_START, master_ndx);
|
|
if (rc) {
|
|
if (rc) {
|
|
- pr_err("failed to turn on master hs link clocks, rc=%d\n",
|
|
|
|
- rc);
|
|
|
|
|
|
+ DSI_ERR("failed to turn on master hs link clocks, rc=%d\n",
|
|
|
|
+ rc);
|
|
goto error;
|
|
goto error;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -684,8 +686,8 @@ static int dsi_display_link_clk_enable(struct dsi_link_clks *clks,
|
|
if (l_type & DSI_LINK_LP_CLK) {
|
|
if (l_type & DSI_LINK_LP_CLK) {
|
|
rc = dsi_link_lp_clk_start(&clk->lp_clks, i);
|
|
rc = dsi_link_lp_clk_start(&clk->lp_clks, i);
|
|
if (rc) {
|
|
if (rc) {
|
|
- pr_err("failed to turn on lp link clocks, rc=%d\n",
|
|
|
|
- rc);
|
|
|
|
|
|
+ DSI_ERR("failed to turn on lp link clocks, rc=%d\n",
|
|
|
|
+ rc);
|
|
goto error_disable_master;
|
|
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,
|
|
rc = dsi_link_hs_clk_start(&clk->hs_clks,
|
|
DSI_LINK_CLK_START, i);
|
|
DSI_LINK_CLK_START, i);
|
|
if (rc) {
|
|
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);
|
|
rc);
|
|
goto error_disable_master;
|
|
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);
|
|
rc = dsi_core_clk_stop(clk);
|
|
if (rc) {
|
|
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;
|
|
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);
|
|
rc = dsi_core_clk_stop(m_clks);
|
|
if (rc) {
|
|
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;
|
|
goto error;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -778,30 +780,30 @@ static int dsi_display_link_clk_disable(struct dsi_link_clks *clks,
|
|
if (l_type & DSI_LINK_LP_CLK) {
|
|
if (l_type & DSI_LINK_LP_CLK) {
|
|
rc = dsi_link_lp_clk_stop(&clk->lp_clks);
|
|
rc = dsi_link_lp_clk_stop(&clk->lp_clks);
|
|
if (rc)
|
|
if (rc)
|
|
- pr_err("failed to turn off lp link clocks, rc=%d\n",
|
|
|
|
- rc);
|
|
|
|
|
|
+ DSI_ERR("failed to turn off lp link clocks, rc=%d\n",
|
|
|
|
+ rc);
|
|
}
|
|
}
|
|
|
|
|
|
if (l_type & DSI_LINK_HS_CLK) {
|
|
if (l_type & DSI_LINK_HS_CLK) {
|
|
rc = dsi_link_hs_clk_stop(&clk->hs_clks);
|
|
rc = dsi_link_hs_clk_stop(&clk->hs_clks);
|
|
if (rc)
|
|
if (rc)
|
|
- pr_err("failed to turn off hs link clocks, rc=%d\n",
|
|
|
|
- rc);
|
|
|
|
|
|
+ DSI_ERR("failed to turn off hs link clocks, rc=%d\n",
|
|
|
|
+ rc);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
if (l_type & DSI_LINK_LP_CLK) {
|
|
if (l_type & DSI_LINK_LP_CLK) {
|
|
rc = dsi_link_lp_clk_stop(&m_clks->lp_clks);
|
|
rc = dsi_link_lp_clk_stop(&m_clks->lp_clks);
|
|
if (rc)
|
|
if (rc)
|
|
- pr_err("failed to turn off master lp link clocks, rc=%d\n",
|
|
|
|
- rc);
|
|
|
|
|
|
+ DSI_ERR("failed to turn off master lp link clocks, rc=%d\n",
|
|
|
|
+ rc);
|
|
}
|
|
}
|
|
|
|
|
|
if (l_type & DSI_LINK_HS_CLK) {
|
|
if (l_type & DSI_LINK_HS_CLK) {
|
|
rc = dsi_link_hs_clk_stop(&m_clks->hs_clks);
|
|
rc = dsi_link_hs_clk_stop(&m_clks->hs_clks);
|
|
if (rc)
|
|
if (rc)
|
|
- pr_err("failed to turn off master hs link clocks, rc=%d\n",
|
|
|
|
- rc);
|
|
|
|
|
|
+ DSI_ERR("failed to turn off master hs link clocks, rc=%d\n",
|
|
|
|
+ rc);
|
|
}
|
|
}
|
|
|
|
|
|
return rc;
|
|
return rc;
|
|
@@ -821,16 +823,16 @@ static int dsi_clk_update_link_clk_state(struct dsi_clk_mngr *mngr,
|
|
rc = mngr->pre_clkon_cb(mngr->priv_data, DSI_LINK_CLK,
|
|
rc = mngr->pre_clkon_cb(mngr->priv_data, DSI_LINK_CLK,
|
|
l_type, l_state);
|
|
l_type, l_state);
|
|
if (rc) {
|
|
if (rc) {
|
|
- pr_err("pre link clk on cb failed for type %d\n",
|
|
|
|
- l_type);
|
|
|
|
|
|
+ DSI_ERR("pre link clk on cb failed for type %d\n",
|
|
|
|
+ l_type);
|
|
goto error;
|
|
goto error;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
rc = dsi_display_link_clk_enable(l_clks, l_type,
|
|
rc = dsi_display_link_clk_enable(l_clks, l_type,
|
|
mngr->dsi_ctrl_count, mngr->master_ndx);
|
|
mngr->dsi_ctrl_count, mngr->master_ndx);
|
|
if (rc) {
|
|
if (rc) {
|
|
- pr_err("failed to start link clk type %d rc=%d\n",
|
|
|
|
- l_type, rc);
|
|
|
|
|
|
+ DSI_ERR("failed to start link clk type %d rc=%d\n",
|
|
|
|
+ l_type, rc);
|
|
goto error;
|
|
goto error;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -838,8 +840,8 @@ static int dsi_clk_update_link_clk_state(struct dsi_clk_mngr *mngr,
|
|
rc = mngr->post_clkon_cb(mngr->priv_data, DSI_LINK_CLK,
|
|
rc = mngr->post_clkon_cb(mngr->priv_data, DSI_LINK_CLK,
|
|
l_type, l_state);
|
|
l_type, l_state);
|
|
if (rc) {
|
|
if (rc) {
|
|
- pr_err("post link clk on cb failed for type %d\n",
|
|
|
|
- l_type);
|
|
|
|
|
|
+ DSI_ERR("post link clk on cb failed for type %d\n",
|
|
|
|
+ l_type);
|
|
goto error;
|
|
goto error;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -848,14 +850,14 @@ static int dsi_clk_update_link_clk_state(struct dsi_clk_mngr *mngr,
|
|
rc = mngr->pre_clkoff_cb(mngr->priv_data,
|
|
rc = mngr->pre_clkoff_cb(mngr->priv_data,
|
|
DSI_LINK_CLK, l_type, l_state);
|
|
DSI_LINK_CLK, l_type, l_state);
|
|
if (rc)
|
|
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,
|
|
rc = dsi_display_link_clk_disable(l_clks, l_type,
|
|
mngr->dsi_ctrl_count, mngr->master_ndx);
|
|
mngr->dsi_ctrl_count, mngr->master_ndx);
|
|
if (rc) {
|
|
if (rc) {
|
|
- pr_err("failed to stop link clk type %d, rc = %d\n",
|
|
|
|
- l_type, rc);
|
|
|
|
|
|
+ DSI_ERR("failed to stop link clk type %d, rc = %d\n",
|
|
|
|
+ l_type, rc);
|
|
goto error;
|
|
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,
|
|
rc = mngr->post_clkoff_cb(mngr->priv_data,
|
|
DSI_LINK_CLK, l_type, l_state);
|
|
DSI_LINK_CLK, l_type, l_state);
|
|
if (rc)
|
|
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_LINK_NONE,
|
|
DSI_CLK_ON);
|
|
DSI_CLK_ON);
|
|
if (rc) {
|
|
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;
|
|
goto error;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
rc = dsi_display_core_clk_enable(c_clks, mngr->dsi_ctrl_count,
|
|
rc = dsi_display_core_clk_enable(c_clks, mngr->dsi_ctrl_count,
|
|
mngr->master_ndx);
|
|
mngr->master_ndx);
|
|
if (rc) {
|
|
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;
|
|
goto error;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -899,7 +901,7 @@ static int dsi_update_core_clks(struct dsi_clk_mngr *mngr,
|
|
DSI_LINK_NONE,
|
|
DSI_LINK_NONE,
|
|
DSI_CLK_ON);
|
|
DSI_CLK_ON);
|
|
if (rc)
|
|
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;
|
|
mngr->core_clk_state = DSI_CLK_ON;
|
|
error:
|
|
error:
|
|
@@ -916,7 +918,7 @@ static int dsi_update_clk_state(struct dsi_clk_mngr *mngr,
|
|
if (!mngr)
|
|
if (!mngr)
|
|
return -EINVAL;
|
|
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);
|
|
c_clks ? c_state : -1, l_clks ? l_state : -1);
|
|
/*
|
|
/*
|
|
* Below is the sequence to toggle DSI clocks:
|
|
* 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->core_clks, mngr->dsi_ctrl_count,
|
|
mngr->master_ndx);
|
|
mngr->master_ndx);
|
|
if (rc) {
|
|
if (rc) {
|
|
- pr_err("core clks did not start\n");
|
|
|
|
|
|
+ DSI_ERR("core clks did not start\n");
|
|
goto error;
|
|
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),
|
|
(DSI_LINK_LP_CLK & DSI_LINK_HS_CLK),
|
|
mngr->dsi_ctrl_count, mngr->master_ndx);
|
|
mngr->dsi_ctrl_count, mngr->master_ndx);
|
|
if (rc) {
|
|
if (rc) {
|
|
- pr_err("LP Link clks did not start\n");
|
|
|
|
|
|
+ DSI_ERR("LP Link clks did not start\n");
|
|
goto error;
|
|
goto error;
|
|
}
|
|
}
|
|
l_c_on = true;
|
|
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,
|
|
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->core_clks, mngr->dsi_ctrl_count,
|
|
mngr->master_ndx);
|
|
mngr->master_ndx);
|
|
if (rc) {
|
|
if (rc) {
|
|
- pr_err("core clks did not stop\n");
|
|
|
|
|
|
+ DSI_ERR("core clks did not stop\n");
|
|
goto error;
|
|
goto error;
|
|
}
|
|
}
|
|
|
|
|
|
l_c_on = false;
|
|
l_c_on = false;
|
|
- pr_debug("ECG: core off\n");
|
|
|
|
|
|
+ DSI_DEBUG("ECG: core off\n");
|
|
} else
|
|
} else
|
|
- pr_debug("ECG: core off skip\n");
|
|
|
|
|
|
+ DSI_DEBUG("ECG: core off skip\n");
|
|
}
|
|
}
|
|
|
|
|
|
mngr->link_clk_state = l_state;
|
|
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,
|
|
rc = dsi_display_core_clk_enable(mngr->core_clks,
|
|
mngr->dsi_ctrl_count, mngr->master_ndx);
|
|
mngr->dsi_ctrl_count, mngr->master_ndx);
|
|
if (rc) {
|
|
if (rc) {
|
|
- pr_err("core clks did not start\n");
|
|
|
|
|
|
+ DSI_ERR("core clks did not start\n");
|
|
goto error;
|
|
goto error;
|
|
}
|
|
}
|
|
- pr_debug("ECG: core on\n");
|
|
|
|
|
|
+ DSI_DEBUG("ECG: core on\n");
|
|
} else
|
|
} else
|
|
- pr_debug("ECG: core on skip\n");
|
|
|
|
|
|
+ DSI_DEBUG("ECG: core on skip\n");
|
|
|
|
|
|
if (mngr->pre_clkoff_cb) {
|
|
if (mngr->pre_clkoff_cb) {
|
|
rc = mngr->pre_clkoff_cb(mngr->priv_data,
|
|
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,
|
|
DSI_LINK_NONE,
|
|
c_state);
|
|
c_state);
|
|
if (rc)
|
|
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,
|
|
rc = dsi_display_core_clk_disable(c_clks, mngr->dsi_ctrl_count,
|
|
mngr->master_ndx);
|
|
mngr->master_ndx);
|
|
if (rc) {
|
|
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;
|
|
goto error;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1068,7 +1070,7 @@ static int dsi_update_clk_state(struct dsi_clk_mngr *mngr,
|
|
DSI_LINK_NONE,
|
|
DSI_LINK_NONE,
|
|
DSI_CLK_OFF);
|
|
DSI_CLK_OFF);
|
|
if (rc)
|
|
if (rc)
|
|
- pr_err("post clkoff cb fail, rc = %d\n",
|
|
|
|
|
|
+ DSI_ERR("post clkoff cb fail, rc = %d\n",
|
|
rc);
|
|
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_c_clk_state = mngr->core_clk_state;
|
|
old_l_clk_state = mngr->link_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) {
|
|
if (c_clks || l_clks) {
|
|
rc = dsi_update_clk_state(mngr, c_clks, new_core_clk_state,
|
|
rc = dsi_update_clk_state(mngr, c_clks, new_core_clk_state,
|
|
l_clks, new_link_clk_state);
|
|
l_clks, new_link_clk_state);
|
|
if (rc) {
|
|
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;
|
|
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) ||
|
|
if (!client || !clk || clk > (DSI_CORE_CLK | DSI_LINK_CLK) ||
|
|
state > DSI_CLK_EARLY_GATE) {
|
|
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);
|
|
client, clk, state);
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
}
|
|
}
|
|
@@ -1165,7 +1167,7 @@ int dsi_clk_req_state(void *client, enum dsi_clk_type clk,
|
|
mngr = c->mngr;
|
|
mngr = c->mngr;
|
|
mutex_lock(&mngr->clk_mutex);
|
|
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,
|
|
mngr->name, c->name, clk, state, c->core_clk_state,
|
|
c->link_clk_state);
|
|
c->link_clk_state);
|
|
|
|
|
|
@@ -1202,8 +1204,8 @@ int dsi_clk_req_state(void *client, enum dsi_clk_type clk,
|
|
changed = true;
|
|
changed = true;
|
|
c->core_clk_state = DSI_CLK_OFF;
|
|
c->core_clk_state = DSI_CLK_OFF;
|
|
} else {
|
|
} else {
|
|
- pr_warn("Core refcount is zero for %s\n",
|
|
|
|
- c->name);
|
|
|
|
|
|
+ DSI_WARN("Core refcount is zero for %s\n",
|
|
|
|
+ c->name);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
c->core_refcount--;
|
|
c->core_refcount--;
|
|
@@ -1221,8 +1223,8 @@ int dsi_clk_req_state(void *client, enum dsi_clk_type clk,
|
|
changed = true;
|
|
changed = true;
|
|
c->link_clk_state = DSI_CLK_OFF;
|
|
c->link_clk_state = DSI_CLK_OFF;
|
|
} else {
|
|
} else {
|
|
- pr_warn("Link refcount is zero for %s\n",
|
|
|
|
- c->name);
|
|
|
|
|
|
+ DSI_WARN("Link refcount is zero for %s\n",
|
|
|
|
+ c->name);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
c->link_refcount--;
|
|
c->link_refcount--;
|
|
@@ -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,
|
|
mngr->name, c->name, changed, c->core_refcount,
|
|
c->core_clk_state, c->link_refcount, c->link_clk_state);
|
|
c->core_clk_state, c->link_refcount, c->link_clk_state);
|
|
|
|
|
|
if (changed) {
|
|
if (changed) {
|
|
rc = dsi_recheck_clk_state(mngr);
|
|
rc = dsi_recheck_clk_state(mngr);
|
|
if (rc)
|
|
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);
|
|
mutex_unlock(&mngr->clk_mutex);
|
|
@@ -1293,7 +1295,7 @@ int dsi_display_link_clk_force_update_ctrl(void *handle)
|
|
int rc = 0;
|
|
int rc = 0;
|
|
|
|
|
|
if (!handle) {
|
|
if (!handle) {
|
|
- pr_err("%s: Invalid arg\n", __func__);
|
|
|
|
|
|
+ DSI_ERR("Invalid arg\n");
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1312,14 +1314,14 @@ int dsi_display_clk_ctrl(void *handle,
|
|
int rc = 0;
|
|
int rc = 0;
|
|
|
|
|
|
if (!handle) {
|
|
if (!handle) {
|
|
- pr_err("%s: Invalid arg\n", __func__);
|
|
|
|
|
|
+ DSI_ERR("Invalid arg\n");
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
}
|
|
}
|
|
|
|
|
|
mutex_lock(&dsi_mngr_clk_mutex);
|
|
mutex_lock(&dsi_mngr_clk_mutex);
|
|
rc = dsi_clk_req_state(handle, clk_type, clk_state);
|
|
rc = dsi_clk_req_state(handle, clk_type, clk_state);
|
|
if (rc)
|
|
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);
|
|
mutex_unlock(&dsi_mngr_clk_mutex);
|
|
|
|
|
|
return rc;
|
|
return rc;
|
|
@@ -1332,7 +1334,7 @@ void *dsi_register_clk_handle(void *clk_mngr, char *client)
|
|
struct dsi_clk_client_info *c;
|
|
struct dsi_clk_client_info *c;
|
|
|
|
|
|
if (!mngr) {
|
|
if (!mngr) {
|
|
- pr_err("bad params\n");
|
|
|
|
|
|
+ DSI_ERR("bad params\n");
|
|
return ERR_PTR(-EINVAL);
|
|
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);
|
|
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;
|
|
handle = c;
|
|
error:
|
|
error:
|
|
mutex_unlock(&mngr->clk_mutex);
|
|
mutex_unlock(&mngr->clk_mutex);
|
|
@@ -1366,19 +1368,19 @@ int dsi_deregister_clk_handle(void *client)
|
|
struct dsi_clk_client_info *node = NULL;
|
|
struct dsi_clk_client_info *node = NULL;
|
|
|
|
|
|
if (!client) {
|
|
if (!client) {
|
|
- pr_err("Invalid params\n");
|
|
|
|
|
|
+ DSI_ERR("Invalid params\n");
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
}
|
|
}
|
|
|
|
|
|
mngr = c->mngr;
|
|
mngr = c->mngr;
|
|
- pr_debug("%s: ENTER\n", mngr->name);
|
|
|
|
|
|
+ DSI_DEBUG("%s: ENTER\n", mngr->name);
|
|
mutex_lock(&mngr->clk_mutex);
|
|
mutex_lock(&mngr->clk_mutex);
|
|
c->core_clk_state = DSI_CLK_OFF;
|
|
c->core_clk_state = DSI_CLK_OFF;
|
|
c->link_clk_state = DSI_CLK_OFF;
|
|
c->link_clk_state = DSI_CLK_OFF;
|
|
|
|
|
|
rc = dsi_recheck_clk_state(mngr);
|
|
rc = dsi_recheck_clk_state(mngr);
|
|
if (rc) {
|
|
if (rc) {
|
|
- pr_err("clock state recheck failed rc = %d\n", rc);
|
|
|
|
|
|
+ DSI_ERR("clock state recheck failed rc = %d\n", rc);
|
|
goto error;
|
|
goto error;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1387,7 +1389,7 @@ int dsi_deregister_clk_handle(void *client)
|
|
list);
|
|
list);
|
|
if (node == c) {
|
|
if (node == c) {
|
|
list_del(&node->list);
|
|
list_del(&node->list);
|
|
- pr_debug("Removed device (%s)\n", node->name);
|
|
|
|
|
|
+ DSI_DEBUG("Removed device (%s)\n", node->name);
|
|
kfree(node);
|
|
kfree(node);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
@@ -1395,7 +1397,7 @@ int dsi_deregister_clk_handle(void *client)
|
|
|
|
|
|
error:
|
|
error:
|
|
mutex_unlock(&mngr->clk_mutex);
|
|
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;
|
|
return rc;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1404,7 +1406,7 @@ void dsi_display_clk_mngr_update_splash_status(void *clk_mgr, bool status)
|
|
struct dsi_clk_mngr *mngr;
|
|
struct dsi_clk_mngr *mngr;
|
|
|
|
|
|
if (!clk_mgr) {
|
|
if (!clk_mgr) {
|
|
- pr_err("Invalid params\n");
|
|
|
|
|
|
+ DSI_ERR("Invalid params\n");
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1418,7 +1420,7 @@ void *dsi_display_clk_mngr_register(struct dsi_clk_info *info)
|
|
int i = 0;
|
|
int i = 0;
|
|
|
|
|
|
if (!info) {
|
|
if (!info) {
|
|
- pr_err("Invalid params\n");
|
|
|
|
|
|
+ DSI_ERR("Invalid params\n");
|
|
return ERR_PTR(-EINVAL);
|
|
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);
|
|
memcpy(mngr->name, info->name, MAX_STRING_LEN);
|
|
|
|
|
|
error:
|
|
error:
|
|
- pr_debug("EXIT, rc = %ld\n", PTR_ERR(mngr));
|
|
|
|
|
|
+ DSI_DEBUG("EXIT, rc = %ld\n", PTR_ERR(mngr));
|
|
return mngr;
|
|
return mngr;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1470,27 +1472,27 @@ int dsi_display_clk_mngr_deregister(void *clk_mngr)
|
|
struct dsi_clk_client_info *node = NULL;
|
|
struct dsi_clk_client_info *node = NULL;
|
|
|
|
|
|
if (!mngr) {
|
|
if (!mngr) {
|
|
- pr_err("Invalid params\n");
|
|
|
|
|
|
+ DSI_ERR("Invalid params\n");
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
}
|
|
}
|
|
|
|
|
|
- pr_debug("%s: ENTER\n", mngr->name);
|
|
|
|
|
|
+ DSI_DEBUG("%s: ENTER\n", mngr->name);
|
|
mutex_lock(&mngr->clk_mutex);
|
|
mutex_lock(&mngr->clk_mutex);
|
|
|
|
|
|
list_for_each_safe(position, tmp, &mngr->client_list) {
|
|
list_for_each_safe(position, tmp, &mngr->client_list) {
|
|
node = list_entry(position, struct dsi_clk_client_info,
|
|
node = list_entry(position, struct dsi_clk_client_info,
|
|
list);
|
|
list);
|
|
list_del(&node->list);
|
|
list_del(&node->list);
|
|
- pr_debug("Removed device (%s)\n", node->name);
|
|
|
|
|
|
+ DSI_DEBUG("Removed device (%s)\n", node->name);
|
|
kfree(node);
|
|
kfree(node);
|
|
}
|
|
}
|
|
|
|
|
|
rc = dsi_recheck_clk_state(mngr);
|
|
rc = dsi_recheck_clk_state(mngr);
|
|
if (rc)
|
|
if (rc)
|
|
- pr_err("failed to disable all clocks\n");
|
|
|
|
|
|
+ DSI_ERR("failed to disable all clocks\n");
|
|
|
|
|
|
mutex_unlock(&mngr->clk_mutex);
|
|
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);
|
|
kfree(mngr);
|
|
return rc;
|
|
return rc;
|
|
}
|
|
}
|