Lines Matching refs:req_ctx
1090 struct artpec6_crypto_request_context *req_ctx = NULL; in artpec6_crypto_encrypt() local
1094 req_ctx = skcipher_request_ctx(req); in artpec6_crypto_encrypt()
1100 req_ctx->decrypt = 0; in artpec6_crypto_encrypt()
1115 ret = artpec6_crypto_common_init(&req_ctx->common, in artpec6_crypto_encrypt()
1124 artpec6_crypto_common_destroy(&req_ctx->common); in artpec6_crypto_encrypt()
1128 return artpec6_crypto_submit(&req_ctx->common); in artpec6_crypto_encrypt()
1136 struct artpec6_crypto_request_context *req_ctx = NULL; in artpec6_crypto_decrypt() local
1139 req_ctx = skcipher_request_ctx(req); in artpec6_crypto_decrypt()
1145 req_ctx->decrypt = 1; in artpec6_crypto_decrypt()
1161 ret = artpec6_crypto_common_init(&req_ctx->common, &req->base, in artpec6_crypto_decrypt()
1169 artpec6_crypto_common_destroy(&req_ctx->common); in artpec6_crypto_decrypt()
1173 return artpec6_crypto_submit(&req_ctx->common); in artpec6_crypto_decrypt()
1265 struct artpec6_crypto_aead_req_ctx *req_ctx = aead_request_ctx(req); in artpec6_crypto_aead_encrypt() local
1267 req_ctx->decrypt = false; in artpec6_crypto_aead_encrypt()
1268 ret = artpec6_crypto_common_init(&req_ctx->common, &req->base, in artpec6_crypto_aead_encrypt()
1276 artpec6_crypto_common_destroy(&req_ctx->common); in artpec6_crypto_aead_encrypt()
1280 return artpec6_crypto_submit(&req_ctx->common); in artpec6_crypto_aead_encrypt()
1286 struct artpec6_crypto_aead_req_ctx *req_ctx = aead_request_ctx(req); in artpec6_crypto_aead_decrypt() local
1288 req_ctx->decrypt = true; in artpec6_crypto_aead_decrypt()
1292 ret = artpec6_crypto_common_init(&req_ctx->common, in artpec6_crypto_aead_decrypt()
1301 artpec6_crypto_common_destroy(&req_ctx->common); in artpec6_crypto_aead_decrypt()
1305 return artpec6_crypto_submit(&req_ctx->common); in artpec6_crypto_aead_decrypt()
1311 struct artpec6_hash_request_context *req_ctx = ahash_request_ctx(areq); in artpec6_crypto_prepare_hash() local
1316 struct artpec6_crypto_req_common *common = &req_ctx->common; in artpec6_crypto_prepare_hash()
1327 if (req_ctx->hash_flags & HASH_FLAG_HMAC) { in artpec6_crypto_prepare_hash()
1329 req_ctx->key_md = FIELD_PREP(A6_CRY_MD_OPER, in artpec6_crypto_prepare_hash()
1332 req_ctx->key_md = FIELD_PREP(A7_CRY_MD_OPER, in artpec6_crypto_prepare_hash()
1337 memcpy(req_ctx->key_buffer, ctx->hmac_key, in artpec6_crypto_prepare_hash()
1339 memset(req_ctx->key_buffer + ctx->hmac_key_length, 0, in artpec6_crypto_prepare_hash()
1343 (void *)&req_ctx->key_md, in artpec6_crypto_prepare_hash()
1344 sizeof(req_ctx->key_md), false, false); in artpec6_crypto_prepare_hash()
1349 req_ctx->key_buffer, blocksize, in artpec6_crypto_prepare_hash()
1355 if (!(req_ctx->hash_flags & HASH_FLAG_INIT_CTX)) { in artpec6_crypto_prepare_hash()
1364 req_ctx->hash_md &= ~A6_CRY_MD_HASH_SEL_CTX; in artpec6_crypto_prepare_hash()
1365 req_ctx->hash_md |= FIELD_PREP(A6_CRY_MD_HASH_SEL_CTX, sel_ctx); in artpec6_crypto_prepare_hash()
1368 if (req_ctx->hash_flags & HASH_FLAG_FINALIZE) in artpec6_crypto_prepare_hash()
1369 req_ctx->hash_md |= A6_CRY_MD_HASH_HMAC_FIN; in artpec6_crypto_prepare_hash()
1371 req_ctx->hash_md &= ~A7_CRY_MD_HASH_SEL_CTX; in artpec6_crypto_prepare_hash()
1372 req_ctx->hash_md |= FIELD_PREP(A7_CRY_MD_HASH_SEL_CTX, sel_ctx); in artpec6_crypto_prepare_hash()
1375 if (req_ctx->hash_flags & HASH_FLAG_FINALIZE) in artpec6_crypto_prepare_hash()
1376 req_ctx->hash_md |= A7_CRY_MD_HASH_HMAC_FIN; in artpec6_crypto_prepare_hash()
1381 (void *)&req_ctx->hash_md, in artpec6_crypto_prepare_hash()
1382 sizeof(req_ctx->hash_md), false, false); in artpec6_crypto_prepare_hash()
1392 req_ctx->digeststate, in artpec6_crypto_prepare_hash()
1399 if (req_ctx->hash_flags & HASH_FLAG_UPDATE) { in artpec6_crypto_prepare_hash()
1401 size_t total_bytes = areq->nbytes + req_ctx->partial_bytes; in artpec6_crypto_prepare_hash()
1406 if (req_ctx->partial_bytes && ready_bytes) { in artpec6_crypto_prepare_hash()
1411 memcpy(req_ctx->partial_buffer_out, in artpec6_crypto_prepare_hash()
1412 req_ctx->partial_buffer, in artpec6_crypto_prepare_hash()
1413 req_ctx->partial_bytes); in artpec6_crypto_prepare_hash()
1416 req_ctx->partial_buffer_out, in artpec6_crypto_prepare_hash()
1417 req_ctx->partial_bytes, in artpec6_crypto_prepare_hash()
1423 done_bytes += req_ctx->partial_bytes; in artpec6_crypto_prepare_hash()
1424 req_ctx->partial_bytes = 0; in artpec6_crypto_prepare_hash()
1440 req_ctx->partial_buffer + in artpec6_crypto_prepare_hash()
1441 req_ctx->partial_bytes, in artpec6_crypto_prepare_hash()
1444 req_ctx->partial_bytes += sg_rem; in artpec6_crypto_prepare_hash()
1447 req_ctx->digcnt += ready_bytes; in artpec6_crypto_prepare_hash()
1448 req_ctx->hash_flags &= ~(HASH_FLAG_UPDATE); in artpec6_crypto_prepare_hash()
1452 if (req_ctx->hash_flags & HASH_FLAG_FINALIZE) { in artpec6_crypto_prepare_hash()
1458 oper = FIELD_GET(A6_CRY_MD_OPER, req_ctx->hash_md); in artpec6_crypto_prepare_hash()
1460 oper = FIELD_GET(A7_CRY_MD_OPER, req_ctx->hash_md); in artpec6_crypto_prepare_hash()
1463 if (req_ctx->partial_bytes) { in artpec6_crypto_prepare_hash()
1464 memcpy(req_ctx->partial_buffer_out, in artpec6_crypto_prepare_hash()
1465 req_ctx->partial_buffer, in artpec6_crypto_prepare_hash()
1466 req_ctx->partial_bytes); in artpec6_crypto_prepare_hash()
1468 req_ctx->partial_buffer_out, in artpec6_crypto_prepare_hash()
1469 req_ctx->partial_bytes, in artpec6_crypto_prepare_hash()
1474 req_ctx->digcnt += req_ctx->partial_bytes; in artpec6_crypto_prepare_hash()
1475 req_ctx->partial_bytes = 0; in artpec6_crypto_prepare_hash()
1478 if (req_ctx->hash_flags & HASH_FLAG_HMAC) in artpec6_crypto_prepare_hash()
1479 digest_bits = 8 * (req_ctx->digcnt + blocksize); in artpec6_crypto_prepare_hash()
1481 digest_bits = 8 * req_ctx->digcnt; in artpec6_crypto_prepare_hash()
1484 hash_pad_len = create_hash_pad(oper, req_ctx->pad_buffer, in artpec6_crypto_prepare_hash()
1485 req_ctx->digcnt, digest_bits); in artpec6_crypto_prepare_hash()
1487 req_ctx->pad_buffer, in artpec6_crypto_prepare_hash()
1490 req_ctx->digcnt = 0; in artpec6_crypto_prepare_hash()
1508 req_ctx->digeststate, in artpec6_crypto_prepare_hash()
1515 req_ctx->hash_flags &= ~(HASH_FLAG_INIT_CTX | HASH_FLAG_UPDATE | in artpec6_crypto_prepare_hash()
1666 struct artpec6_crypto_request_context *req_ctx = NULL; in artpec6_crypto_prepare_crypto() local
1676 req_ctx = skcipher_request_ctx(areq); in artpec6_crypto_prepare_crypto()
1677 common = &req_ctx->common; in artpec6_crypto_prepare_crypto()
1696 req_ctx->cipher_md = 0; in artpec6_crypto_prepare_crypto()
1723 cipher_decr = req_ctx->decrypt; in artpec6_crypto_prepare_crypto()
1728 cipher_decr = req_ctx->decrypt; in artpec6_crypto_prepare_crypto()
1738 cipher_decr = req_ctx->decrypt; in artpec6_crypto_prepare_crypto()
1741 req_ctx->cipher_md |= A6_CRY_MD_CIPHER_DSEQ; in artpec6_crypto_prepare_crypto()
1743 req_ctx->cipher_md |= A7_CRY_MD_CIPHER_DSEQ; in artpec6_crypto_prepare_crypto()
1753 req_ctx->cipher_md |= FIELD_PREP(A6_CRY_MD_OPER, oper); in artpec6_crypto_prepare_crypto()
1754 req_ctx->cipher_md |= FIELD_PREP(A6_CRY_MD_CIPHER_LEN, in artpec6_crypto_prepare_crypto()
1757 req_ctx->cipher_md |= A6_CRY_MD_CIPHER_DECR; in artpec6_crypto_prepare_crypto()
1759 req_ctx->cipher_md |= FIELD_PREP(A7_CRY_MD_OPER, oper); in artpec6_crypto_prepare_crypto()
1760 req_ctx->cipher_md |= FIELD_PREP(A7_CRY_MD_CIPHER_LEN, in artpec6_crypto_prepare_crypto()
1763 req_ctx->cipher_md |= A7_CRY_MD_CIPHER_DECR; in artpec6_crypto_prepare_crypto()
1767 &req_ctx->cipher_md, in artpec6_crypto_prepare_crypto()
1768 sizeof(req_ctx->cipher_md), in artpec6_crypto_prepare_crypto()
1833 struct artpec6_crypto_aead_req_ctx *req_ctx = aead_request_ctx(areq); in artpec6_crypto_prepare_aead() local
1835 struct artpec6_crypto_req_common *common = &req_ctx->common; in artpec6_crypto_prepare_aead()
1860 req_ctx->cipher_md = 0; in artpec6_crypto_prepare_aead()
1877 req_ctx->cipher_md |= FIELD_PREP(A6_CRY_MD_OPER, in artpec6_crypto_prepare_aead()
1879 req_ctx->cipher_md |= FIELD_PREP(A6_CRY_MD_CIPHER_LEN, in artpec6_crypto_prepare_aead()
1881 if (req_ctx->decrypt) in artpec6_crypto_prepare_aead()
1882 req_ctx->cipher_md |= A6_CRY_MD_CIPHER_DECR; in artpec6_crypto_prepare_aead()
1884 req_ctx->cipher_md |= FIELD_PREP(A7_CRY_MD_OPER, in artpec6_crypto_prepare_aead()
1886 req_ctx->cipher_md |= FIELD_PREP(A7_CRY_MD_CIPHER_LEN, in artpec6_crypto_prepare_aead()
1888 if (req_ctx->decrypt) in artpec6_crypto_prepare_aead()
1889 req_ctx->cipher_md |= A7_CRY_MD_CIPHER_DECR; in artpec6_crypto_prepare_aead()
1893 (void *) &req_ctx->cipher_md, in artpec6_crypto_prepare_aead()
1894 sizeof(req_ctx->cipher_md), false, in artpec6_crypto_prepare_aead()
1905 if (req_ctx->decrypt) in artpec6_crypto_prepare_aead()
1909 req_ctx->hw_ctx.aad_length_bits = in artpec6_crypto_prepare_aead()
1912 req_ctx->hw_ctx.text_length_bits = in artpec6_crypto_prepare_aead()
1915 memcpy(req_ctx->hw_ctx.J0, areq->iv, crypto_aead_ivsize(cipher)); in artpec6_crypto_prepare_aead()
1917 memcpy(req_ctx->hw_ctx.J0 + GCM_AES_IV_SIZE, "\x00\x00\x00\x01", 4); in artpec6_crypto_prepare_aead()
1919 ret = artpec6_crypto_setup_out_descr(common, &req_ctx->hw_ctx, in artpec6_crypto_prepare_aead()
1970 if (req_ctx->decrypt) in artpec6_crypto_prepare_aead()
2001 if (req_ctx->decrypt) { in artpec6_crypto_prepare_aead()
2003 req_ctx->decryption_tag, AES_BLOCK_SIZE, false); in artpec6_crypto_prepare_aead()
2187 struct artpec6_crypto_aead_req_ctx *req_ctx = aead_request_ctx(areq); in artpec6_crypto_complete_aead() local
2189 if (req_ctx->decrypt) { in artpec6_crypto_complete_aead()
2200 if (crypto_memneq(req_ctx->decryption_tag, in artpec6_crypto_complete_aead()
2207 req_ctx->decryption_tag, in artpec6_crypto_complete_aead()
2262 struct artpec6_hash_request_context *req_ctx = ahash_request_ctx(req); in artpec6_crypto_init_hash() local
2265 memset(req_ctx, 0, sizeof(*req_ctx)); in artpec6_crypto_init_hash()
2267 req_ctx->hash_flags = HASH_FLAG_INIT_CTX; in artpec6_crypto_init_hash()
2269 req_ctx->hash_flags |= (HASH_FLAG_HMAC | HASH_FLAG_UPDATE_KEY); in artpec6_crypto_init_hash()
2284 req_ctx->hash_md = FIELD_PREP(A6_CRY_MD_OPER, oper); in artpec6_crypto_init_hash()
2286 req_ctx->hash_md = FIELD_PREP(A7_CRY_MD_OPER, oper); in artpec6_crypto_init_hash()
2293 struct artpec6_hash_request_context *req_ctx = ahash_request_ctx(req); in artpec6_crypto_prepare_submit_hash() local
2296 if (!req_ctx->common.dma) { in artpec6_crypto_prepare_submit_hash()
2297 ret = artpec6_crypto_common_init(&req_ctx->common, in artpec6_crypto_prepare_submit_hash()
2309 ret = artpec6_crypto_submit(&req_ctx->common); in artpec6_crypto_prepare_submit_hash()
2317 artpec6_crypto_common_destroy(&req_ctx->common); in artpec6_crypto_prepare_submit_hash()
2326 struct artpec6_hash_request_context *req_ctx = ahash_request_ctx(req); in artpec6_crypto_hash_final() local
2328 req_ctx->hash_flags |= HASH_FLAG_FINALIZE; in artpec6_crypto_hash_final()
2335 struct artpec6_hash_request_context *req_ctx = ahash_request_ctx(req); in artpec6_crypto_hash_update() local
2337 req_ctx->hash_flags |= HASH_FLAG_UPDATE; in artpec6_crypto_hash_update()
2349 struct artpec6_hash_request_context *req_ctx = ahash_request_ctx(req); in artpec6_crypto_sha1_digest() local
2353 req_ctx->hash_flags |= HASH_FLAG_UPDATE | HASH_FLAG_FINALIZE; in artpec6_crypto_sha1_digest()
2365 struct artpec6_hash_request_context *req_ctx = ahash_request_ctx(req); in artpec6_crypto_sha256_digest() local
2368 req_ctx->hash_flags |= HASH_FLAG_UPDATE | HASH_FLAG_FINALIZE; in artpec6_crypto_sha256_digest()
2380 struct artpec6_hash_request_context *req_ctx = ahash_request_ctx(req); in artpec6_crypto_hmac_sha256_digest() local
2383 req_ctx->hash_flags |= HASH_FLAG_UPDATE | HASH_FLAG_FINALIZE; in artpec6_crypto_hmac_sha256_digest()