xref: /kernel/linux/linux-5.10/drivers/crypto/hisilicon/zip/zip.h (revision 8c2ecf20)
  • Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /kernel/linux/linux-5.10/drivers/crypto/hisilicon/zip/
1/* SPDX-License-Identifier: GPL-2.0 */
2/* Copyright (c) 2019 HiSilicon Limited. */
3#ifndef HISI_ZIP_H
4#define HISI_ZIP_H
5
6#undef pr_fmt
7#define pr_fmt(fmt)	"hisi_zip: " fmt
8
9#include <linux/list.h>
10#include "../qm.h"
11
12enum hisi_zip_error_type {
13	/* negative compression */
14	HZIP_NC_ERR = 0x0d,
15};
16
17struct hisi_zip_dfx {
18	atomic64_t send_cnt;
19	atomic64_t recv_cnt;
20	atomic64_t send_busy_cnt;
21	atomic64_t err_bd_cnt;
22};
23
24struct hisi_zip_ctrl;
25
26struct hisi_zip {
27	struct hisi_qm qm;
28	struct hisi_zip_ctrl *ctrl;
29	struct hisi_zip_dfx dfx;
30};
31
32struct hisi_zip_sqe {
33	u32 consumed;
34	u32 produced;
35	u32 comp_data_length;
36	u32 dw3;
37	u32 input_data_length;
38	u32 lba_l;
39	u32 lba_h;
40	u32 dw7;
41	u32 dw8;
42	u32 dw9;
43	u32 dw10;
44	u32 priv_info;
45	u32 dw12;
46	u32 tag;
47	u32 dest_avail_out;
48	u32 rsvd0;
49	u32 comp_head_addr_l;
50	u32 comp_head_addr_h;
51	u32 source_addr_l;
52	u32 source_addr_h;
53	u32 dest_addr_l;
54	u32 dest_addr_h;
55	u32 stream_ctx_addr_l;
56	u32 stream_ctx_addr_h;
57	u32 cipher_key1_addr_l;
58	u32 cipher_key1_addr_h;
59	u32 cipher_key2_addr_l;
60	u32 cipher_key2_addr_h;
61	u32 rsvd1[4];
62};
63
64int zip_create_qps(struct hisi_qp **qps, int ctx_num, int node);
65int hisi_zip_register_to_crypto(void);
66void hisi_zip_unregister_from_crypto(void);
67#endif
68

Indexes created Thu Nov 07 10:32:03 CST 2024