Thread (6 messages) 6 messages, 4 authors, 2016-09-13

Re: [PATCH] crypto: qce: Initialize core src clock @100Mhz

From: Iaroslav Gridin <hidden>
Date: 2016-09-07 16:13:31
Also in: linux-arm-msm, lkml

On Wed, Sep 07, 2016 at 04:04:01PM +0300, Stanimir Varbanov wrote:
Hi Iaroslav,

On 09/03/2016 07:45 PM, Iaroslav Gridin wrote:
quoted
Without that, QCE performance is about 2x less.
On which platform? The clock rates are per SoC.
Dragonboard 8074. Should clock rate be moved to its DT?
quoted
Signed-off-by: Iaroslav Gridin <redacted>
---
 drivers/crypto/qce/core.c | 18 +++++++++++++++++-
 drivers/crypto/qce/core.h |  2 +-
 2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c
index 0cde513..657354c 100644
--- a/drivers/crypto/qce/core.c
+++ b/drivers/crypto/qce/core.c
@@ -193,6 +193,10 @@ static int qce_crypto_probe(struct platform_device *pdev)
 	if (ret < 0)
 		return ret;
 
+	qce->core_src = devm_clk_get(qce->dev, "core_src");
+	if (IS_ERR(qce->core_src))
+		return PTR_ERR(qce->core_src);
+
 	qce->core = devm_clk_get(qce->dev, "core");
 	if (IS_ERR(qce->core))
 		return PTR_ERR(qce->core);
@@ -205,10 +209,20 @@ static int qce_crypto_probe(struct platform_device *pdev)
 	if (IS_ERR(qce->bus))
 		return PTR_ERR(qce->bus);
 
-	ret = clk_prepare_enable(qce->core);
+	ret = clk_prepare_enable(qce->core_src);
 	if (ret)
 		return ret;
 
+	ret = clk_set_rate(qce->core_src, 100000000);
Could you point me from where you got this number? Also I think you
shouldn't be requesting "core_src" it should be a parent of "core" clock
in the clock tree. Did you tried to set rate on "core" clock?
Tried it, helps with speed as well.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help