summaryrefslogtreecommitdiff
path: root/drivers/crypto
diff options
context:
space:
mode:
authorNitesh Narayan Lal <b44382@freescale.com>2014-10-08 10:10:59 (GMT)
committerMatthew Weigel <Matthew.Weigel@freescale.com>2014-12-11 18:38:13 (GMT)
commit2be3e54fea5e6565dc70a839b0972a5c9613462f (patch)
tree2b7a2dc20b7525108f0266510905c51981e20f0d /drivers/crypto
parent20af0dc3a4003cdfaaac974dfe131e030b857dcd (diff)
downloadlinux-fsl-qoriq-2be3e54fea5e6565dc70a839b0972a5c9613462f.tar.xz
crypto: caam - Dynamic allocation of addresses for various memory blocks in CAAM.
CAAM's memory is broken into following address blocks: Block Included Registers 7 QI registers Size of the above stated block varies in various platforms. The block size can be 4K or 64K. The block size can be dynamically determined by reading CTPR register in CAAM. This patch fixes the issues related to the dynamic initialization of the QI block address based on the value read from this register. Signed-off-by: Nitesh Narayan Lal <b44382@freescale.com> Change-Id: I11d6cb2814ee4eb1c966773636bf6bd0ff986811 Reviewed-on: http://git.am.freescale.net:8181/20999 Reviewed-by: Ruchika Gupta <ruchika.gupta@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
Diffstat (limited to 'drivers/crypto')
-rw-r--r--drivers/crypto/caam/ctrl.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/crypto/caam/ctrl.c b/drivers/crypto/caam/ctrl.c
index 102869b..17af050 100644
--- a/drivers/crypto/caam/ctrl.c
+++ b/drivers/crypto/caam/ctrl.c
@@ -728,7 +728,7 @@ static int caam_probe(struct platform_device *pdev)
}
#ifdef CONFIG_PM
-static int caam_stop_qi(struct caam_qi __iomem *qi)
+static int caam_stop_qi(struct caam_queue_if __iomem *qi)
{
int qi_stopped, loop = 0;
@@ -760,7 +760,7 @@ static int caam_suspend(struct device *dev)
{
struct caam_drv_private *caam_priv;
struct caam_ctrl __iomem *ctrl;
- struct caam_qi __iomem *qi;
+ struct caam_queue_if __iomem *qi;
int ret = 0;
caam_priv = dev_get_drvdata(dev);
@@ -785,10 +785,12 @@ static int caam_resume(struct device *dev)
{
struct caam_drv_private *caam_priv;
struct caam_ctrl __iomem *ctrl;
+ struct caam_queue_if __iomem *qi;
int ret;
caam_priv = dev_get_drvdata(dev);
ctrl = caam_priv->ctrl;
+ qi = caam_priv->qi;
/*
* Enable DECO watchdogs and, if this is a PHYS_ADDR_T_64BIT kernel,
* long pointers in master configuration register