aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/804-crypto-0035-crypto-caam-qi-use-QBMan-NXP-SDK-driver.patch
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2022-03-21 01:16:48 +0000
committerDaniel Golle <daniel@makrotopia.org>2022-03-21 13:11:56 +0000
commit786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186 (patch)
tree926fecb2b1f6ce1e42ba7ef4c7aab8e68dfd214c /target/linux/layerscape/patches-5.4/804-crypto-0035-crypto-caam-qi-use-QBMan-NXP-SDK-driver.patch
parent9470160c350d15f765c33d6c1db15d6c4709a64c (diff)
downloadupstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.tar.gz
upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.tar.bz2
upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.zip
kernel: delete Linux 5.4 config and patches
As the upcoming release will be based on Linux 5.10 only, remove all kernel configuration as well as patches for Linux 5.4. There were no targets still actively using Linux 5.4. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 3a14580411adfb75f9a44eded9f41245b9e44606)
Diffstat (limited to 'target/linux/layerscape/patches-5.4/804-crypto-0035-crypto-caam-qi-use-QBMan-NXP-SDK-driver.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/804-crypto-0035-crypto-caam-qi-use-QBMan-NXP-SDK-driver.patch342
1 files changed, 0 insertions, 342 deletions
diff --git a/target/linux/layerscape/patches-5.4/804-crypto-0035-crypto-caam-qi-use-QBMan-NXP-SDK-driver.patch b/target/linux/layerscape/patches-5.4/804-crypto-0035-crypto-caam-qi-use-QBMan-NXP-SDK-driver.patch
deleted file mode 100644
index 524ac40692..0000000000
--- a/target/linux/layerscape/patches-5.4/804-crypto-0035-crypto-caam-qi-use-QBMan-NXP-SDK-driver.patch
+++ /dev/null
@@ -1,342 +0,0 @@
-From 28ef279c55a914372bf41587f6264e8e3e61e7d5 Mon Sep 17 00:00:00 2001
-From: Horia Geanta <horia.geanta@nxp.com>
-Date: Mon, 12 Jun 2017 19:42:34 +0300
-Subject: [PATCH] crypto: caam/qi - use QBMan (NXP) SDK driver
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Update caam/qi to work with QBMan from NXP SDK.
-
-Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
-
-Squashed "crypto: caam/qi - fix FD congestion weight" fix.
-
-Solved rebase conflicts:
-
-drivers/crypto/caam/qi.c:579
- kept call to dev_err_ratelimited, but changed to fd->status
-drivers/crypto/caam/sg_sw_qm.h:96
- kept changes from patch, but changed sg_count to len
-
-Signed-off-by: Vlad Pelin <vlad.pelin@nxp.com>
-Acked-by: Horia Geanta <horia.geanta@nxp.com>
----
- drivers/crypto/caam/Kconfig | 2 +-
- drivers/crypto/caam/qi.c | 82 +++++++++++++++++++++---------------------
- drivers/crypto/caam/qi.h | 2 +-
- drivers/crypto/caam/sg_sw_qm.h | 46 ++++++++++++++++--------
- 4 files changed, 74 insertions(+), 58 deletions(-)
-
---- a/drivers/crypto/caam/Kconfig
-+++ b/drivers/crypto/caam/Kconfig
-@@ -106,7 +106,7 @@ config CRYPTO_DEV_FSL_CAAM_CRYPTO_API
-
- config CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI
- bool "Queue Interface as Crypto API backend"
-- depends on FSL_DPAA && NET
-+ depends on FSL_SDK_DPA && NET
- default y
- select CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC
- select CRYPTO_AUTHENC
---- a/drivers/crypto/caam/qi.c
-+++ b/drivers/crypto/caam/qi.c
-@@ -9,7 +9,7 @@
-
- #include <linux/cpumask.h>
- #include <linux/kthread.h>
--#include <soc/fsl/qman.h>
-+#include <linux/fsl_qman.h>
-
- #include "regs.h"
- #include "qi.h"
-@@ -107,23 +107,21 @@ static void *caam_iova_to_virt(struct io
- int caam_qi_enqueue(struct device *qidev, struct caam_drv_req *req)
- {
- struct qm_fd fd;
-- dma_addr_t addr;
- int ret;
- int num_retries = 0;
-
-- qm_fd_clear_fd(&fd);
-- qm_fd_set_compound(&fd, qm_sg_entry_get_len(&req->fd_sgt[1]));
--
-- addr = dma_map_single(qidev, req->fd_sgt, sizeof(req->fd_sgt),
-+ fd.cmd = 0;
-+ fd.format = qm_fd_compound;
-+ fd.cong_weight = caam32_to_cpu(req->fd_sgt[1].length);
-+ fd.addr = dma_map_single(qidev, req->fd_sgt, sizeof(req->fd_sgt),
- DMA_BIDIRECTIONAL);
-- if (dma_mapping_error(qidev, addr)) {
-+ if (dma_mapping_error(qidev, fd.addr)) {
- dev_err(qidev, "DMA mapping error for QI enqueue request\n");
- return -EIO;
- }
-- qm_fd_addr_set64(&fd, addr);
-
- do {
-- ret = qman_enqueue(req->drv_ctx->req_fq, &fd);
-+ ret = qman_enqueue(req->drv_ctx->req_fq, &fd, 0);
- if (likely(!ret))
- return 0;
-
-@@ -139,7 +137,7 @@ int caam_qi_enqueue(struct device *qidev
- EXPORT_SYMBOL(caam_qi_enqueue);
-
- static void caam_fq_ern_cb(struct qman_portal *qm, struct qman_fq *fq,
-- const union qm_mr_entry *msg)
-+ const struct qm_mr_entry *msg)
- {
- const struct qm_fd *fd;
- struct caam_drv_req *drv_req;
-@@ -148,7 +146,7 @@ static void caam_fq_ern_cb(struct qman_p
-
- fd = &msg->ern.fd;
-
-- if (qm_fd_get_format(fd) != qm_fd_compound) {
-+ if (fd->format != qm_fd_compound) {
- dev_err(qidev, "Non-compound FD from CAAM\n");
- return;
- }
-@@ -186,20 +184,22 @@ static struct qman_fq *create_caam_req_f
- req_fq->cb.fqs = NULL;
-
- ret = qman_create_fq(0, QMAN_FQ_FLAG_DYNAMIC_FQID |
-- QMAN_FQ_FLAG_TO_DCPORTAL, req_fq);
-+ QMAN_FQ_FLAG_TO_DCPORTAL | QMAN_FQ_FLAG_LOCKED,
-+ req_fq);
- if (ret) {
- dev_err(qidev, "Failed to create session req FQ\n");
- goto create_req_fq_fail;
- }
-
-- memset(&opts, 0, sizeof(opts));
-- opts.we_mask = cpu_to_be16(QM_INITFQ_WE_FQCTRL | QM_INITFQ_WE_DESTWQ |
-- QM_INITFQ_WE_CONTEXTB |
-- QM_INITFQ_WE_CONTEXTA | QM_INITFQ_WE_CGID);
-- opts.fqd.fq_ctrl = cpu_to_be16(QM_FQCTRL_CPCSTASH | QM_FQCTRL_CGE);
-- qm_fqd_set_destwq(&opts.fqd, qm_channel_caam, 2);
-- opts.fqd.context_b = cpu_to_be32(qman_fq_fqid(rsp_fq));
-- qm_fqd_context_a_set64(&opts.fqd, hwdesc);
-+ opts.we_mask = QM_INITFQ_WE_FQCTRL | QM_INITFQ_WE_DESTWQ |
-+ QM_INITFQ_WE_CONTEXTB | QM_INITFQ_WE_CONTEXTA |
-+ QM_INITFQ_WE_CGID;
-+ opts.fqd.fq_ctrl = QM_FQCTRL_CPCSTASH | QM_FQCTRL_CGE;
-+ opts.fqd.dest.channel = qm_channel_caam;
-+ opts.fqd.dest.wq = 2;
-+ opts.fqd.context_b = qman_fq_fqid(rsp_fq);
-+ opts.fqd.context_a.hi = upper_32_bits(hwdesc);
-+ opts.fqd.context_a.lo = lower_32_bits(hwdesc);
- opts.fqd.cgid = qipriv.cgr.cgrid;
-
- ret = qman_init_fq(req_fq, fq_sched_flag, &opts);
-@@ -213,7 +213,7 @@ static struct qman_fq *create_caam_req_f
- return req_fq;
-
- init_req_fq_fail:
-- qman_destroy_fq(req_fq);
-+ qman_destroy_fq(req_fq, 0);
- create_req_fq_fail:
- kfree(req_fq);
- return ERR_PTR(ret);
-@@ -281,7 +281,7 @@ empty_fq:
- if (ret)
- dev_err(qidev, "OOS of FQID: %u failed\n", fq->fqid);
-
-- qman_destroy_fq(fq);
-+ qman_destroy_fq(fq, 0);
- kfree(fq);
-
- return ret;
-@@ -298,7 +298,7 @@ static int empty_caam_fq(struct qman_fq
- if (ret)
- return ret;
-
-- if (!qm_mcr_np_get(&np, frm_cnt))
-+ if (!np.frm_cnt)
- break;
-
- msleep(20);
-@@ -565,30 +565,28 @@ static enum qman_cb_dqrr_result caam_rsp
- const struct qm_fd *fd;
- struct device *qidev = &(raw_cpu_ptr(&pcpu_qipriv)->net_dev.dev);
- struct caam_drv_private *priv = dev_get_drvdata(qidev);
-- u32 status;
-
- if (caam_qi_napi_schedule(p, caam_napi))
- return qman_cb_dqrr_stop;
-
- fd = &dqrr->fd;
-- status = be32_to_cpu(fd->status);
-- if (unlikely(status)) {
-- u32 ssrc = status & JRSTA_SSRC_MASK;
-- u8 err_id = status & JRSTA_CCBERR_ERRID_MASK;
-+ if (unlikely(fd->status)) {
-+ u32 ssrc = fd->status & JRSTA_SSRC_MASK;
-+ u8 err_id = fd->status & JRSTA_CCBERR_ERRID_MASK;
-
- if (ssrc != JRSTA_SSRC_CCB_ERROR ||
- err_id != JRSTA_CCBERR_ERRID_ICVCHK)
- dev_err_ratelimited(qidev,
- "Error: %#x in CAAM response FD\n",
-- status);
-+ fd->status);
- }
-
-- if (unlikely(qm_fd_get_format(fd) != qm_fd_compound)) {
-+ if (unlikely(fd->format != qm_fd_compound)) {
- dev_err(qidev, "Non-compound FD from CAAM\n");
- return qman_cb_dqrr_consume;
- }
-
-- drv_req = caam_iova_to_virt(priv->domain, qm_fd_addr_get64(fd));
-+ drv_req = caam_iova_to_virt(priv->domain, fd->addr);
- if (unlikely(!drv_req)) {
- dev_err(qidev,
- "Can't find original request for caam response\n");
-@@ -598,7 +596,7 @@ static enum qman_cb_dqrr_result caam_rsp
- dma_unmap_single(drv_req->drv_ctx->qidev, qm_fd_addr(fd),
- sizeof(drv_req->fd_sgt), DMA_BIDIRECTIONAL);
-
-- drv_req->cbk(drv_req, status);
-+ drv_req->cbk(drv_req, fd->status);
- return qman_cb_dqrr_consume;
- }
-
-@@ -622,17 +620,18 @@ static int alloc_rsp_fq_cpu(struct devic
- return -ENODEV;
- }
-
-- memset(&opts, 0, sizeof(opts));
-- opts.we_mask = cpu_to_be16(QM_INITFQ_WE_FQCTRL | QM_INITFQ_WE_DESTWQ |
-- QM_INITFQ_WE_CONTEXTB |
-- QM_INITFQ_WE_CONTEXTA | QM_INITFQ_WE_CGID);
-- opts.fqd.fq_ctrl = cpu_to_be16(QM_FQCTRL_CTXASTASHING |
-- QM_FQCTRL_CPCSTASH | QM_FQCTRL_CGE);
-- qm_fqd_set_destwq(&opts.fqd, qman_affine_channel(cpu), 3);
-+ opts.we_mask = QM_INITFQ_WE_FQCTRL | QM_INITFQ_WE_DESTWQ |
-+ QM_INITFQ_WE_CONTEXTB | QM_INITFQ_WE_CONTEXTA |
-+ QM_INITFQ_WE_CGID;
-+ opts.fqd.fq_ctrl = QM_FQCTRL_CTXASTASHING | QM_FQCTRL_CPCSTASH |
-+ QM_FQCTRL_CGE;
-+ opts.fqd.dest.channel = qman_affine_channel(cpu);
-+ opts.fqd.dest.wq = 3;
- opts.fqd.cgid = qipriv.cgr.cgrid;
- opts.fqd.context_a.stashing.exclusive = QM_STASHING_EXCL_CTX |
- QM_STASHING_EXCL_DATA;
-- qm_fqd_set_stashing(&opts.fqd, 0, 1, 1);
-+ opts.fqd.context_a.stashing.data_cl = 1;
-+ opts.fqd.context_a.stashing.context_cl = 1;
-
- ret = qman_init_fq(fq, QMAN_INITFQ_FLAG_SCHED, &opts);
- if (ret) {
-@@ -662,8 +661,7 @@ static int init_cgr(struct device *qidev
-
- qipriv.cgr.cb = cgr_cb;
- memset(&opts, 0, sizeof(opts));
-- opts.we_mask = cpu_to_be16(QM_CGR_WE_CSCN_EN | QM_CGR_WE_CS_THRES |
-- QM_CGR_WE_MODE);
-+ opts.we_mask = QM_CGR_WE_CSCN_EN | QM_CGR_WE_CS_THRES | QM_CGR_WE_MODE;
- opts.cgr.cscn_en = QM_CGR_EN;
- opts.cgr.mode = QMAN_CGR_MODE_FRAME;
- qm_cgr_cs_thres_set64(&opts.cgr.cs_thres, val, 1);
---- a/drivers/crypto/caam/qi.h
-+++ b/drivers/crypto/caam/qi.h
-@@ -9,7 +9,7 @@
- #ifndef __QI_H__
- #define __QI_H__
-
--#include <soc/fsl/qman.h>
-+#include <linux/fsl_qman.h>
- #include "compat.h"
- #include "desc.h"
- #include "desc_constr.h"
---- a/drivers/crypto/caam/sg_sw_qm.h
-+++ b/drivers/crypto/caam/sg_sw_qm.h
-@@ -7,46 +7,61 @@
- #ifndef __SG_SW_QM_H
- #define __SG_SW_QM_H
-
--#include <soc/fsl/qman.h>
-+#include <linux/fsl_qman.h>
- #include "regs.h"
-
-+static inline void cpu_to_hw_sg(struct qm_sg_entry *qm_sg_ptr)
-+{
-+ dma_addr_t addr = qm_sg_ptr->opaque;
-+
-+ qm_sg_ptr->opaque = cpu_to_caam64(addr);
-+ qm_sg_ptr->sgt_efl = cpu_to_caam32(qm_sg_ptr->sgt_efl);
-+}
-+
- static inline void __dma_to_qm_sg(struct qm_sg_entry *qm_sg_ptr, dma_addr_t dma,
-- u16 offset)
-+ u32 len, u16 offset)
- {
-- qm_sg_entry_set64(qm_sg_ptr, dma);
-+ qm_sg_ptr->addr = dma;
-+ qm_sg_ptr->length = len;
- qm_sg_ptr->__reserved2 = 0;
- qm_sg_ptr->bpid = 0;
-- qm_sg_ptr->offset = cpu_to_be16(offset & QM_SG_OFF_MASK);
-+ qm_sg_ptr->__reserved3 = 0;
-+ qm_sg_ptr->offset = offset & QM_SG_OFFSET_MASK;
-+
-+ cpu_to_hw_sg(qm_sg_ptr);
- }
-
- static inline void dma_to_qm_sg_one(struct qm_sg_entry *qm_sg_ptr,
- dma_addr_t dma, u32 len, u16 offset)
- {
-- __dma_to_qm_sg(qm_sg_ptr, dma, offset);
-- qm_sg_entry_set_len(qm_sg_ptr, len);
-+ qm_sg_ptr->extension = 0;
-+ qm_sg_ptr->final = 0;
-+ __dma_to_qm_sg(qm_sg_ptr, dma, len, offset);
- }
-
- static inline void dma_to_qm_sg_one_last(struct qm_sg_entry *qm_sg_ptr,
- dma_addr_t dma, u32 len, u16 offset)
- {
-- __dma_to_qm_sg(qm_sg_ptr, dma, offset);
-- qm_sg_entry_set_f(qm_sg_ptr, len);
-+ qm_sg_ptr->extension = 0;
-+ qm_sg_ptr->final = 1;
-+ __dma_to_qm_sg(qm_sg_ptr, dma, len, offset);
- }
-
- static inline void dma_to_qm_sg_one_ext(struct qm_sg_entry *qm_sg_ptr,
- dma_addr_t dma, u32 len, u16 offset)
- {
-- __dma_to_qm_sg(qm_sg_ptr, dma, offset);
-- qm_sg_ptr->cfg = cpu_to_be32(QM_SG_EXT | (len & QM_SG_LEN_MASK));
-+ qm_sg_ptr->extension = 1;
-+ qm_sg_ptr->final = 0;
-+ __dma_to_qm_sg(qm_sg_ptr, dma, len, offset);
- }
-
- static inline void dma_to_qm_sg_one_last_ext(struct qm_sg_entry *qm_sg_ptr,
- dma_addr_t dma, u32 len,
- u16 offset)
- {
-- __dma_to_qm_sg(qm_sg_ptr, dma, offset);
-- qm_sg_ptr->cfg = cpu_to_be32(QM_SG_EXT | QM_SG_FIN |
-- (len & QM_SG_LEN_MASK));
-+ qm_sg_ptr->extension = 1;
-+ qm_sg_ptr->final = 1;
-+ __dma_to_qm_sg(qm_sg_ptr, dma, len, offset);
- }
-
- /*
-@@ -79,7 +94,10 @@ static inline void sg_to_qm_sg_last(stru
- struct qm_sg_entry *qm_sg_ptr, u16 offset)
- {
- qm_sg_ptr = sg_to_qm_sg(sg, len, qm_sg_ptr, offset);
-- qm_sg_entry_set_f(qm_sg_ptr, qm_sg_entry_get_len(qm_sg_ptr));
-+
-+ qm_sg_ptr->sgt_efl = caam32_to_cpu(qm_sg_ptr->sgt_efl);
-+ qm_sg_ptr->final = 1;
-+ qm_sg_ptr->sgt_efl = cpu_to_caam32(qm_sg_ptr->sgt_efl);
- }
-
- #endif /* __SG_SW_QM_H */