[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20160830154223.15129-1-voker57@gmail.com>
Date: Tue, 30 Aug 2016 18:42:23 +0300
From: Iaroslav Gridin <voker57@...il.com>
To: vinod.koul@...el.com
Cc: dan.j.williams@...el.com, andy.gross@...aro.org,
stanimir.varbanov@...aro.org, pramod.gurav@...aro.org,
arnd@...db.de, okaya@...eaurora.org, dmaengine@...r.kernel.org,
linux-kernel@...r.kernel.org, Voker57 <voker57@...il.com>
Subject: [PATCH] dma: qcom: Add initialization of axi and core clocks
From: Voker57 <voker57@...il.com>
These initialization are missing and causing bam not to init
Signed-off-by: Iaroslav Gridin <voker57@...il.com>
---
drivers/dma/qcom/bam_dma.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c
index 03c4eb3..faae0c8 100644
--- a/drivers/dma/qcom/bam_dma.c
+++ b/drivers/dma/qcom/bam_dma.c
@@ -395,6 +395,8 @@ struct bam_device {
const struct reg_offset_data *layout;
struct clk *bamclk;
+ struct clk *axi_clk;
+ struct clk *core_clk;
int irq;
/* dma start transaction tasklet */
@@ -1189,6 +1191,25 @@ static int bam_dma_probe(struct platform_device *pdev)
return ret;
}
+ bdev->axi_clk = devm_clk_get(bdev->dev, "axi_clk");
+ if (IS_ERR(bdev->axi_clk))
+ bdev->axi_clk = NULL;
+
+ ret = clk_prepare_enable(bdev->axi_clk);
+ if (ret) {
+ dev_err(bdev->dev, "failed to prepare/enable axi clock\n");
+ return ret;
+ }
+
+ bdev->core_clk = devm_clk_get(bdev->dev, "core_clk");
+ if (IS_ERR(bdev->core_clk))
+ bdev->core_clk = NULL;
+
+ ret = clk_prepare_enable(bdev->core_clk);
+ if (ret) {
+ dev_err(bdev->dev, "failed to prepare/enable core clock\n");
+ return ret;
+ }
ret = bam_init(bdev);
if (ret)
goto err_disable_clk;
--
2.9.3
Powered by blists - more mailing lists