Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto updates from Herbert Xu: "API: - Remove VLA usage - Add cryptostat user-space interface - Add notifier for new crypto algorithms Algorithms: - Add OFB mode - Remove speck Drivers: - Remove x86/sha*-mb as they are buggy - Remove pcbc(aes) from x86/aesni - Improve performance of arm/ghash-ce by up to 85% - Implement CTS-CBC in arm64/aes-blk, faster by up to 50% - Remove PMULL based arm64/crc32 driver - Use PMULL in arm64/crct10dif - Add aes-ctr support in s5p-sss - Add caam/qi2 driver Others: - Pick better transform if one becomes available in crc-t10dif" * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (124 commits) crypto: chelsio - Update ntx queue received from cxgb4 crypto: ccree - avoid implicit enum conversion crypto: caam - add SPDX license identifier to all files crypto: caam/qi - simplify CGR allocation, freeing crypto: mxs-dcp - make symbols 'sha1_null_hash' and 'sha256_null_hash' static crypto: arm64/aes-blk - ensure XTS mask is always loaded crypto: testmgr - fix sizeof() on COMP_BUF_SIZE crypto: chtls - remove set but not used variable 'csk' crypto: axis - fix platform_no_drv_owner.cocci warnings crypto: x86/aes-ni - fix build error following fpu template removal crypto: arm64/aes - fix handling sub-block CTS-CBC inputs crypto: caam/qi2 - avoid double export crypto: mxs-dcp - Fix AES issues crypto: mxs-dcp - Fix SHA null hashes and output length crypto: mxs-dcp - Implement sha import/export crypto: aegis/generic - fix for big endian systems crypto: morus/generic - fix for big endian systems crypto: lrw - fix rebase error after out of bounds fix crypto: cavium/nitrox - use pci_alloc_irq_vectors() while enabling MSI-X. crypto: cavium/nitrox - NITROX command queue changes. ...
This commit is contained in:
@@ -309,6 +309,37 @@ int dpaa2_io_service_rearm(struct dpaa2_io *d,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(dpaa2_io_service_rearm);
|
||||
|
||||
/**
|
||||
* dpaa2_io_service_pull_fq() - pull dequeue functions from a fq.
|
||||
* @d: the given DPIO service.
|
||||
* @fqid: the given frame queue id.
|
||||
* @s: the dpaa2_io_store object for the result.
|
||||
*
|
||||
* Return 0 for success, or error code for failure.
|
||||
*/
|
||||
int dpaa2_io_service_pull_fq(struct dpaa2_io *d, u32 fqid,
|
||||
struct dpaa2_io_store *s)
|
||||
{
|
||||
struct qbman_pull_desc pd;
|
||||
int err;
|
||||
|
||||
qbman_pull_desc_clear(&pd);
|
||||
qbman_pull_desc_set_storage(&pd, s->vaddr, s->paddr, 1);
|
||||
qbman_pull_desc_set_numframes(&pd, (u8)s->max);
|
||||
qbman_pull_desc_set_fq(&pd, fqid);
|
||||
|
||||
d = service_select(d);
|
||||
if (!d)
|
||||
return -ENODEV;
|
||||
s->swp = d->swp;
|
||||
err = qbman_swp_pull(d->swp, &pd);
|
||||
if (err)
|
||||
s->swp = NULL;
|
||||
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL(dpaa2_io_service_pull_fq);
|
||||
|
||||
/**
|
||||
* dpaa2_io_service_pull_channel() - pull dequeue functions from a channel.
|
||||
* @d: the given DPIO service.
|
||||
@@ -341,6 +372,33 @@ int dpaa2_io_service_pull_channel(struct dpaa2_io *d, u32 channelid,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(dpaa2_io_service_pull_channel);
|
||||
|
||||
/**
|
||||
* dpaa2_io_service_enqueue_fq() - Enqueue a frame to a frame queue.
|
||||
* @d: the given DPIO service.
|
||||
* @fqid: the given frame queue id.
|
||||
* @fd: the frame descriptor which is enqueued.
|
||||
*
|
||||
* Return 0 for successful enqueue, -EBUSY if the enqueue ring is not ready,
|
||||
* or -ENODEV if there is no dpio service.
|
||||
*/
|
||||
int dpaa2_io_service_enqueue_fq(struct dpaa2_io *d,
|
||||
u32 fqid,
|
||||
const struct dpaa2_fd *fd)
|
||||
{
|
||||
struct qbman_eq_desc ed;
|
||||
|
||||
d = service_select(d);
|
||||
if (!d)
|
||||
return -ENODEV;
|
||||
|
||||
qbman_eq_desc_clear(&ed);
|
||||
qbman_eq_desc_set_no_orp(&ed, 0);
|
||||
qbman_eq_desc_set_fq(&ed, fqid);
|
||||
|
||||
return qbman_swp_enqueue(d->swp, &ed, fd);
|
||||
}
|
||||
EXPORT_SYMBOL(dpaa2_io_service_enqueue_fq);
|
||||
|
||||
/**
|
||||
* dpaa2_io_service_enqueue_qd() - Enqueue a frame to a QD.
|
||||
* @d: the given DPIO service.
|
||||
|
Reference in New Issue
Block a user