forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 ee930fffee469d076998274a2ca55e13dc1efb67
kernel/drivers/crypto/nx/nx.h
....@@ -9,9 +9,6 @@
99 #define NX_STRING "IBM Power7+ Nest Accelerator Crypto Driver"
1010 #define NX_VERSION "1.0"
1111
12
-static const char nx_driver_string[] = NX_STRING;
13
-static const char nx_driver_version[] = NX_VERSION;
14
-
1512 /* a scatterlist in the format PHYP is expecting */
1613 struct nx_sg {
1714 u64 addr;
....@@ -40,7 +37,7 @@
4037 u32 fc;
4138 u32 mode;
4239 u32 triplets;
43
- struct msc_triplet trip[0];
40
+ struct msc_triplet trip[];
4441 } __packed;
4542
4643 struct alg_props {
....@@ -76,20 +73,12 @@
7673 atomic_t last_error_pid;
7774 };
7875
79
-struct nx_debugfs {
80
- struct dentry *dfs_root;
81
- struct dentry *dfs_aes_ops, *dfs_aes_bytes;
82
- struct dentry *dfs_sha256_ops, *dfs_sha256_bytes;
83
- struct dentry *dfs_sha512_ops, *dfs_sha512_bytes;
84
- struct dentry *dfs_errors, *dfs_last_error, *dfs_last_error_pid;
85
-};
86
-
8776 struct nx_crypto_driver {
8877 struct nx_stats stats;
8978 struct nx_of of;
9079 struct vio_dev *viodev;
9180 struct vio_driver viodriver;
92
- struct nx_debugfs dfs;
81
+ struct dentry *dfs_root;
9382 };
9483
9584 #define NX_GCM4106_NONCE_LEN (4)
....@@ -156,19 +145,20 @@
156145 int nx_crypto_ctx_aes_ccm_init(struct crypto_aead *tfm);
157146 int nx_crypto_ctx_aes_gcm_init(struct crypto_aead *tfm);
158147 int nx_crypto_ctx_aes_xcbc_init(struct crypto_tfm *tfm);
159
-int nx_crypto_ctx_aes_ctr_init(struct crypto_tfm *tfm);
160
-int nx_crypto_ctx_aes_cbc_init(struct crypto_tfm *tfm);
161
-int nx_crypto_ctx_aes_ecb_init(struct crypto_tfm *tfm);
148
+int nx_crypto_ctx_aes_ctr_init(struct crypto_skcipher *tfm);
149
+int nx_crypto_ctx_aes_cbc_init(struct crypto_skcipher *tfm);
150
+int nx_crypto_ctx_aes_ecb_init(struct crypto_skcipher *tfm);
162151 int nx_crypto_ctx_sha_init(struct crypto_tfm *tfm);
163152 void nx_crypto_ctx_exit(struct crypto_tfm *tfm);
153
+void nx_crypto_ctx_skcipher_exit(struct crypto_skcipher *tfm);
164154 void nx_crypto_ctx_aead_exit(struct crypto_aead *tfm);
165155 void nx_ctx_init(struct nx_crypto_ctx *nx_ctx, unsigned int function);
166156 int nx_hcall_sync(struct nx_crypto_ctx *ctx, struct vio_pfo_op *op,
167157 u32 may_sleep);
168158 struct nx_sg *nx_build_sg_list(struct nx_sg *, u8 *, unsigned int *, u32);
169
-int nx_build_sg_lists(struct nx_crypto_ctx *, struct blkcipher_desc *,
170
- struct scatterlist *, struct scatterlist *, unsigned int *,
171
- unsigned int, u8 *);
159
+int nx_build_sg_lists(struct nx_crypto_ctx *nx_ctx, const u8 *iv,
160
+ struct scatterlist *dst, struct scatterlist *src,
161
+ unsigned int *nbytes, unsigned int offset, u8 *oiv);
172162 struct nx_sg *nx_walk_and_build(struct nx_sg *, unsigned int,
173163 struct scatterlist *, unsigned int,
174164 unsigned int *);
....@@ -177,20 +167,20 @@
177167 #define NX_DEBUGFS_INIT(drv) nx_debugfs_init(drv)
178168 #define NX_DEBUGFS_FINI(drv) nx_debugfs_fini(drv)
179169
180
-int nx_debugfs_init(struct nx_crypto_driver *);
170
+void nx_debugfs_init(struct nx_crypto_driver *);
181171 void nx_debugfs_fini(struct nx_crypto_driver *);
182172 #else
183
-#define NX_DEBUGFS_INIT(drv) (0)
184
-#define NX_DEBUGFS_FINI(drv) (0)
173
+#define NX_DEBUGFS_INIT(drv) do {} while (0)
174
+#define NX_DEBUGFS_FINI(drv) do {} while (0)
185175 #endif
186176
187177 #define NX_PAGE_NUM(x) ((u64)(x) & 0xfffffffffffff000ULL)
188178
189
-extern struct crypto_alg nx_cbc_aes_alg;
190
-extern struct crypto_alg nx_ecb_aes_alg;
179
+extern struct skcipher_alg nx_cbc_aes_alg;
180
+extern struct skcipher_alg nx_ecb_aes_alg;
191181 extern struct aead_alg nx_gcm_aes_alg;
192182 extern struct aead_alg nx_gcm4106_aes_alg;
193
-extern struct crypto_alg nx_ctr3686_aes_alg;
183
+extern struct skcipher_alg nx_ctr3686_aes_alg;
194184 extern struct aead_alg nx_ccm_aes_alg;
195185 extern struct aead_alg nx_ccm4309_aes_alg;
196186 extern struct shash_alg nx_shash_aes_xcbc_alg;