Skip to content

Commit 184e56e

Browse files
committed
crypto: iaa - Move compression CRC into request object
Rather than passing around a CRC between the functions, embed it into the acomp_request context. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
1 parent a7b1d0c commit 184e56e

File tree

1 file changed

+13
-15
lines changed

1 file changed

+13
-15
lines changed

drivers/crypto/intel/iaa/iaa_crypto_main.c

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1020,8 +1020,7 @@ static int iaa_remap_for_verify(struct device *dev, struct iaa_wq *iaa_wq,
10201020
static int iaa_compress_verify(struct crypto_tfm *tfm, struct acomp_req *req,
10211021
struct idxd_wq *wq,
10221022
dma_addr_t src_addr, unsigned int slen,
1023-
dma_addr_t dst_addr, unsigned int *dlen,
1024-
u32 compression_crc);
1023+
dma_addr_t dst_addr, unsigned int *dlen);
10251024

10261025
static void iaa_desc_complete(struct idxd_desc *idxd_desc,
10271026
enum idxd_complete_type comp_type,
@@ -1087,10 +1086,10 @@ static void iaa_desc_complete(struct idxd_desc *idxd_desc,
10871086
}
10881087

10891088
if (ctx->compress && compression_ctx->verify_compress) {
1089+
u32 *compression_crc = acomp_request_ctx(ctx->req);
10901090
dma_addr_t src_addr, dst_addr;
1091-
u32 compression_crc;
10921091

1093-
compression_crc = idxd_desc->iax_completion->crc;
1092+
*compression_crc = idxd_desc->iax_completion->crc;
10941093

10951094
ret = iaa_remap_for_verify(dev, iaa_wq, ctx->req, &src_addr, &dst_addr);
10961095
if (ret) {
@@ -1100,8 +1099,7 @@ static void iaa_desc_complete(struct idxd_desc *idxd_desc,
11001099
}
11011100

11021101
ret = iaa_compress_verify(ctx->tfm, ctx->req, iaa_wq->wq, src_addr,
1103-
ctx->req->slen, dst_addr, &ctx->req->dlen,
1104-
compression_crc);
1102+
ctx->req->slen, dst_addr, &ctx->req->dlen);
11051103
if (ret) {
11061104
dev_dbg(dev, "%s: compress verify failed ret=%d\n", __func__, ret);
11071105
err = -EIO;
@@ -1130,11 +1128,11 @@ static void iaa_desc_complete(struct idxd_desc *idxd_desc,
11301128
static int iaa_compress(struct crypto_tfm *tfm, struct acomp_req *req,
11311129
struct idxd_wq *wq,
11321130
dma_addr_t src_addr, unsigned int slen,
1133-
dma_addr_t dst_addr, unsigned int *dlen,
1134-
u32 *compression_crc)
1131+
dma_addr_t dst_addr, unsigned int *dlen)
11351132
{
11361133
struct iaa_device_compression_mode *active_compression_mode;
11371134
struct iaa_compression_ctx *ctx = crypto_tfm_ctx(tfm);
1135+
u32 *compression_crc = acomp_request_ctx(req);
11381136
struct iaa_device *iaa_device;
11391137
struct idxd_desc *idxd_desc;
11401138
struct iax_hw_desc *desc;
@@ -1282,11 +1280,11 @@ static int iaa_remap_for_verify(struct device *dev, struct iaa_wq *iaa_wq,
12821280
static int iaa_compress_verify(struct crypto_tfm *tfm, struct acomp_req *req,
12831281
struct idxd_wq *wq,
12841282
dma_addr_t src_addr, unsigned int slen,
1285-
dma_addr_t dst_addr, unsigned int *dlen,
1286-
u32 compression_crc)
1283+
dma_addr_t dst_addr, unsigned int *dlen)
12871284
{
12881285
struct iaa_device_compression_mode *active_compression_mode;
12891286
struct iaa_compression_ctx *ctx = crypto_tfm_ctx(tfm);
1287+
u32 *compression_crc = acomp_request_ctx(req);
12901288
struct iaa_device *iaa_device;
12911289
struct idxd_desc *idxd_desc;
12921290
struct iax_hw_desc *desc;
@@ -1346,10 +1344,10 @@ static int iaa_compress_verify(struct crypto_tfm *tfm, struct acomp_req *req,
13461344
goto err;
13471345
}
13481346

1349-
if (compression_crc != idxd_desc->iax_completion->crc) {
1347+
if (*compression_crc != idxd_desc->iax_completion->crc) {
13501348
ret = -EINVAL;
13511349
dev_dbg(dev, "(verify) iaa comp/decomp crc mismatch:"
1352-
" comp=0x%x, decomp=0x%x\n", compression_crc,
1350+
" comp=0x%x, decomp=0x%x\n", *compression_crc,
13531351
idxd_desc->iax_completion->crc);
13541352
print_hex_dump(KERN_INFO, "cmp-rec: ", DUMP_PREFIX_OFFSET,
13551353
8, 1, idxd_desc->iax_completion, 64, 0);
@@ -1496,7 +1494,6 @@ static int iaa_comp_acompress(struct acomp_req *req)
14961494
dma_addr_t src_addr, dst_addr;
14971495
int nr_sgs, cpu, ret = 0;
14981496
struct iaa_wq *iaa_wq;
1499-
u32 compression_crc;
15001497
struct idxd_wq *wq;
15011498
struct device *dev;
15021499

@@ -1557,7 +1554,7 @@ static int iaa_comp_acompress(struct acomp_req *req)
15571554
req->dst, req->dlen, sg_dma_len(req->dst));
15581555

15591556
ret = iaa_compress(tfm, req, wq, src_addr, req->slen, dst_addr,
1560-
&req->dlen, &compression_crc);
1557+
&req->dlen);
15611558
if (ret == -EINPROGRESS)
15621559
return ret;
15631560

@@ -1569,7 +1566,7 @@ static int iaa_comp_acompress(struct acomp_req *req)
15691566
}
15701567

15711568
ret = iaa_compress_verify(tfm, req, wq, src_addr, req->slen,
1572-
dst_addr, &req->dlen, compression_crc);
1569+
dst_addr, &req->dlen);
15731570
if (ret)
15741571
dev_dbg(dev, "asynchronous compress verification failed ret=%d\n", ret);
15751572

@@ -1694,6 +1691,7 @@ static struct acomp_alg iaa_acomp_fixed_deflate = {
16941691
.init = iaa_comp_init_fixed,
16951692
.compress = iaa_comp_acompress,
16961693
.decompress = iaa_comp_adecompress,
1694+
.reqsize = sizeof(u32),
16971695
.base = {
16981696
.cra_name = "deflate",
16991697
.cra_driver_name = "deflate-iaa",

0 commit comments

Comments
 (0)