Merge "msm: mdss: dp: set crypto clock rate"
This commit is contained in:
commit
3c74e592e8
2 changed files with 29 additions and 7 deletions
|
@ -45,6 +45,8 @@
|
||||||
#define VDDA_UA_ON_LOAD 100000 /* uA units */
|
#define VDDA_UA_ON_LOAD 100000 /* uA units */
|
||||||
#define VDDA_UA_OFF_LOAD 100 /* uA units */
|
#define VDDA_UA_OFF_LOAD 100 /* uA units */
|
||||||
|
|
||||||
|
#define DP_CRYPTO_CLK_RATE_KHZ 337500
|
||||||
|
|
||||||
struct mdss_dp_attention_node {
|
struct mdss_dp_attention_node {
|
||||||
u32 vdo;
|
u32 vdo;
|
||||||
struct list_head list;
|
struct list_head list;
|
||||||
|
@ -208,9 +210,9 @@ static int mdss_dp_get_dt_clk_data(struct device *dev,
|
||||||
&ctrl_power_data->clk_config[ctrl_clk_index];
|
&ctrl_power_data->clk_config[ctrl_clk_index];
|
||||||
strlcpy(clk->clk_name, clk_name, sizeof(clk->clk_name));
|
strlcpy(clk->clk_name, clk_name, sizeof(clk->clk_name));
|
||||||
ctrl_clk_index++;
|
ctrl_clk_index++;
|
||||||
if (!strcmp(clk_name, "ctrl_link_clk"))
|
if (!strcmp(clk_name, "ctrl_link_clk") ||
|
||||||
clk->type = DSS_CLK_PCLK;
|
!strcmp(clk_name, "ctrl_pixel_clk") ||
|
||||||
else if (!strcmp(clk_name, "ctrl_pixel_clk"))
|
!strcmp(clk_name, "ctrl_crypto_clk"))
|
||||||
clk->type = DSS_CLK_PCLK;
|
clk->type = DSS_CLK_PCLK;
|
||||||
else
|
else
|
||||||
clk->type = DSS_CLK_AHB;
|
clk->type = DSS_CLK_AHB;
|
||||||
|
@ -1089,6 +1091,23 @@ exit:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void mdss_dp_set_clock_rate(struct mdss_dp_drv_pdata *dp,
|
||||||
|
char *name, u32 rate)
|
||||||
|
{
|
||||||
|
u32 num = dp->power_data[DP_CTRL_PM].num_clk;
|
||||||
|
struct dss_clk *cfg = dp->power_data[DP_CTRL_PM].clk_config;
|
||||||
|
|
||||||
|
while (num && strcmp(cfg->clk_name, name)) {
|
||||||
|
num--;
|
||||||
|
cfg++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (num)
|
||||||
|
cfg->rate = rate;
|
||||||
|
else
|
||||||
|
pr_err("%s clock could not be set with rate %d\n", name, rate);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* mdss_dp_enable_mainlink_clocks() - enables Display Port main link clocks
|
* mdss_dp_enable_mainlink_clocks() - enables Display Port main link clocks
|
||||||
* @dp: Display Port Driver data
|
* @dp: Display Port Driver data
|
||||||
|
@ -1099,12 +1118,14 @@ static int mdss_dp_enable_mainlink_clocks(struct mdss_dp_drv_pdata *dp)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
dp->power_data[DP_CTRL_PM].clk_config[0].rate =
|
mdss_dp_set_clock_rate(dp, "ctrl_link_clk",
|
||||||
((dp->link_rate * DP_LINK_RATE_MULTIPLIER) / 1000);/* KHz */
|
(dp->link_rate * DP_LINK_RATE_MULTIPLIER) / DP_KHZ_TO_HZ);
|
||||||
|
|
||||||
|
mdss_dp_set_clock_rate(dp, "ctrl_crypto_clk", DP_CRYPTO_CLK_RATE_KHZ);
|
||||||
|
|
||||||
dp->pixel_rate = dp->panel_data.panel_info.clk_rate;
|
dp->pixel_rate = dp->panel_data.panel_info.clk_rate;
|
||||||
dp->power_data[DP_CTRL_PM].clk_config[3].rate =
|
mdss_dp_set_clock_rate(dp, "ctrl_pixel_clk",
|
||||||
(dp->pixel_rate / 1000);/* KHz */
|
(dp->pixel_rate / DP_KHZ_TO_HZ));
|
||||||
|
|
||||||
ret = mdss_dp_clk_ctrl(dp, DP_CTRL_PM, true);
|
ret = mdss_dp_clk_ctrl(dp, DP_CTRL_PM, true);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
|
|
@ -228,6 +228,7 @@ struct dp_alt_mode {
|
||||||
#define DP_LINK_RATE_MAX DP_LINK_RATE_540
|
#define DP_LINK_RATE_MAX DP_LINK_RATE_540
|
||||||
|
|
||||||
#define DP_LINK_RATE_MULTIPLIER 27000000
|
#define DP_LINK_RATE_MULTIPLIER 27000000
|
||||||
|
#define DP_KHZ_TO_HZ 1000
|
||||||
#define DP_MAX_PIXEL_CLK_KHZ 675000
|
#define DP_MAX_PIXEL_CLK_KHZ 675000
|
||||||
struct downstream_port_config {
|
struct downstream_port_config {
|
||||||
/* Byte 02205h */
|
/* Byte 02205h */
|
||||||
|
|
Loading…
Add table
Reference in a new issue