]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
crypto: omap-aes - Don't reset controller for every operation
authorMark A. Greer <mgreer@animalcreek.com>
Tue, 8 Jan 2013 18:57:39 +0000 (11:57 -0700)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 19 Jan 2013 23:16:41 +0000 (10:16 +1100)
The AES controller only needs to be reset once and that will
be done by the hwmod infrastructure, if possible.  Therefore,
remove the reset code from the omap-aes driver.

CC: Dmitry Kasatkin <dmitry.kasatkin@intel.com>
Signed-off-by: Mark A. Greer <mgreer@animalcreek.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/omap-aes.c

index 481da719b16e5e2fa3167c6f06faec0cd67f2f3b..33cd7830546130c49e32616a11c4599b64af2570 100644 (file)
@@ -160,19 +160,6 @@ static void omap_aes_write_n(struct omap_aes_dev *dd, u32 offset,
                omap_aes_write(dd, offset, *value);
 }
 
-static int omap_aes_wait(struct omap_aes_dev *dd, u32 offset, u32 bit)
-{
-       unsigned long timeout = jiffies + DEFAULT_TIMEOUT;
-
-       while (!(omap_aes_read(dd, offset) & bit)) {
-               if (time_is_before_jiffies(timeout)) {
-                       dev_err(dd->dev, "omap-aes timeout\n");
-                       return -ETIMEDOUT;
-               }
-       }
-       return 0;
-}
-
 static int omap_aes_hw_init(struct omap_aes_dev *dd)
 {
        /*
@@ -183,20 +170,6 @@ static int omap_aes_hw_init(struct omap_aes_dev *dd)
        clk_enable(dd->iclk);
 
        if (!(dd->flags & FLAGS_INIT)) {
-               /* is it necessary to reset before every operation? */
-               omap_aes_write_mask(dd, AES_REG_MASK, AES_REG_MASK_SOFTRESET,
-                                       AES_REG_MASK_SOFTRESET);
-               /*
-                * prevent OCP bus error (SRESP) in case an access to the module
-                * is performed while the module is coming out of soft reset
-                */
-               __asm__ __volatile__("nop");
-               __asm__ __volatile__("nop");
-
-               if (omap_aes_wait(dd, AES_REG_SYSSTATUS,
-                               AES_REG_SYSSTATUS_RESETDONE))
-                       return -ETIMEDOUT;
-
                dd->flags |= FLAGS_INIT;
                dd->err = 0;
        }