Commit e8abb5b5 authored by Rob Clark's avatar Rob Clark

drm/msm/mdp4: add mdp axi clk

Downstream kernel holds this clk via a fake-parent relationship.
Upstream clock framework requires that we hold it explicitly.
Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
parent 034fbcc3
...@@ -176,6 +176,8 @@ int mdp4_disable(struct mdp4_kms *mdp4_kms) ...@@ -176,6 +176,8 @@ int mdp4_disable(struct mdp4_kms *mdp4_kms)
if (mdp4_kms->pclk) if (mdp4_kms->pclk)
clk_disable_unprepare(mdp4_kms->pclk); clk_disable_unprepare(mdp4_kms->pclk);
clk_disable_unprepare(mdp4_kms->lut_clk); clk_disable_unprepare(mdp4_kms->lut_clk);
if (mdp4_kms->axi_clk)
clk_disable_unprepare(mdp4_kms->axi_clk);
return 0; return 0;
} }
...@@ -188,6 +190,8 @@ int mdp4_enable(struct mdp4_kms *mdp4_kms) ...@@ -188,6 +190,8 @@ int mdp4_enable(struct mdp4_kms *mdp4_kms)
if (mdp4_kms->pclk) if (mdp4_kms->pclk)
clk_prepare_enable(mdp4_kms->pclk); clk_prepare_enable(mdp4_kms->pclk);
clk_prepare_enable(mdp4_kms->lut_clk); clk_prepare_enable(mdp4_kms->lut_clk);
if (mdp4_kms->axi_clk)
clk_prepare_enable(mdp4_kms->axi_clk);
return 0; return 0;
} }
...@@ -335,6 +339,13 @@ struct msm_kms *mdp4_kms_init(struct drm_device *dev) ...@@ -335,6 +339,13 @@ struct msm_kms *mdp4_kms_init(struct drm_device *dev)
goto fail; goto fail;
} }
mdp4_kms->axi_clk = devm_clk_get(&pdev->dev, "mdp_axi_clk");
if (IS_ERR(mdp4_kms->axi_clk)) {
dev_err(dev->dev, "failed to get axi_clk\n");
ret = PTR_ERR(mdp4_kms->axi_clk);
goto fail;
}
clk_set_rate(mdp4_kms->clk, config->max_clk); clk_set_rate(mdp4_kms->clk, config->max_clk);
clk_set_rate(mdp4_kms->lut_clk, config->max_clk); clk_set_rate(mdp4_kms->lut_clk, config->max_clk);
......
...@@ -42,6 +42,7 @@ struct mdp4_kms { ...@@ -42,6 +42,7 @@ struct mdp4_kms {
struct clk *clk; struct clk *clk;
struct clk *pclk; struct clk *pclk;
struct clk *lut_clk; struct clk *lut_clk;
struct clk *axi_clk;
struct mdp_irq error_handler; struct mdp_irq error_handler;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment