#include <linux/firmware.h>
#include "otx2_cpt_hw_types.h"
#include "otx2_cpt_common.h"
#include "otx2_cpt_devlink.h"
#include "otx2_cptpf_ucode.h"
#include "otx2_cptpf.h"
#include "cn10k_cpt.h"
#include "rvu_reg.h"
#define OTX2_CPT_DRV_NAME …
#define OTX2_CPT_DRV_STRING …
#define CPT_UC_RID_CN9K_B0 …
#define CPT_UC_RID_CN10K_A …
#define CPT_UC_RID_CN10K_B …
static void cptpf_enable_vfpf_mbox_intr(struct otx2_cptpf_dev *cptpf,
int num_vfs)
{ … }
static void cptpf_disable_vfpf_mbox_intr(struct otx2_cptpf_dev *cptpf,
int num_vfs)
{ … }
static void cptpf_enable_vf_flr_me_intrs(struct otx2_cptpf_dev *cptpf,
int num_vfs)
{ … }
static void cptpf_disable_vf_flr_me_intrs(struct otx2_cptpf_dev *cptpf,
int num_vfs)
{ … }
static void cptpf_flr_wq_handler(struct work_struct *work)
{ … }
static irqreturn_t cptpf_vf_flr_intr(int __always_unused irq, void *arg)
{ … }
static irqreturn_t cptpf_vf_me_intr(int __always_unused irq, void *arg)
{ … }
static void cptpf_unregister_vfpf_intr(struct otx2_cptpf_dev *cptpf,
int num_vfs)
{ … }
static int cptpf_register_vfpf_intr(struct otx2_cptpf_dev *cptpf, int num_vfs)
{ … }
static void cptpf_flr_wq_destroy(struct otx2_cptpf_dev *pf)
{ … }
static int cptpf_flr_wq_init(struct otx2_cptpf_dev *cptpf, int num_vfs)
{ … }
static int cptpf_vfpf_mbox_init(struct otx2_cptpf_dev *cptpf, int num_vfs)
{ … }
static void cptpf_vfpf_mbox_destroy(struct otx2_cptpf_dev *cptpf)
{ … }
static void cptpf_disable_afpf_mbox_intr(struct otx2_cptpf_dev *cptpf)
{ … }
static int cptpf_register_afpf_mbox_intr(struct otx2_cptpf_dev *cptpf)
{ … }
static int cptpf_afpf_mbox_init(struct otx2_cptpf_dev *cptpf)
{ … }
static void cptpf_afpf_mbox_destroy(struct otx2_cptpf_dev *cptpf)
{ … }
static ssize_t sso_pf_func_ovrd_show(struct device *dev,
struct device_attribute *attr, char *buf)
{ … }
static ssize_t sso_pf_func_ovrd_store(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
{ … }
static ssize_t kvf_limits_show(struct device *dev,
struct device_attribute *attr, char *buf)
{ … }
static ssize_t kvf_limits_store(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
{ … }
static DEVICE_ATTR_RW(kvf_limits);
static DEVICE_ATTR_RW(sso_pf_func_ovrd);
static struct attribute *cptpf_attrs[] = …;
static const struct attribute_group cptpf_sysfs_group = …;
static int cpt_is_pf_usable(struct otx2_cptpf_dev *cptpf)
{ … }
static void cptpf_get_rid(struct pci_dev *pdev, struct otx2_cptpf_dev *cptpf)
{ … }
static void cptpf_check_block_implemented(struct otx2_cptpf_dev *cptpf)
{ … }
static int cptpf_device_init(struct otx2_cptpf_dev *cptpf)
{ … }
static int cptpf_sriov_disable(struct pci_dev *pdev)
{ … }
static int cptpf_sriov_enable(struct pci_dev *pdev, int num_vfs)
{ … }
static int otx2_cptpf_sriov_configure(struct pci_dev *pdev, int num_vfs)
{ … }
static int otx2_cptpf_probe(struct pci_dev *pdev,
const struct pci_device_id *ent)
{ … }
static void otx2_cptpf_remove(struct pci_dev *pdev)
{ … }
static const struct pci_device_id otx2_cpt_id_table[] = …;
static struct pci_driver otx2_cpt_pci_driver = …;
module_pci_driver(…) …;
MODULE_IMPORT_NS(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…);
MODULE_LICENSE(…) …;
MODULE_DEVICE_TABLE(pci, otx2_cpt_id_table);