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 | |