crypto: mv_cesa - the descriptor pointer register needs to be set just once
authorPhil Sutter <phil.sutter@viprinet.com>
Thu, 5 May 2011 13:28:58 +0000 (15:28 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 11 May 2011 05:06:14 +0000 (15:06 +1000)
Signed-off-by: Phil Sutter <phil.sutter@viprinet.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/mv_cesa.c

index c443246ca4b1f747264797232cab940cc197303e..889c0984cfd12c5ea2f9254287f206364e0fb1c0 100644 (file)
@@ -275,7 +275,6 @@ static void mv_process_current_q(int first_block)
        memcpy(cpg->sram + SRAM_CONFIG, &op,
                        sizeof(struct sec_accel_config));
 
-       writel(SRAM_CONFIG, cpg->reg + SEC_ACCEL_DESC_P0);
        /* GO */
        writel(SEC_CMD_EN_SEC_ACCL0, cpg->reg + SEC_ACCEL_CMD);
 
@@ -349,7 +348,6 @@ static void mv_process_hash_current(int first_block)
 
        memcpy(cpg->sram + SRAM_CONFIG, &op, sizeof(struct sec_accel_config));
 
-       writel(SRAM_CONFIG, cpg->reg + SEC_ACCEL_DESC_P0);
        /* GO */
        writel(SEC_CMD_EN_SEC_ACCL0, cpg->reg + SEC_ACCEL_CMD);
 
@@ -1063,6 +1061,7 @@ static int mv_probe(struct platform_device *pdev)
 
        writel(SEC_INT_ACCEL0_DONE, cpg->reg + SEC_ACCEL_INT_MASK);
        writel(SEC_CFG_STOP_DIG_ERR, cpg->reg + SEC_ACCEL_CFG);
+       writel(SRAM_CONFIG, cpg->reg + SEC_ACCEL_DESC_P0);
 
        ret = crypto_register_alg(&mv_aes_alg_ecb);
        if (ret)