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
11struct adf_accel_dev;
12struct adf_pfvf_ops;
13struct 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 */
22void adf_gen6_init_pf_pfvf_ops(struct adf_pfvf_ops *pfvf_ops)
23{
24 adf_gen4_init_pf_pfvf_ops(pfvf_ops);
25}
26EXPORT_SYMBOL_GPL(adf_gen6_init_pf_pfvf_ops);
27
28void 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}
32EXPORT_SYMBOL_GPL(adf_gen6_init_hw_csr_ops);
33
34int adf_gen6_cfg_dev_init(struct adf_accel_dev *accel_dev)
35{
36 return adf_gen4_cfg_dev_init(accel_dev);
37}
38EXPORT_SYMBOL_GPL(adf_gen6_cfg_dev_init);
39
40int adf_gen6_comp_dev_config(struct adf_accel_dev *accel_dev)
41{
42 return adf_comp_dev_config(accel_dev);
43}
44EXPORT_SYMBOL_GPL(adf_gen6_comp_dev_config);
45
46int adf_gen6_no_dev_config(struct adf_accel_dev *accel_dev)
47{
48 return adf_no_dev_config(accel_dev);
49}
50EXPORT_SYMBOL_GPL(adf_gen6_no_dev_config);
51
52void adf_gen6_init_vf_mig_ops(struct qat_migdev_ops *vfmig_ops)
53{
54 adf_gen4_init_vf_mig_ops(vfmig_ops);
55}
56EXPORT_SYMBOL_GPL(adf_gen6_init_vf_mig_ops);
57

source code of linux/drivers/crypto/intel/qat/qat_common/adf_gen6_shared.c