mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 07:04:10 +08:00
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: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
f532ed2a9b
commit
c414943119
@ -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_req_ctx *rctx = skcipher_request_ctx(req);
|
||||
struct fc_context *fctx = &rctx->fctx;
|
||||
u64 *offset_control = &rctx->control_word;
|
||||
u32 enc_iv_len = crypto_skcipher_ivsize(tfm);
|
||||
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.dma_mode = DMA_GATHER_SCATTER;
|
||||
@ -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);
|
||||
else
|
||||
memcpy(fctx->enc.encr_key, ctx->enc_key, ctx->key_len);
|
||||
ctrl_flags = (u64 *)&fctx->enc.enc_ctrl.flags;
|
||||
*ctrl_flags = cpu_to_be64(*ctrl_flags);
|
||||
ctrl_flags = (__be64 *)&fctx->enc.enc_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));
|
||||
/* Storing Packet Data Information in offset
|
||||
* Control Word First 8 bytes
|
||||
|
@ -4,6 +4,7 @@
|
||||
*/
|
||||
|
||||
#include "cptvf.h"
|
||||
#include "cptvf_algs.h"
|
||||
#include "request_manager.h"
|
||||
|
||||
/**
|
||||
@ -173,11 +174,10 @@ static inline int setup_sgio_list(struct cpt_vf *cptvf,
|
||||
goto scatter_gather_clean;
|
||||
}
|
||||
|
||||
((u16 *)info->in_buffer)[0] = req->outcnt;
|
||||
((u16 *)info->in_buffer)[1] = req->incnt;
|
||||
((u16 *)info->in_buffer)[2] = 0;
|
||||
((u16 *)info->in_buffer)[3] = 0;
|
||||
*(u64 *)info->in_buffer = cpu_to_be64p((u64 *)info->in_buffer);
|
||||
((__be16 *)info->in_buffer)[0] = cpu_to_be16(req->outcnt);
|
||||
((__be16 *)info->in_buffer)[1] = cpu_to_be16(req->incnt);
|
||||
((__be16 *)info->in_buffer)[2] = 0;
|
||||
((__be16 *)info->in_buffer)[3] = 0;
|
||||
|
||||
memcpy(&info->in_buffer[8], info->gather_components,
|
||||
g_sz_bytes);
|
||||
@ -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.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.rptr = info->rptr_baddr;
|
||||
vq_cmd.cptr.u64 = 0;
|
||||
|
@ -75,16 +75,16 @@ struct sglist_component {
|
||||
union {
|
||||
u64 len;
|
||||
struct {
|
||||
u16 len0;
|
||||
u16 len1;
|
||||
u16 len2;
|
||||
u16 len3;
|
||||
__be16 len0;
|
||||
__be16 len1;
|
||||
__be16 len2;
|
||||
__be16 len3;
|
||||
} s;
|
||||
} u;
|
||||
u64 ptr0;
|
||||
u64 ptr1;
|
||||
u64 ptr2;
|
||||
u64 ptr3;
|
||||
__be64 ptr0;
|
||||
__be64 ptr1;
|
||||
__be64 ptr2;
|
||||
__be64 ptr3;
|
||||
};
|
||||
|
||||
struct cpt_info_buffer {
|
||||
@ -114,10 +114,10 @@ struct cpt_info_buffer {
|
||||
union vq_cmd_word0 {
|
||||
u64 u64;
|
||||
struct {
|
||||
u16 opcode;
|
||||
u16 param1;
|
||||
u16 param2;
|
||||
u16 dlen;
|
||||
__be16 opcode;
|
||||
__be16 param1;
|
||||
__be16 param2;
|
||||
__be16 dlen;
|
||||
} s;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user