| /linux/drivers/crypto/qce/ |
| H A D | core.c | 43 struct qce_device *qce = data; in qce_unregister_algs() local 48 ops->unregister_algs(qce); in qce_unregister_algs() 52 static int devm_qce_register_algs(struct qce_device *qce) in devm_qce_register_algs() argument 59 ret = ops->register_algs(qce); in devm_qce_register_algs() 62 ops->unregister_algs(qce); in devm_qce_register_algs() 67 return devm_add_action_or_reset(qce->dev, qce_unregister_algs, qce); in devm_qce_register_algs() 87 static int qce_handle_queue(struct qce_device *qce, in qce_handle_queue() argument 93 scoped_guard(mutex, &qce->lock) { in qce_handle_queue() 95 ret = crypto_enqueue_request(&qce->queue, req); in qce_handle_queue() 98 if (qce->req) in qce_handle_queue() [all …]
|
| H A D | common.c | 21 static inline u32 qce_read(struct qce_device *qce, u32 offset) in qce_read() argument 23 return readl(qce->base + offset); in qce_read() 26 static inline void qce_write(struct qce_device *qce, u32 offset, u32 val) in qce_write() argument 28 writel(val, qce->base + offset); in qce_write() 31 static inline void qce_write_array(struct qce_device *qce, u32 offset, in qce_write_array() argument 37 qce_write(qce, offset + i * sizeof(u32), val[i]); in qce_write_array() 41 qce_clear_array(struct qce_device *qce, u32 offset, unsigned int len) in qce_clear_array() argument 46 qce_write(qce, offset + i * sizeof(u32), 0); in qce_clear_array() 49 static u32 qce_config_reg(struct qce_device *qce, int little) in qce_config_reg() argument 51 u32 beats = (qce->burst_size >> 3) - 1; in qce_config_reg() [all …]
|
| H A D | sha.c | 43 struct qce_device *qce = tmpl->qce; in qce_ahash_done() local 44 struct qce_result_dump *result = qce->dma.result_buf; in qce_ahash_done() 49 error = qce_dma_terminate_all(&qce->dma); in qce_ahash_done() 51 dev_dbg(qce->dev, "ahash dma termination error (%d)\n", error); in qce_ahash_done() 53 dma_unmap_sg(qce->dev, req->src, rctx->src_nents, DMA_TO_DEVICE); in qce_ahash_done() 54 dma_unmap_sg(qce->dev, &rctx->result_sg, 1, DMA_FROM_DEVICE); in qce_ahash_done() 63 error = qce_check_status(qce, &status); in qce_ahash_done() 65 dev_dbg(qce->dev, "ahash operation error (%x)\n", status); in qce_ahash_done() 72 qce->async_req_done(tmpl->qce, error); in qce_ahash_done() 81 struct qce_device *qce = tmpl->qce; in qce_ahash_async_req_handle() local [all …]
|
| H A D | skcipher.c | 33 struct qce_device *qce = tmpl->qce; in qce_skcipher_done() local 34 struct qce_result_dump *result_buf = qce->dma.result_buf; in qce_skcipher_done() 44 error = qce_dma_terminate_all(&qce->dma); in qce_skcipher_done() 46 dev_dbg(qce->dev, "skcipher dma termination error (%d)\n", in qce_skcipher_done() 50 dma_unmap_sg(qce->dev, rctx->src_sg, rctx->src_nents, dir_src); in qce_skcipher_done() 51 dma_unmap_sg(qce->dev, rctx->dst_sg, rctx->dst_nents, dir_dst); in qce_skcipher_done() 55 error = qce_check_status(qce, &status); in qce_skcipher_done() 57 dev_dbg(qce->dev, "skcipher operation error (%x)\n", status); in qce_skcipher_done() 60 qce->async_req_done(tmpl->qce, error); in qce_skcipher_done() 70 struct qce_device *qce = tmpl->qce; in qce_skcipher_async_req_handle() local [all …]
|
| H A D | aead.c | 30 struct qce_device *qce = tmpl->qce; in qce_aead_done() local 31 struct qce_result_dump *result_buf = qce->dma.result_buf; in qce_aead_done() 44 error = qce_dma_terminate_all(&qce->dma); in qce_aead_done() 46 dev_dbg(qce->dev, "aead dma termination error (%d)\n", in qce_aead_done() 49 dma_unmap_sg(qce->dev, rctx->src_sg, rctx->src_nents, dir_src); in qce_aead_done() 51 dma_unmap_sg(qce->dev, rctx->dst_sg, rctx->dst_nents, dir_dst); in qce_aead_done() 66 error = qce_check_status(qce, &status); in qce_aead_done() 68 dev_err(qce->dev, "aead operation error (%x)\n", status); in qce_aead_done() 89 qce->async_req_done(qce, error); in qce_aead_done() 97 struct qce_device *qce = tmpl->qce; in qce_aead_prepare_result_buf() local [all …]
|
| H A D | common.h | 94 struct qce_device *qce; member 100 int qce_check_status(struct qce_device *qce, u32 *status); 101 void qce_get_version(struct qce_device *qce, u32 *major, u32 *minor, u32 *step);
|
| /linux/arch/arm64/boot/dts/qcom/ |
| H A D | sm8350.dtsi | 1823 compatible = "qcom,sm8350-qce", "qcom,sm8150-qce", "qcom,qce";
|
| H A D | talos.dtsi | 1519 compatible = "qcom,qcs615-qce", "qcom,sm8150-qce", "qcom,qce";
|
| H A D | sm8450.dtsi | 5397 compatible = "qcom,sm8450-qce", "qcom,sm8150-qce", "qcom,qce";
|
| H A D | sm8250.dtsi | 2613 compatible = "qcom,sm8250-qce", "qcom,sm8150-qce", "qcom,qce";
|
| H A D | sm8550.dtsi | 2329 compatible = "qcom,sm8550-qce", "qcom,sm8150-qce", "qcom,qce";
|
| H A D | sm8650.dtsi | 4105 compatible = "qcom,sm8650-qce", "qcom,sm8150-qce", "qcom,qce";
|
| /linux/drivers/crypto/ |
| H A D | Kconfig | 646 qce at 256-bytes, 30% faster at 512, and about even at 768-bytes.
|
| /linux/ |
| H A D | MAINTAINERS | 21686 F: Documentation/devicetree/bindings/crypto/qcom-qce.yaml 21687 F: drivers/crypto/qce/
|