|
@@ -63,6 +63,7 @@
|
|
|
#define AES_REG_CTRL_DIRECTION (1 << 2)
|
|
|
#define AES_REG_CTRL_INPUT_READY (1 << 1)
|
|
|
#define AES_REG_CTRL_OUTPUT_READY (1 << 0)
|
|
|
+#define AES_REG_CTRL_MASK GENMASK(24, 2)
|
|
|
|
|
|
#define AES_REG_DATA_N(dd, x) ((dd)->pdata->data_ofs + ((x) * 0x04))
|
|
|
|
|
@@ -254,7 +255,7 @@ static int omap_aes_write_ctrl(struct omap_aes_dev *dd)
|
|
|
{
|
|
|
unsigned int key32;
|
|
|
int i, err;
|
|
|
- u32 val, mask = 0;
|
|
|
+ u32 val;
|
|
|
|
|
|
err = omap_aes_hw_init(dd);
|
|
|
if (err)
|
|
@@ -274,17 +275,13 @@ static int omap_aes_write_ctrl(struct omap_aes_dev *dd)
|
|
|
val = FLD_VAL(((dd->ctx->keylen >> 3) - 1), 4, 3);
|
|
|
if (dd->flags & FLAGS_CBC)
|
|
|
val |= AES_REG_CTRL_CBC;
|
|
|
- if (dd->flags & FLAGS_CTR) {
|
|
|
+ if (dd->flags & FLAGS_CTR)
|
|
|
val |= AES_REG_CTRL_CTR | AES_REG_CTRL_CTR_WIDTH_128;
|
|
|
- mask = AES_REG_CTRL_CTR | AES_REG_CTRL_CTR_WIDTH_MASK;
|
|
|
- }
|
|
|
+
|
|
|
if (dd->flags & FLAGS_ENCRYPT)
|
|
|
val |= AES_REG_CTRL_DIRECTION;
|
|
|
|
|
|
- mask |= AES_REG_CTRL_CBC | AES_REG_CTRL_DIRECTION |
|
|
|
- AES_REG_CTRL_KEY_SIZE;
|
|
|
-
|
|
|
- omap_aes_write_mask(dd, AES_REG_CTRL(dd), val, mask);
|
|
|
+ omap_aes_write_mask(dd, AES_REG_CTRL(dd), val, AES_REG_CTRL_MASK);
|
|
|
|
|
|
return 0;
|
|
|
}
|