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