lib/idxd: fix bugs with IAA decompression descriptor construction
Masked by how accel_perf was doing decomp verificiation which is changed in the next few patches and verifies these fixes. Signed-off-by: paul luse <paul.e.luse@intel.com> Change-Id: Icb03fc169bf8d2f05396addaf1db56d6de1827d1 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13038 Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
parent
8718eba606
commit
3d5fd5a59f
@ -41,6 +41,8 @@ extern "C" {
|
||||
#define IAA_COMP_FLUSH_OUTPUT (1 << 1)
|
||||
#define IAA_COMP_APPEND_EOB (1 << 2)
|
||||
#define IAA_COMP_FLAGS (IAA_COMP_FLUSH_OUTPUT | IAA_COMP_APPEND_EOB)
|
||||
#define IAA_DECOMP_ENABLE (1 << 0)
|
||||
#define IAA_DECOMP_FLAGS (IAA_DECOMP_ENABLE)
|
||||
|
||||
/*
|
||||
* IDXD is a family of devices, DSA and IAA.
|
||||
|
@ -1205,15 +1205,12 @@ _idxd_submit_decompress_single(struct spdk_idxd_io_channel *chan, void *dst, con
|
||||
}
|
||||
|
||||
/* Command specific. */
|
||||
desc->opcode = IDXD_OPCODE_COMPRESS;
|
||||
desc->opcode = IDXD_OPCODE_DECOMPRESS;
|
||||
desc->src1_addr = src_addr;
|
||||
desc->dst_addr = dst_addr;
|
||||
desc->src1_size = nbytes;
|
||||
desc->iaa.max_dst_size = nbytes_dst;
|
||||
desc->iaa.src2_size = sizeof(struct iaa_aecs);
|
||||
desc->iaa.src2_addr = (uint64_t)chan->idxd->aecs;
|
||||
desc->flags |= IAA_FLAG_RD_SRC2_AECS;
|
||||
desc->compr_flags = IAA_COMP_FLAGS;
|
||||
desc->decompr_flags = IAA_DECOMP_FLAGS;
|
||||
|
||||
_submit_to_hw(chan, op);
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user