1 /* SPDX-License-Identifier: GPL-2.0 2 * Marvell OcteonTX CPT driver 3 * 4 * Copyright (C) 2019 Marvell International Ltd. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 */ 10 11 #ifndef __OTX_CPTPF_H 12 #define __OTX_CPTPF_H 13 14 #include <linux/types.h> 15 #include <linux/device.h> 16 #include "otx_cptpf_ucode.h" 17 18 /* 19 * OcteonTX CPT device structure 20 */ 21 struct otx_cpt_device { 22 void __iomem *reg_base; /* Register start address */ 23 struct pci_dev *pdev; /* Pci device handle */ 24 struct otx_cpt_eng_grps eng_grps;/* Engine groups information */ 25 struct list_head list; 26 u8 pf_type; /* PF type SE or AE */ 27 u8 max_vfs; /* Maximum number of VFs supported by the CPT */ 28 u8 vfs_enabled; /* Number of enabled VFs */ 29 }; 30 31 void otx_cpt_mbox_intr_handler(struct otx_cpt_device *cpt, int mbx); 32 void otx_cpt_disable_all_cores(struct otx_cpt_device *cpt); 33 34 #endif /* __OTX_CPTPF_H */ 35