Lines Matching refs:op
70 geode_aes_crypt(struct geode_aes_op *op) in geode_aes_crypt() argument
76 if (op->len == 0) in geode_aes_crypt()
86 if (op->dir == AES_DIR_ENCRYPT) in geode_aes_crypt()
93 if (op->mode == AES_MODE_CBC) { in geode_aes_crypt()
95 _writefield(AES_WRITEIV0_REG, op->iv); in geode_aes_crypt()
98 if (!(op->flags & AES_FLAGS_HIDDENKEY)) { in geode_aes_crypt()
100 _writefield(AES_WRITEKEY0_REG, op->key); in geode_aes_crypt()
103 ret = do_crypt(op->src, op->dst, op->len, flags); in geode_aes_crypt()
106 if (op->mode == AES_MODE_CBC) in geode_aes_crypt()
107 _readfield(AES_WRITEIV0_REG, op->iv); in geode_aes_crypt()
111 return op->len; in geode_aes_crypt()
119 struct geode_aes_op *op = crypto_tfm_ctx(tfm); in geode_setkey_cip() local
122 op->keylen = len; in geode_setkey_cip()
125 memcpy(op->key, key, len); in geode_setkey_cip()
138 op->fallback.cip->base.crt_flags &= ~CRYPTO_TFM_REQ_MASK; in geode_setkey_cip()
139 op->fallback.cip->base.crt_flags |= (tfm->crt_flags & CRYPTO_TFM_REQ_MASK); in geode_setkey_cip()
141 ret = crypto_cipher_setkey(op->fallback.cip, key, len); in geode_setkey_cip()
144 tfm->crt_flags |= (op->fallback.cip->base.crt_flags & CRYPTO_TFM_RES_MASK); in geode_setkey_cip()
152 struct geode_aes_op *op = crypto_tfm_ctx(tfm); in geode_setkey_blk() local
155 op->keylen = len; in geode_setkey_blk()
158 memcpy(op->key, key, len); in geode_setkey_blk()
171 op->fallback.blk->base.crt_flags &= ~CRYPTO_TFM_REQ_MASK; in geode_setkey_blk()
172 op->fallback.blk->base.crt_flags |= (tfm->crt_flags & CRYPTO_TFM_REQ_MASK); in geode_setkey_blk()
174 ret = crypto_blkcipher_setkey(op->fallback.blk, key, len); in geode_setkey_blk()
177 tfm->crt_flags |= (op->fallback.blk->base.crt_flags & CRYPTO_TFM_RES_MASK); in geode_setkey_blk()
188 struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm); in fallback_blk_dec() local
191 desc->tfm = op->fallback.blk; in fallback_blk_dec()
204 struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm); in fallback_blk_enc() local
207 desc->tfm = op->fallback.blk; in fallback_blk_enc()
218 struct geode_aes_op *op = crypto_tfm_ctx(tfm); in geode_encrypt() local
220 if (unlikely(op->keylen != AES_KEYSIZE_128)) { in geode_encrypt()
221 crypto_cipher_encrypt_one(op->fallback.cip, out, in); in geode_encrypt()
225 op->src = (void *) in; in geode_encrypt()
226 op->dst = (void *) out; in geode_encrypt()
227 op->mode = AES_MODE_ECB; in geode_encrypt()
228 op->flags = 0; in geode_encrypt()
229 op->len = AES_BLOCK_SIZE; in geode_encrypt()
230 op->dir = AES_DIR_ENCRYPT; in geode_encrypt()
232 geode_aes_crypt(op); in geode_encrypt()
239 struct geode_aes_op *op = crypto_tfm_ctx(tfm); in geode_decrypt() local
241 if (unlikely(op->keylen != AES_KEYSIZE_128)) { in geode_decrypt()
242 crypto_cipher_decrypt_one(op->fallback.cip, out, in); in geode_decrypt()
246 op->src = (void *) in; in geode_decrypt()
247 op->dst = (void *) out; in geode_decrypt()
248 op->mode = AES_MODE_ECB; in geode_decrypt()
249 op->flags = 0; in geode_decrypt()
250 op->len = AES_BLOCK_SIZE; in geode_decrypt()
251 op->dir = AES_DIR_DECRYPT; in geode_decrypt()
253 geode_aes_crypt(op); in geode_decrypt()
259 struct geode_aes_op *op = crypto_tfm_ctx(tfm); in fallback_init_cip() local
261 op->fallback.cip = crypto_alloc_cipher(name, 0, in fallback_init_cip()
264 if (IS_ERR(op->fallback.cip)) { in fallback_init_cip()
266 return PTR_ERR(op->fallback.cip); in fallback_init_cip()
274 struct geode_aes_op *op = crypto_tfm_ctx(tfm); in fallback_exit_cip() local
276 crypto_free_cipher(op->fallback.cip); in fallback_exit_cip()
277 op->fallback.cip = NULL; in fallback_exit_cip()
308 struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm); in geode_cbc_decrypt() local
312 if (unlikely(op->keylen != AES_KEYSIZE_128)) in geode_cbc_decrypt()
317 op->iv = walk.iv; in geode_cbc_decrypt()
320 op->src = walk.src.virt.addr, in geode_cbc_decrypt()
321 op->dst = walk.dst.virt.addr; in geode_cbc_decrypt()
322 op->mode = AES_MODE_CBC; in geode_cbc_decrypt()
323 op->len = nbytes - (nbytes % AES_BLOCK_SIZE); in geode_cbc_decrypt()
324 op->dir = AES_DIR_DECRYPT; in geode_cbc_decrypt()
326 ret = geode_aes_crypt(op); in geode_cbc_decrypt()
340 struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm); in geode_cbc_encrypt() local
344 if (unlikely(op->keylen != AES_KEYSIZE_128)) in geode_cbc_encrypt()
349 op->iv = walk.iv; in geode_cbc_encrypt()
352 op->src = walk.src.virt.addr, in geode_cbc_encrypt()
353 op->dst = walk.dst.virt.addr; in geode_cbc_encrypt()
354 op->mode = AES_MODE_CBC; in geode_cbc_encrypt()
355 op->len = nbytes - (nbytes % AES_BLOCK_SIZE); in geode_cbc_encrypt()
356 op->dir = AES_DIR_ENCRYPT; in geode_cbc_encrypt()
358 ret = geode_aes_crypt(op); in geode_cbc_encrypt()
369 struct geode_aes_op *op = crypto_tfm_ctx(tfm); in fallback_init_blk() local
371 op->fallback.blk = crypto_alloc_blkcipher(name, 0, in fallback_init_blk()
374 if (IS_ERR(op->fallback.blk)) { in fallback_init_blk()
376 return PTR_ERR(op->fallback.blk); in fallback_init_blk()
384 struct geode_aes_op *op = crypto_tfm_ctx(tfm); in fallback_exit_blk() local
386 crypto_free_blkcipher(op->fallback.blk); in fallback_exit_blk()
387 op->fallback.blk = NULL; in fallback_exit_blk()
421 struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm); in geode_ecb_decrypt() local
425 if (unlikely(op->keylen != AES_KEYSIZE_128)) in geode_ecb_decrypt()
432 op->src = walk.src.virt.addr, in geode_ecb_decrypt()
433 op->dst = walk.dst.virt.addr; in geode_ecb_decrypt()
434 op->mode = AES_MODE_ECB; in geode_ecb_decrypt()
435 op->len = nbytes - (nbytes % AES_BLOCK_SIZE); in geode_ecb_decrypt()
436 op->dir = AES_DIR_DECRYPT; in geode_ecb_decrypt()
438 ret = geode_aes_crypt(op); in geode_ecb_decrypt()
451 struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm); in geode_ecb_encrypt() local
455 if (unlikely(op->keylen != AES_KEYSIZE_128)) in geode_ecb_encrypt()
462 op->src = walk.src.virt.addr, in geode_ecb_encrypt()
463 op->dst = walk.dst.virt.addr; in geode_ecb_encrypt()
464 op->mode = AES_MODE_ECB; in geode_ecb_encrypt()
465 op->len = nbytes - (nbytes % AES_BLOCK_SIZE); in geode_ecb_encrypt()
466 op->dir = AES_DIR_ENCRYPT; in geode_ecb_encrypt()
468 ret = geode_aes_crypt(op); in geode_ecb_encrypt()