Lines Matching refs:op

68 geode_aes_crypt(struct geode_aes_op *op)  in geode_aes_crypt()  argument
74 if (op->len == 0) in geode_aes_crypt()
84 if (op->dir == AES_DIR_ENCRYPT) in geode_aes_crypt()
91 if (op->mode == AES_MODE_CBC) { in geode_aes_crypt()
93 _writefield(AES_WRITEIV0_REG, op->iv); in geode_aes_crypt()
96 if (!(op->flags & AES_FLAGS_HIDDENKEY)) { in geode_aes_crypt()
98 _writefield(AES_WRITEKEY0_REG, op->key); in geode_aes_crypt()
101 ret = do_crypt(op->src, op->dst, op->len, flags); in geode_aes_crypt()
104 if (op->mode == AES_MODE_CBC) in geode_aes_crypt()
105 _readfield(AES_WRITEIV0_REG, op->iv); in geode_aes_crypt()
109 return op->len; in geode_aes_crypt()
117 struct geode_aes_op *op = crypto_tfm_ctx(tfm); in geode_setkey_cip() local
120 op->keylen = len; in geode_setkey_cip()
123 memcpy(op->key, key, len); in geode_setkey_cip()
136 op->fallback.cip->base.crt_flags &= ~CRYPTO_TFM_REQ_MASK; in geode_setkey_cip()
137 op->fallback.cip->base.crt_flags |= (tfm->crt_flags & CRYPTO_TFM_REQ_MASK); in geode_setkey_cip()
139 ret = crypto_cipher_setkey(op->fallback.cip, key, len); in geode_setkey_cip()
142 tfm->crt_flags |= (op->fallback.cip->base.crt_flags & CRYPTO_TFM_RES_MASK); in geode_setkey_cip()
150 struct geode_aes_op *op = crypto_tfm_ctx(tfm); in geode_setkey_blk() local
153 op->keylen = len; in geode_setkey_blk()
156 memcpy(op->key, key, len); in geode_setkey_blk()
169 op->fallback.blk->base.crt_flags &= ~CRYPTO_TFM_REQ_MASK; in geode_setkey_blk()
170 op->fallback.blk->base.crt_flags |= (tfm->crt_flags & CRYPTO_TFM_REQ_MASK); in geode_setkey_blk()
172 ret = crypto_blkcipher_setkey(op->fallback.blk, key, len); in geode_setkey_blk()
175 tfm->crt_flags |= (op->fallback.blk->base.crt_flags & CRYPTO_TFM_RES_MASK); in geode_setkey_blk()
186 struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm); in fallback_blk_dec() local
189 desc->tfm = op->fallback.blk; in fallback_blk_dec()
202 struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm); in fallback_blk_enc() local
205 desc->tfm = op->fallback.blk; in fallback_blk_enc()
216 struct geode_aes_op *op = crypto_tfm_ctx(tfm); in geode_encrypt() local
218 if (unlikely(op->keylen != AES_KEYSIZE_128)) { in geode_encrypt()
219 crypto_cipher_encrypt_one(op->fallback.cip, out, in); in geode_encrypt()
223 op->src = (void *) in; in geode_encrypt()
224 op->dst = (void *) out; in geode_encrypt()
225 op->mode = AES_MODE_ECB; in geode_encrypt()
226 op->flags = 0; in geode_encrypt()
227 op->len = AES_BLOCK_SIZE; in geode_encrypt()
228 op->dir = AES_DIR_ENCRYPT; in geode_encrypt()
230 geode_aes_crypt(op); in geode_encrypt()
237 struct geode_aes_op *op = crypto_tfm_ctx(tfm); in geode_decrypt() local
239 if (unlikely(op->keylen != AES_KEYSIZE_128)) { in geode_decrypt()
240 crypto_cipher_decrypt_one(op->fallback.cip, out, in); in geode_decrypt()
244 op->src = (void *) in; in geode_decrypt()
245 op->dst = (void *) out; in geode_decrypt()
246 op->mode = AES_MODE_ECB; in geode_decrypt()
247 op->flags = 0; in geode_decrypt()
248 op->len = AES_BLOCK_SIZE; in geode_decrypt()
249 op->dir = AES_DIR_DECRYPT; in geode_decrypt()
251 geode_aes_crypt(op); in geode_decrypt()
257 struct geode_aes_op *op = crypto_tfm_ctx(tfm); in fallback_init_cip() local
259 op->fallback.cip = crypto_alloc_cipher(name, 0, in fallback_init_cip()
262 if (IS_ERR(op->fallback.cip)) { in fallback_init_cip()
264 return PTR_ERR(op->fallback.cip); in fallback_init_cip()
272 struct geode_aes_op *op = crypto_tfm_ctx(tfm); in fallback_exit_cip() local
274 crypto_free_cipher(op->fallback.cip); in fallback_exit_cip()
275 op->fallback.cip = NULL; in fallback_exit_cip()
306 struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm); in geode_cbc_decrypt() local
310 if (unlikely(op->keylen != AES_KEYSIZE_128)) in geode_cbc_decrypt()
315 op->iv = walk.iv; in geode_cbc_decrypt()
318 op->src = walk.src.virt.addr, in geode_cbc_decrypt()
319 op->dst = walk.dst.virt.addr; in geode_cbc_decrypt()
320 op->mode = AES_MODE_CBC; in geode_cbc_decrypt()
321 op->len = nbytes - (nbytes % AES_BLOCK_SIZE); in geode_cbc_decrypt()
322 op->dir = AES_DIR_DECRYPT; in geode_cbc_decrypt()
324 ret = geode_aes_crypt(op); in geode_cbc_decrypt()
338 struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm); in geode_cbc_encrypt() local
342 if (unlikely(op->keylen != AES_KEYSIZE_128)) in geode_cbc_encrypt()
347 op->iv = walk.iv; in geode_cbc_encrypt()
350 op->src = walk.src.virt.addr, in geode_cbc_encrypt()
351 op->dst = walk.dst.virt.addr; in geode_cbc_encrypt()
352 op->mode = AES_MODE_CBC; in geode_cbc_encrypt()
353 op->len = nbytes - (nbytes % AES_BLOCK_SIZE); in geode_cbc_encrypt()
354 op->dir = AES_DIR_ENCRYPT; in geode_cbc_encrypt()
356 ret = geode_aes_crypt(op); in geode_cbc_encrypt()
367 struct geode_aes_op *op = crypto_tfm_ctx(tfm); in fallback_init_blk() local
369 op->fallback.blk = crypto_alloc_blkcipher(name, 0, in fallback_init_blk()
372 if (IS_ERR(op->fallback.blk)) { in fallback_init_blk()
374 return PTR_ERR(op->fallback.blk); in fallback_init_blk()
382 struct geode_aes_op *op = crypto_tfm_ctx(tfm); in fallback_exit_blk() local
384 crypto_free_blkcipher(op->fallback.blk); in fallback_exit_blk()
385 op->fallback.blk = NULL; in fallback_exit_blk()
419 struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm); in geode_ecb_decrypt() local
423 if (unlikely(op->keylen != AES_KEYSIZE_128)) in geode_ecb_decrypt()
430 op->src = walk.src.virt.addr, in geode_ecb_decrypt()
431 op->dst = walk.dst.virt.addr; in geode_ecb_decrypt()
432 op->mode = AES_MODE_ECB; in geode_ecb_decrypt()
433 op->len = nbytes - (nbytes % AES_BLOCK_SIZE); in geode_ecb_decrypt()
434 op->dir = AES_DIR_DECRYPT; in geode_ecb_decrypt()
436 ret = geode_aes_crypt(op); in geode_ecb_decrypt()
449 struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm); in geode_ecb_encrypt() local
453 if (unlikely(op->keylen != AES_KEYSIZE_128)) in geode_ecb_encrypt()
460 op->src = walk.src.virt.addr, in geode_ecb_encrypt()
461 op->dst = walk.dst.virt.addr; in geode_ecb_encrypt()
462 op->mode = AES_MODE_ECB; in geode_ecb_encrypt()
463 op->len = nbytes - (nbytes % AES_BLOCK_SIZE); in geode_ecb_encrypt()
464 op->dir = AES_DIR_ENCRYPT; in geode_ecb_encrypt()
466 ret = geode_aes_crypt(op); in geode_ecb_encrypt()