]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
crypto: chelsio - Use same value for both channel in single WR
authorHarsh Jain <harsh@chelsio.com>
Tue, 11 Dec 2018 10:51:38 +0000 (16:21 +0530)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sun, 23 Dec 2018 03:52:43 +0000 (11:52 +0800)
Use tx_channel_id instead of rx_channel_id.

Signed-off-by: Harsh Jain <harsh@chelsio.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/chelsio/chcr_algo.c
drivers/crypto/chelsio/chcr_core.h

index 2b26735fd122e0fe9db3e5318957324c2a91c73c..ee985ad690397ece64d75eb4a804b8c8af14a667 100644 (file)
@@ -717,7 +717,7 @@ static inline void create_wreq(struct chcr_context *ctx,
                htonl(FW_CRYPTO_LOOKASIDE_WR_LEN16_V(DIV_ROUND_UP(len16, 16)));
        chcr_req->wreq.cookie = cpu_to_be64((uintptr_t)req);
        chcr_req->wreq.rx_chid_to_rx_q_id =
-               FILL_WR_RX_Q_ID(ctx->dev->rx_channel_id, qid,
+               FILL_WR_RX_Q_ID(ctx->tx_chan_id, qid,
                                !!lcb, ctx->tx_qidx);
 
        chcr_req->ulptx.cmd_dest = FILL_ULPTX_CMD_DEST(ctx->tx_chan_id,
@@ -773,7 +773,7 @@ static struct sk_buff *create_cipher_wr(struct cipher_wr_param *wrparam)
        }
        chcr_req = __skb_put_zero(skb, transhdr_len);
        chcr_req->sec_cpl.op_ivinsrtofst =
-               FILL_SEC_CPL_OP_IVINSR(c_ctx(tfm)->dev->rx_channel_id, 2, 1);
+               FILL_SEC_CPL_OP_IVINSR(c_ctx(tfm)->tx_chan_id, 2, 1);
 
        chcr_req->sec_cpl.pldlen = htonl(IV + wrparam->bytes);
        chcr_req->sec_cpl.aadstart_cipherstop_hi =
@@ -1344,7 +1344,6 @@ static int chcr_device_init(struct chcr_context *ctx)
                spin_lock(&ctx->dev->lock_chcr_dev);
                ctx->tx_chan_id = ctx->dev->tx_channel_id;
                ctx->dev->tx_channel_id = !ctx->dev->tx_channel_id;
-               ctx->dev->rx_channel_id = 0;
                spin_unlock(&ctx->dev->lock_chcr_dev);
                rxq_idx = ctx->tx_chan_id * rxq_perchan;
                rxq_idx += id % rxq_perchan;
@@ -1498,7 +1497,7 @@ static struct sk_buff *create_hash_wr(struct ahash_request *req,
        chcr_req = __skb_put_zero(skb, transhdr_len);
 
        chcr_req->sec_cpl.op_ivinsrtofst =
-               FILL_SEC_CPL_OP_IVINSR(h_ctx(tfm)->dev->rx_channel_id, 2, 0);
+               FILL_SEC_CPL_OP_IVINSR(h_ctx(tfm)->tx_chan_id, 2, 0);
        chcr_req->sec_cpl.pldlen = htonl(param->bfr_len + param->sg_len);
 
        chcr_req->sec_cpl.aadstart_cipherstop_hi =
@@ -2324,7 +2323,7 @@ static struct sk_buff *create_authenc_wr(struct aead_request *req,
         * to the hardware spec
         */
        chcr_req->sec_cpl.op_ivinsrtofst =
-               FILL_SEC_CPL_OP_IVINSR(a_ctx(tfm)->dev->rx_channel_id, 2, 1);
+               FILL_SEC_CPL_OP_IVINSR(a_ctx(tfm)->tx_chan_id, 2, 1);
        chcr_req->sec_cpl.pldlen = htonl(req->assoclen + IV + req->cryptlen);
        chcr_req->sec_cpl.aadstart_cipherstop_hi = FILL_SEC_CPL_CIPHERSTOP_HI(
                                        null ? 0 : 1 + IV,
@@ -2746,7 +2745,7 @@ static void fill_sec_cpl_for_aead(struct cpl_tx_sec_pdu *sec_cpl,
        struct chcr_aead_ctx *aeadctx = AEAD_CTX(a_ctx(tfm));
        unsigned int cipher_mode = CHCR_SCMD_CIPHER_MODE_AES_CCM;
        unsigned int mac_mode = CHCR_SCMD_AUTH_MODE_CBCMAC;
-       unsigned int c_id = a_ctx(tfm)->dev->rx_channel_id;
+       unsigned int c_id = a_ctx(tfm)->tx_chan_id;
        unsigned int ccm_xtra;
        unsigned char tag_offset = 0, auth_offset = 0;
        unsigned int assoclen;
@@ -2967,7 +2966,7 @@ static struct sk_buff *create_gcm_wr(struct aead_request *req,
        //Offset of tag from end
        temp = (reqctx->op == CHCR_ENCRYPT_OP) ? 0 : authsize;
        chcr_req->sec_cpl.op_ivinsrtofst = FILL_SEC_CPL_OP_IVINSR(
-                                       a_ctx(tfm)->dev->rx_channel_id, 2, 1);
+                                       a_ctx(tfm)->tx_chan_id, 2, 1);
        chcr_req->sec_cpl.pldlen =
                htonl(req->assoclen + IV + req->cryptlen);
        chcr_req->sec_cpl.aadstart_cipherstop_hi = FILL_SEC_CPL_CIPHERSTOP_HI(
index 4616663e25d7ea5289cff5a5e000eff64bcee11c..a50a24f39607cd5525c88001f82d0b3ab4485441 100644 (file)
@@ -133,7 +133,6 @@ struct chcr_dev {
        spinlock_t lock_chcr_dev;
        struct uld_ctx *u_ctx;
        unsigned char tx_channel_id;
-       unsigned char rx_channel_id;
 };
 
 struct uld_ctx {