Add pfvf_ops structure to isolate PFVF related functions inside the adf_hw_device_data structure. For GEN2, the structure is populated using one of the two helper functions, adf_gen2_init_pf_pfvf_ops() or adf_gen2_init_vf_pfvf_ops(), for the PF and VF driver respectively. For the DH895XCC PF driver, the structure is populated using adf_gen2_init_pf_pfvf_ops() but some of the functions are then overwritten. Signed-off-by: Marco Chiappero <marco.chiappero@intel.com> Co-developed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com> Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
30 lines
839 B
C
30 lines
839 B
C
/* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0-only) */
|
|
/* Copyright(c) 2021 Intel Corporation */
|
|
#ifndef ADF_GEN2_PFVF_H
|
|
#define ADF_GEN2_PFVF_H
|
|
|
|
#include <linux/types.h>
|
|
#include "adf_accel_devices.h"
|
|
|
|
#define ADF_GEN2_ERRSOU3 (0x3A000 + 0x0C)
|
|
#define ADF_GEN2_ERRSOU5 (0x3A000 + 0xD8)
|
|
#define ADF_GEN2_ERRMSK3 (0x3A000 + 0x1C)
|
|
#define ADF_GEN2_ERRMSK5 (0x3A000 + 0xDC)
|
|
|
|
#if defined(CONFIG_PCI_IOV)
|
|
void adf_gen2_init_pf_pfvf_ops(struct adf_pfvf_ops *pfvf_ops);
|
|
void adf_gen2_init_vf_pfvf_ops(struct adf_pfvf_ops *pfvf_ops);
|
|
#else
|
|
static inline void adf_gen2_init_pf_pfvf_ops(struct adf_pfvf_ops *pfvf_ops)
|
|
{
|
|
pfvf_ops->enable_comms = adf_pfvf_comms_disabled;
|
|
}
|
|
|
|
static inline void adf_gen2_init_vf_pfvf_ops(struct adf_pfvf_ops *pfvf_ops)
|
|
{
|
|
pfvf_ops->enable_comms = adf_pfvf_comms_disabled;
|
|
}
|
|
#endif
|
|
|
|
#endif /* ADF_GEN2_PFVF_H */
|