Lines Matching refs:req_ctx
1089 struct artpec6_crypto_request_context *req_ctx = NULL;
1093 req_ctx = skcipher_request_ctx(req);
1099 req_ctx->decrypt = 0;
1114 ret = artpec6_crypto_common_init(&req_ctx->common,
1123 artpec6_crypto_common_destroy(&req_ctx->common);
1127 return artpec6_crypto_submit(&req_ctx->common);
1135 struct artpec6_crypto_request_context *req_ctx = NULL;
1138 req_ctx = skcipher_request_ctx(req);
1144 req_ctx->decrypt = 1;
1160 ret = artpec6_crypto_common_init(&req_ctx->common, &req->base,
1168 artpec6_crypto_common_destroy(&req_ctx->common);
1172 return artpec6_crypto_submit(&req_ctx->common);
1264 struct artpec6_crypto_aead_req_ctx *req_ctx = aead_request_ctx(req);
1266 req_ctx->decrypt = false;
1267 ret = artpec6_crypto_common_init(&req_ctx->common, &req->base,
1275 artpec6_crypto_common_destroy(&req_ctx->common);
1279 return artpec6_crypto_submit(&req_ctx->common);
1285 struct artpec6_crypto_aead_req_ctx *req_ctx = aead_request_ctx(req);
1287 req_ctx->decrypt = true;
1291 ret = artpec6_crypto_common_init(&req_ctx->common,
1300 artpec6_crypto_common_destroy(&req_ctx->common);
1304 return artpec6_crypto_submit(&req_ctx->common);
1310 struct artpec6_hash_request_context *req_ctx = ahash_request_ctx(areq);
1315 struct artpec6_crypto_req_common *common = &req_ctx->common;
1326 if (req_ctx->hash_flags & HASH_FLAG_HMAC) {
1328 req_ctx->key_md = FIELD_PREP(A6_CRY_MD_OPER,
1331 req_ctx->key_md = FIELD_PREP(A7_CRY_MD_OPER,
1336 memcpy(req_ctx->key_buffer, ctx->hmac_key,
1338 memset(req_ctx->key_buffer + ctx->hmac_key_length, 0,
1342 (void *)&req_ctx->key_md,
1343 sizeof(req_ctx->key_md), false, false);
1348 req_ctx->key_buffer, blocksize,
1354 if (!(req_ctx->hash_flags & HASH_FLAG_INIT_CTX)) {
1363 req_ctx->hash_md &= ~A6_CRY_MD_HASH_SEL_CTX;
1364 req_ctx->hash_md |= FIELD_PREP(A6_CRY_MD_HASH_SEL_CTX, sel_ctx);
1367 if (req_ctx->hash_flags & HASH_FLAG_FINALIZE)
1368 req_ctx->hash_md |= A6_CRY_MD_HASH_HMAC_FIN;
1370 req_ctx->hash_md &= ~A7_CRY_MD_HASH_SEL_CTX;
1371 req_ctx->hash_md |= FIELD_PREP(A7_CRY_MD_HASH_SEL_CTX, sel_ctx);
1374 if (req_ctx->hash_flags & HASH_FLAG_FINALIZE)
1375 req_ctx->hash_md |= A7_CRY_MD_HASH_HMAC_FIN;
1380 (void *)&req_ctx->hash_md,
1381 sizeof(req_ctx->hash_md), false, false);
1391 req_ctx->digeststate,
1398 if (req_ctx->hash_flags & HASH_FLAG_UPDATE) {
1400 size_t total_bytes = areq->nbytes + req_ctx->partial_bytes;
1405 if (req_ctx->partial_bytes && ready_bytes) {
1410 memcpy(req_ctx->partial_buffer_out,
1411 req_ctx->partial_buffer,
1412 req_ctx->partial_bytes);
1415 req_ctx->partial_buffer_out,
1416 req_ctx->partial_bytes,
1422 done_bytes += req_ctx->partial_bytes;
1423 req_ctx->partial_bytes = 0;
1439 req_ctx->partial_buffer +
1440 req_ctx->partial_bytes,
1443 req_ctx->partial_bytes += sg_rem;
1446 req_ctx->digcnt += ready_bytes;
1447 req_ctx->hash_flags &= ~(HASH_FLAG_UPDATE);
1451 if (req_ctx->hash_flags & HASH_FLAG_FINALIZE) {
1457 oper = FIELD_GET(A6_CRY_MD_OPER, req_ctx->hash_md);
1459 oper = FIELD_GET(A7_CRY_MD_OPER, req_ctx->hash_md);
1462 if (req_ctx->partial_bytes) {
1463 memcpy(req_ctx->partial_buffer_out,
1464 req_ctx->partial_buffer,
1465 req_ctx->partial_bytes);
1467 req_ctx->partial_buffer_out,
1468 req_ctx->partial_bytes,
1473 req_ctx->digcnt += req_ctx->partial_bytes;
1474 req_ctx->partial_bytes = 0;
1477 if (req_ctx->hash_flags & HASH_FLAG_HMAC)
1478 digest_bits = 8 * (req_ctx->digcnt + blocksize);
1480 digest_bits = 8 * req_ctx->digcnt;
1483 hash_pad_len = create_hash_pad(oper, req_ctx->pad_buffer,
1484 req_ctx->digcnt, digest_bits);
1486 req_ctx->pad_buffer,
1489 req_ctx->digcnt = 0;
1507 req_ctx->digeststate,
1514 req_ctx->hash_flags &= ~(HASH_FLAG_INIT_CTX | HASH_FLAG_UPDATE |
1665 struct artpec6_crypto_request_context *req_ctx = NULL;
1675 req_ctx = skcipher_request_ctx(areq);
1676 common = &req_ctx->common;
1695 req_ctx->cipher_md = 0;
1722 cipher_decr = req_ctx->decrypt;
1727 cipher_decr = req_ctx->decrypt;
1737 cipher_decr = req_ctx->decrypt;
1740 req_ctx->cipher_md |= A6_CRY_MD_CIPHER_DSEQ;
1742 req_ctx->cipher_md |= A7_CRY_MD_CIPHER_DSEQ;
1752 req_ctx->cipher_md |= FIELD_PREP(A6_CRY_MD_OPER, oper);
1753 req_ctx->cipher_md |= FIELD_PREP(A6_CRY_MD_CIPHER_LEN,
1756 req_ctx->cipher_md |= A6_CRY_MD_CIPHER_DECR;
1758 req_ctx->cipher_md |= FIELD_PREP(A7_CRY_MD_OPER, oper);
1759 req_ctx->cipher_md |= FIELD_PREP(A7_CRY_MD_CIPHER_LEN,
1762 req_ctx->cipher_md |= A7_CRY_MD_CIPHER_DECR;
1766 &req_ctx->cipher_md,
1767 sizeof(req_ctx->cipher_md),
1832 struct artpec6_crypto_aead_req_ctx *req_ctx = aead_request_ctx(areq);
1834 struct artpec6_crypto_req_common *common = &req_ctx->common;
1859 req_ctx->cipher_md = 0;
1876 req_ctx->cipher_md |= FIELD_PREP(A6_CRY_MD_OPER,
1878 req_ctx->cipher_md |= FIELD_PREP(A6_CRY_MD_CIPHER_LEN,
1880 if (req_ctx->decrypt)
1881 req_ctx->cipher_md |= A6_CRY_MD_CIPHER_DECR;
1883 req_ctx->cipher_md |= FIELD_PREP(A7_CRY_MD_OPER,
1885 req_ctx->cipher_md |= FIELD_PREP(A7_CRY_MD_CIPHER_LEN,
1887 if (req_ctx->decrypt)
1888 req_ctx->cipher_md |= A7_CRY_MD_CIPHER_DECR;
1892 (void *) &req_ctx->cipher_md,
1893 sizeof(req_ctx->cipher_md), false,
1904 if (req_ctx->decrypt)
1908 req_ctx->hw_ctx.aad_length_bits =
1911 req_ctx->hw_ctx.text_length_bits =
1914 memcpy(req_ctx->hw_ctx.J0, areq->iv, crypto_aead_ivsize(cipher));
1916 memcpy(req_ctx->hw_ctx.J0 + GCM_AES_IV_SIZE, "\x00\x00\x00\x01", 4);
1918 ret = artpec6_crypto_setup_out_descr(common, &req_ctx->hw_ctx,
1969 if (req_ctx->decrypt)
2000 if (req_ctx->decrypt) {
2002 req_ctx->decryption_tag, AES_BLOCK_SIZE, false);
2186 struct artpec6_crypto_aead_req_ctx *req_ctx = aead_request_ctx(areq);
2188 if (req_ctx->decrypt) {
2199 if (crypto_memneq(req_ctx->decryption_tag,
2206 req_ctx->decryption_tag,
2261 struct artpec6_hash_request_context *req_ctx = ahash_request_ctx(req);
2264 memset(req_ctx, 0, sizeof(*req_ctx));
2266 req_ctx->hash_flags = HASH_FLAG_INIT_CTX;
2268 req_ctx->hash_flags |= (HASH_FLAG_HMAC | HASH_FLAG_UPDATE_KEY);
2283 req_ctx->hash_md = FIELD_PREP(A6_CRY_MD_OPER, oper);
2285 req_ctx->hash_md = FIELD_PREP(A7_CRY_MD_OPER, oper);
2292 struct artpec6_hash_request_context *req_ctx = ahash_request_ctx(req);
2295 if (!req_ctx->common.dma) {
2296 ret = artpec6_crypto_common_init(&req_ctx->common,
2308 ret = artpec6_crypto_submit(&req_ctx->common);
2316 artpec6_crypto_common_destroy(&req_ctx->common);
2325 struct artpec6_hash_request_context *req_ctx = ahash_request_ctx(req);
2327 req_ctx->hash_flags |= HASH_FLAG_FINALIZE;
2334 struct artpec6_hash_request_context *req_ctx = ahash_request_ctx(req);
2336 req_ctx->hash_flags |= HASH_FLAG_UPDATE;
2348 struct artpec6_hash_request_context *req_ctx = ahash_request_ctx(req);
2352 req_ctx->hash_flags |= HASH_FLAG_UPDATE | HASH_FLAG_FINALIZE;
2364 struct artpec6_hash_request_context *req_ctx = ahash_request_ctx(req);
2367 req_ctx->hash_flags |= HASH_FLAG_UPDATE | HASH_FLAG_FINALIZE;
2379 struct artpec6_hash_request_context *req_ctx = ahash_request_ctx(req);
2382 req_ctx->hash_flags |= HASH_FLAG_UPDATE | HASH_FLAG_FINALIZE;