idxd_desc
static void iaa_desc_complete(struct idxd_desc *idxd_desc,
iaa_wq = idxd_wq_get_private(idxd_desc->wq);
ret = check_completion(dev, idxd_desc->iax_completion,
idxd_desc->iax_completion->status == IAA_ANALYTICS_ERROR) {
idxd_desc->iax_completion->error_code);
ctx->req->dlen = idxd_desc->iax_completion->output_size;
*compression_crc = idxd_desc->iax_completion->crc;
idxd_free_desc(idxd_desc->wq, idxd_desc);
iaa_wq_put(idxd_desc->wq);
struct idxd_desc *idxd_desc;
idxd_desc = idxd_alloc_desc(wq, IDXD_OP_BLOCK);
if (IS_ERR(idxd_desc)) {
dev_dbg(dev, "iaa compress failed: ret=%ld\n", PTR_ERR(idxd_desc));
return PTR_ERR(idxd_desc);
desc = idxd_desc->iax_hw;
desc->completion_addr = idxd_desc->compl_dma;
idxd_desc->crypto.req = req;
idxd_desc->crypto.tfm = tfm;
idxd_desc->crypto.src_addr = src_addr;
idxd_desc->crypto.dst_addr = dst_addr;
idxd_desc->crypto.compress = true;
ret = idxd_submit_desc(wq, idxd_desc);
ret = check_completion(dev, idxd_desc->iax_completion, true, false);
*dlen = idxd_desc->iax_completion->output_size;
*compression_crc = idxd_desc->iax_completion->crc;
idxd_free_desc(wq, idxd_desc);
idxd_free_desc(wq, idxd_desc);
struct idxd_desc *idxd_desc;
idxd_desc = idxd_alloc_desc(wq, IDXD_OP_BLOCK);
if (IS_ERR(idxd_desc)) {
PTR_ERR(idxd_desc));
return PTR_ERR(idxd_desc);
desc = idxd_desc->iax_hw;
desc->completion_addr = idxd_desc->compl_dma;
ret = idxd_submit_desc(wq, idxd_desc);
ret = check_completion(dev, idxd_desc->iax_completion, false, false);
if (*compression_crc != idxd_desc->iax_completion->crc) {
idxd_desc->iax_completion->crc);
8, 1, idxd_desc->iax_completion, 64, 0);
idxd_free_desc(wq, idxd_desc);
idxd_free_desc(wq, idxd_desc);
struct idxd_desc *idxd_desc;
idxd_desc = idxd_alloc_desc(wq, IDXD_OP_BLOCK);
if (IS_ERR(idxd_desc)) {
PTR_ERR(idxd_desc));
return PTR_ERR(idxd_desc);
desc = idxd_desc->iax_hw;
desc->completion_addr = idxd_desc->compl_dma;
idxd_desc->crypto.req = req;
idxd_desc->crypto.tfm = tfm;
idxd_desc->crypto.src_addr = src_addr;
idxd_desc->crypto.dst_addr = dst_addr;
idxd_desc->crypto.compress = false;
ret = idxd_submit_desc(wq, idxd_desc);
ret = check_completion(dev, idxd_desc->iax_completion, false, false);
if (idxd_desc->iax_completion->status == IAA_ANALYTICS_ERROR) {
idxd_desc->iax_completion->error_code);
req->dlen = idxd_desc->iax_completion->output_size;
idxd_free_desc(wq, idxd_desc);
idxd_free_desc(wq, idxd_desc);
struct idxd_desc *desc, *itr;
struct idxd_desc *desc = wq->descs[i];
wq->descs = kcalloc_node(num, sizeof(struct idxd_desc *),
struct idxd_desc *desc;
struct idxd_desc *desc = container_of(tx, struct idxd_desc, txd);
void idxd_dma_complete_txd(struct idxd_desc *desc,
struct idxd_desc *desc = wq->descs[i];
struct idxd_desc *desc;
struct idxd_desc **descs;
struct idxd_desc;
void (*desc_complete)(struct idxd_desc *desc,
void idxd_free_desc(struct idxd_wq *wq, struct idxd_desc *desc);
void idxd_dma_complete_txd(struct idxd_desc *desc,
static inline void idxd_desc_complete(struct idxd_desc *desc,
bool idxd_queue_int_handle_resubmit(struct idxd_desc *desc);
int idxd_submit_desc(struct idxd_wq *wq, struct idxd_desc *desc);
struct idxd_desc *idxd_alloc_desc(struct idxd_wq *wq, enum idxd_op_type optype);
struct idxd_desc *d, *t;
struct idxd_desc *desc;
struct idxd_desc *desc = irw->desc;
bool idxd_queue_int_handle_resubmit(struct idxd_desc *desc)
struct idxd_desc *desc, *t;
struct idxd_desc *desc, *n;
struct idxd_desc *d, *t, *found = NULL;
static struct idxd_desc *__get_desc(struct idxd_wq *wq, int idx, int cpu)
struct idxd_desc *desc;
int idxd_submit_desc(struct idxd_wq *wq, struct idxd_desc *desc)
struct idxd_desc *idxd_alloc_desc(struct idxd_wq *wq, enum idxd_op_type optype)
void idxd_free_desc(struct idxd_wq *wq, struct idxd_desc *desc)
static struct idxd_desc *list_abort_desc(struct idxd_wq *wq, struct idxd_irq_entry *ie,
struct idxd_desc *desc)
struct idxd_desc *d, *n;
struct idxd_desc *desc)