xref: /linux/drivers/crypto/intel/qat/qat_common/adf_gen6_shared.c (revision 989fe6771266bdb82a815d78802c5aa7c918fdfd)
1 // SPDX-License-Identifier: GPL-2.0-only
2 /* Copyright(c) 2025 Intel Corporation */
3 #include <linux/export.h>
4 
5 #include "adf_gen4_config.h"
6 #include "adf_gen4_hw_csr_data.h"
7 #include "adf_gen4_pfvf.h"
8 #include "adf_gen4_vf_mig.h"
9 #include "adf_gen6_shared.h"
10 
11 struct adf_accel_dev;
12 struct adf_pfvf_ops;
13 struct adf_hw_csr_ops;
14 
15 /*
16  * QAT GEN4 and GEN6 devices often differ in terms of supported features,
17  * options and internal logic. However, some of the mechanisms and register
18  * layout are shared between those two GENs. This file serves as an abstraction
19  * layer that allows to use existing GEN4 implementation that is also
20  * applicable to GEN6 without additional overhead and complexity.
21  */
22 void adf_gen6_init_pf_pfvf_ops(struct adf_pfvf_ops *pfvf_ops)
23 {
24 	adf_gen4_init_pf_pfvf_ops(pfvf_ops);
25 }
26 EXPORT_SYMBOL_GPL(adf_gen6_init_pf_pfvf_ops);
27 
28 void adf_gen6_init_hw_csr_ops(struct adf_hw_csr_ops *csr_ops)
29 {
30 	return adf_gen4_init_hw_csr_ops(csr_ops);
31 }
32 EXPORT_SYMBOL_GPL(adf_gen6_init_hw_csr_ops);
33 
34 int adf_gen6_cfg_dev_init(struct adf_accel_dev *accel_dev)
35 {
36 	return adf_gen4_cfg_dev_init(accel_dev);
37 }
38 EXPORT_SYMBOL_GPL(adf_gen6_cfg_dev_init);
39 
40 int adf_gen6_comp_dev_config(struct adf_accel_dev *accel_dev)
41 {
42 	return adf_comp_dev_config(accel_dev);
43 }
44 EXPORT_SYMBOL_GPL(adf_gen6_comp_dev_config);
45 
46 int adf_gen6_no_dev_config(struct adf_accel_dev *accel_dev)
47 {
48 	return adf_no_dev_config(accel_dev);
49 }
50 EXPORT_SYMBOL_GPL(adf_gen6_no_dev_config);
51 
52 void adf_gen6_init_vf_mig_ops(struct qat_migdev_ops *vfmig_ops)
53 {
54 	adf_gen4_init_vf_mig_ops(vfmig_ops);
55 }
56 EXPORT_SYMBOL_GPL(adf_gen6_init_vf_mig_ops);
57