Message ID | 1616139187-63425-5-git-send-email-shenyang39@huawei.com |
---|---|
State | Superseded |
Headers | show |
Series | [1/4] crypto: hisilicon/zip - adjust functions location | expand |
On Fri, Mar 19, 2021 at 03:33:07PM +0800, Yang Shen wrote: > > +const struct hisi_zip_sqe_ops hisi_zip_ops_v2 = { > + .sqe_type = 0x3, > + .fill_addr = hisi_zip_fill_addr, > + .fill_buf_size = hisi_zip_fill_buf_size, > + .fill_buf_type = hisi_zip_fill_buf_type, > + .fill_req_type = hisi_zip_fill_req_type, > + .fill_tag = hisi_zip_fill_tag_v2, > + .fill_sqe_type = hisi_zip_fill_sqe_type, > + .get_tag = hisi_zip_get_tag_v2, > + .get_status = hisi_zip_get_status, > + .get_dstlen = hisi_zip_get_dstlen, > +}; > + This triggers a new warning: CHECK ../drivers/crypto/hisilicon/zip/zip_crypto.c ../drivers/crypto/hisilicon/zip/zip_crypto.c:527:31: warning: symbol 'hisi_zip_ops_v1' was not declared. Should it be static? ../drivers/crypto/hisilicon/zip/zip_crypto.c:540:31: warning: symbol 'hisi_zip_ops_v2' was not declared. Should it be static? Please fix. Thanks. -- Email: Herbert Xu <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
On 2021/3/26 17:14, Herbert Xu wrote: > On Fri, Mar 19, 2021 at 03:33:07PM +0800, Yang Shen wrote: >> >> +const struct hisi_zip_sqe_ops hisi_zip_ops_v2 = { >> + .sqe_type = 0x3, >> + .fill_addr = hisi_zip_fill_addr, >> + .fill_buf_size = hisi_zip_fill_buf_size, >> + .fill_buf_type = hisi_zip_fill_buf_type, >> + .fill_req_type = hisi_zip_fill_req_type, >> + .fill_tag = hisi_zip_fill_tag_v2, >> + .fill_sqe_type = hisi_zip_fill_sqe_type, >> + .get_tag = hisi_zip_get_tag_v2, >> + .get_status = hisi_zip_get_status, >> + .get_dstlen = hisi_zip_get_dstlen, >> +}; >> + > > This triggers a new warning: > > CHECK ../drivers/crypto/hisilicon/zip/zip_crypto.c > ../drivers/crypto/hisilicon/zip/zip_crypto.c:527:31: warning: symbol 'hisi_zip_ops_v1' was not declared. Should it be static? > ../drivers/crypto/hisilicon/zip/zip_crypto.c:540:31: warning: symbol 'hisi_zip_ops_v2' was not declared. Should it be static? > > Please fix. Thanks. > Sorry, I'll fix this in next version. Thanks.
diff --git a/drivers/crypto/hisilicon/zip/zip.h b/drivers/crypto/hisilicon/zip/zip.h index b4d3e03..517fdbd 100644 --- a/drivers/crypto/hisilicon/zip/zip.h +++ b/drivers/crypto/hisilicon/zip/zip.h @@ -75,6 +75,7 @@ struct hisi_zip_sqe { u32 dw23; u32 dw24; u32 dw25; + /* tag: in sqe type 3 */ u32 dw26; u32 dw27; u32 rsvd1[4]; diff --git a/drivers/crypto/hisilicon/zip/zip_crypto.c b/drivers/crypto/hisilicon/zip/zip_crypto.c index 85dcf6a..4bd41a4 100644 --- a/drivers/crypto/hisilicon/zip/zip_crypto.c +++ b/drivers/crypto/hisilicon/zip/zip_crypto.c @@ -298,6 +298,11 @@ static void hisi_zip_fill_tag_v1(struct hisi_zip_sqe *sqe, struct hisi_zip_req * sqe->dw13 = req->req_id; } +static void hisi_zip_fill_tag_v2(struct hisi_zip_sqe *sqe, struct hisi_zip_req *req) +{ + sqe->dw26 = req->req_id; +} + static void hisi_zip_fill_sqe_type(struct hisi_zip_sqe *sqe, u8 sqe_type) { u32 val; @@ -380,6 +385,11 @@ static u32 hisi_zip_get_tag_v1(struct hisi_zip_sqe *sqe) return sqe->dw13; } +static u32 hisi_zip_get_tag_v2(struct hisi_zip_sqe *sqe) +{ + return sqe->dw26; +} + static u32 hisi_zip_get_status(struct hisi_zip_sqe *sqe) { return sqe->dw3 & HZIP_BD_STATUS_M; @@ -527,6 +537,19 @@ const struct hisi_zip_sqe_ops hisi_zip_ops_v1 = { .get_dstlen = hisi_zip_get_dstlen, }; +const struct hisi_zip_sqe_ops hisi_zip_ops_v2 = { + .sqe_type = 0x3, + .fill_addr = hisi_zip_fill_addr, + .fill_buf_size = hisi_zip_fill_buf_size, + .fill_buf_type = hisi_zip_fill_buf_type, + .fill_req_type = hisi_zip_fill_req_type, + .fill_tag = hisi_zip_fill_tag_v2, + .fill_sqe_type = hisi_zip_fill_sqe_type, + .get_tag = hisi_zip_get_tag_v2, + .get_status = hisi_zip_get_status, + .get_dstlen = hisi_zip_get_dstlen, +}; + static int hisi_zip_ctx_init(struct hisi_zip_ctx *hisi_zip_ctx, u8 req_type, int node) { struct hisi_qp *qps[HZIP_CTX_Q_NUM] = { NULL }; @@ -560,6 +583,8 @@ static int hisi_zip_ctx_init(struct hisi_zip_ctx *hisi_zip_ctx, u8 req_type, int if (hisi_zip->qm.ver < QM_HW_V3) hisi_zip_ctx->ops = &hisi_zip_ops_v1; + else + hisi_zip_ctx->ops = &hisi_zip_ops_v2; return 0; }
The Kunpeng930 changes some field meanings in 'sqe'. So add a new 'hisi_zip_sqe_ops' to describe the 'sqe' operations. Signed-off-by: Yang Shen <shenyang39@huawei.com> --- drivers/crypto/hisilicon/zip/zip.h | 1 + drivers/crypto/hisilicon/zip/zip_crypto.c | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+)