Commit c4149431 authored by Herbert Xu's avatar Herbert Xu

crypto: cpt - Fix sparse warnings

This patch fixes all the sparse warnings in the octeontx driver.
Some of these are just trivial type changes.

However, some of the changes are non-trivial on little-endian hosts.
Obviously the driver appears to be broken on either LE or BE as it
was doing different things.  I've taken the BE behaviour as the
correct one.
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent f532ed2a
...@@ -99,10 +99,10 @@ static inline u32 create_ctx_hdr(struct skcipher_request *req, u32 enc, ...@@ -99,10 +99,10 @@ static inline u32 create_ctx_hdr(struct skcipher_request *req, u32 enc,
struct cvm_enc_ctx *ctx = crypto_skcipher_ctx(tfm); struct cvm_enc_ctx *ctx = crypto_skcipher_ctx(tfm);
struct cvm_req_ctx *rctx = skcipher_request_ctx(req); struct cvm_req_ctx *rctx = skcipher_request_ctx(req);
struct fc_context *fctx = &rctx->fctx; struct fc_context *fctx = &rctx->fctx;
u64 *offset_control = &rctx->control_word;
u32 enc_iv_len = crypto_skcipher_ivsize(tfm); u32 enc_iv_len = crypto_skcipher_ivsize(tfm);
struct cpt_request_info *req_info = &rctx->cpt_req; struct cpt_request_info *req_info = &rctx->cpt_req;
u64 *ctrl_flags = NULL; __be64 *ctrl_flags = NULL;
__be64 *offset_control;
req_info->ctrl.s.grp = 0; req_info->ctrl.s.grp = 0;
req_info->ctrl.s.dma_mode = DMA_GATHER_SCATTER; req_info->ctrl.s.dma_mode = DMA_GATHER_SCATTER;
...@@ -126,9 +126,10 @@ static inline u32 create_ctx_hdr(struct skcipher_request *req, u32 enc, ...@@ -126,9 +126,10 @@ static inline u32 create_ctx_hdr(struct skcipher_request *req, u32 enc,
memcpy(fctx->enc.encr_key, ctx->enc_key, ctx->key_len * 2); memcpy(fctx->enc.encr_key, ctx->enc_key, ctx->key_len * 2);
else else
memcpy(fctx->enc.encr_key, ctx->enc_key, ctx->key_len); memcpy(fctx->enc.encr_key, ctx->enc_key, ctx->key_len);
ctrl_flags = (u64 *)&fctx->enc.enc_ctrl.flags; ctrl_flags = (__be64 *)&fctx->enc.enc_ctrl.flags;
*ctrl_flags = cpu_to_be64(*ctrl_flags); *ctrl_flags = cpu_to_be64(fctx->enc.enc_ctrl.flags);
offset_control = (__be64 *)&rctx->control_word;
*offset_control = cpu_to_be64(((u64)(enc_iv_len) << 16)); *offset_control = cpu_to_be64(((u64)(enc_iv_len) << 16));
/* Storing Packet Data Information in offset /* Storing Packet Data Information in offset
* Control Word First 8 bytes * Control Word First 8 bytes
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
*/ */
#include "cptvf.h" #include "cptvf.h"
#include "cptvf_algs.h"
#include "request_manager.h" #include "request_manager.h"
/** /**
...@@ -173,11 +174,10 @@ static inline int setup_sgio_list(struct cpt_vf *cptvf, ...@@ -173,11 +174,10 @@ static inline int setup_sgio_list(struct cpt_vf *cptvf,
goto scatter_gather_clean; goto scatter_gather_clean;
} }
((u16 *)info->in_buffer)[0] = req->outcnt; ((__be16 *)info->in_buffer)[0] = cpu_to_be16(req->outcnt);
((u16 *)info->in_buffer)[1] = req->incnt; ((__be16 *)info->in_buffer)[1] = cpu_to_be16(req->incnt);
((u16 *)info->in_buffer)[2] = 0; ((__be16 *)info->in_buffer)[2] = 0;
((u16 *)info->in_buffer)[3] = 0; ((__be16 *)info->in_buffer)[3] = 0;
*(u64 *)info->in_buffer = cpu_to_be64p((u64 *)info->in_buffer);
memcpy(&info->in_buffer[8], info->gather_components, memcpy(&info->in_buffer[8], info->gather_components,
g_sz_bytes); g_sz_bytes);
...@@ -470,8 +470,6 @@ int process_request(struct cpt_vf *cptvf, struct cpt_request_info *req) ...@@ -470,8 +470,6 @@ int process_request(struct cpt_vf *cptvf, struct cpt_request_info *req)
vq_cmd.cmd.s.param2 = cpu_to_be16(cpt_req->param2); vq_cmd.cmd.s.param2 = cpu_to_be16(cpt_req->param2);
vq_cmd.cmd.s.dlen = cpu_to_be16(cpt_req->dlen); vq_cmd.cmd.s.dlen = cpu_to_be16(cpt_req->dlen);
/* 64-bit swap for microcode data reads, not needed for addresses*/
vq_cmd.cmd.u64 = cpu_to_be64(vq_cmd.cmd.u64);
vq_cmd.dptr = info->dptr_baddr; vq_cmd.dptr = info->dptr_baddr;
vq_cmd.rptr = info->rptr_baddr; vq_cmd.rptr = info->rptr_baddr;
vq_cmd.cptr.u64 = 0; vq_cmd.cptr.u64 = 0;
......
...@@ -75,16 +75,16 @@ struct sglist_component { ...@@ -75,16 +75,16 @@ struct sglist_component {
union { union {
u64 len; u64 len;
struct { struct {
u16 len0; __be16 len0;
u16 len1; __be16 len1;
u16 len2; __be16 len2;
u16 len3; __be16 len3;
} s; } s;
} u; } u;
u64 ptr0; __be64 ptr0;
u64 ptr1; __be64 ptr1;
u64 ptr2; __be64 ptr2;
u64 ptr3; __be64 ptr3;
}; };
struct cpt_info_buffer { struct cpt_info_buffer {
...@@ -114,10 +114,10 @@ struct cpt_info_buffer { ...@@ -114,10 +114,10 @@ struct cpt_info_buffer {
union vq_cmd_word0 { union vq_cmd_word0 {
u64 u64; u64 u64;
struct { struct {
u16 opcode; __be16 opcode;
u16 param1; __be16 param1;
u16 param2; __be16 param2;
u16 dlen; __be16 dlen;
} s; } s;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment