drivers/crypto/intel/qat/qat_common/adf_gen6_shared.c

Source file repositories/reference/linux-study-clean/drivers/crypto/intel/qat/qat_common/adf_gen6_shared.c

File Facts

System
Linux kernel
Corpus path
drivers/crypto/intel/qat/qat_common/adf_gen6_shared.c
Extension
.c
Size
1454 bytes
Lines
51
Domain
Driver Families
Bucket
drivers/crypto
Inferred role
Driver Families: exported/initcall integration point
Status
integration implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

// SPDX-License-Identifier: GPL-2.0-only
/* Copyright(c) 2025 Intel Corporation */
#include <linux/export.h>

#include "adf_gen4_config.h"
#include "adf_gen4_hw_csr_data.h"
#include "adf_gen4_pfvf.h"
#include "adf_gen4_vf_mig.h"
#include "adf_gen6_shared.h"

struct adf_accel_dev;
struct adf_pfvf_ops;
struct adf_hw_csr_ops;

/*
 * QAT GEN4 and GEN6 devices often differ in terms of supported features,
 * options and internal logic. However, some of the mechanisms and register
 * layout are shared between those two GENs. This file serves as an abstraction
 * layer that allows to use existing GEN4 implementation that is also
 * applicable to GEN6 without additional overhead and complexity.
 */
void adf_gen6_init_pf_pfvf_ops(struct adf_pfvf_ops *pfvf_ops)
{
	adf_gen4_init_pf_pfvf_ops(pfvf_ops);
}
EXPORT_SYMBOL_GPL(adf_gen6_init_pf_pfvf_ops);

void adf_gen6_init_hw_csr_ops(struct adf_hw_csr_ops *csr_ops)
{
	return adf_gen4_init_hw_csr_ops(csr_ops);
}
EXPORT_SYMBOL_GPL(adf_gen6_init_hw_csr_ops);

int adf_gen6_comp_dev_config(struct adf_accel_dev *accel_dev)
{
	return adf_comp_dev_config(accel_dev);
}
EXPORT_SYMBOL_GPL(adf_gen6_comp_dev_config);

int adf_gen6_no_dev_config(struct adf_accel_dev *accel_dev)
{
	return adf_no_dev_config(accel_dev);
}
EXPORT_SYMBOL_GPL(adf_gen6_no_dev_config);

void adf_gen6_init_vf_mig_ops(struct qat_migdev_ops *vfmig_ops)
{
	adf_gen4_init_vf_mig_ops(vfmig_ops);
}
EXPORT_SYMBOL_GPL(adf_gen6_init_vf_mig_ops);

Annotation

Implementation Notes