Commit 96d4c7a3 authored by paul luse's avatar paul luse Committed by Jim Harris
Browse files

lib/accel: have accel and idxd engine use task->crc_dst



For clarity, this element was added when crc+copy API was
added so might as well have all the CRC related functions use
it instead of `dst` to avoid confusion.

Signed-off-by: default avatarpaul luse <paul.e.luse@intel.com>
Change-Id: Ic43adbd0df51c1a349847701ef318f452306d0b3
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8229


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarZiye Yang <ziye.yang@intel.com>
parent 2f3f5ec5
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -312,7 +312,7 @@ spdk_accel_submit_crc32c(struct spdk_io_channel *ch, uint32_t *crc_dst, void *sr
		return -ENOMEM;
	}

	accel_task->dst = (void *)crc_dst;
	accel_task->crc_dst = crc_dst;
	accel_task->src = src;
	accel_task->v.iovcnt = 0;
	accel_task->seed = seed;
@@ -345,8 +345,8 @@ crc32cv_done(void *cb_arg, int status)
								~(*((uint32_t *)accel_task->crc_dst)),
								accel_task->chained.cb_fn, accel_task->chained.cb_arg);
		} else {
			status = spdk_accel_submit_crc32cv(ch, accel_task->dst, ++accel_task->v.iovs,
							   accel_task->v.iovcnt - 1, ~(*((uint32_t *)accel_task->dst)),
			status = spdk_accel_submit_crc32cv(ch, accel_task->crc_dst, ++accel_task->v.iovs,
							   accel_task->v.iovcnt - 1, ~(*((uint32_t *)accel_task->crc_dst)),
							   accel_task->chained.cb_fn, accel_task->chained.cb_arg);
		}

@@ -390,7 +390,7 @@ spdk_accel_submit_crc32cv(struct spdk_io_channel *ch, uint32_t *crc_dst, struct

	accel_task->v.iovs = iov;
	accel_task->v.iovcnt = iov_cnt;
	accel_task->dst = (void *)crc_dst;
	accel_task->crc_dst = crc_dst;
	accel_task->seed = seed;
	accel_task->op_code = ACCEL_OPCODE_CRC32C;

@@ -635,7 +635,7 @@ spdk_accel_batch_prep_crc32c(struct spdk_io_channel *ch, struct spdk_accel_batch
		return -ENOMEM;
	}

	accel_task->dst = crc_dst;
	accel_task->crc_dst = crc_dst;
	accel_task->src = src;
	accel_task->v.iovcnt = 0;
	accel_task->seed = seed;
@@ -664,8 +664,9 @@ batched_crc32cv_done(void *cb_arg, int status)
	assert(accel_task->chained.cb_arg != NULL);

	if (spdk_likely(!status)) {
		status = spdk_accel_batch_prep_crc32cv(ch, batch, accel_task->dst,
						       ++accel_task->v.iovs, accel_task->v.iovcnt - 1,  ~(*((uint32_t *)accel_task->dst)),
		status = spdk_accel_batch_prep_crc32cv(ch, batch, accel_task->crc_dst,
						       ++accel_task->v.iovs, accel_task->v.iovcnt - 1,
						       ~(*((uint32_t *)accel_task->crc_dst)),
						       accel_task->chained.cb_fn, accel_task->chained.cb_arg);
		if (spdk_likely(!status)) {
			return;
@@ -707,7 +708,7 @@ spdk_accel_batch_prep_crc32cv(struct spdk_io_channel *ch, struct spdk_accel_batc

	accel_task->v.iovs = iovs;
	accel_task->v.iovcnt = iov_cnt;
	accel_task->dst = crc_dst;
	accel_task->crc_dst = crc_dst;
	accel_task->seed = seed;
	accel_task->op_code = ACCEL_OPCODE_CRC32C;

+1 −1
Original line number Diff line number Diff line
@@ -164,7 +164,7 @@ _process_single_task(struct spdk_io_channel *ch, struct spdk_accel_task *task)
		break;
	case ACCEL_OPCODE_CRC32C:
		src = (task->v.iovcnt == 0) ? task->src : task->v.iovs[0].iov_base;
		rc = spdk_idxd_submit_crc32c(chan->chan, task->dst, src, task->seed, task->nbytes, idxd_done,
		rc = spdk_idxd_submit_crc32c(chan->chan, task->crc_dst, src, task->seed, task->nbytes, idxd_done,
					     task);
		break;
	case ACCEL_OPCODE_COPY_CRC32C: