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_CPT_COMMON_H |
12 | #define __OTX_CPT_COMMON_H |
13 | |
14 | #include <linux/types.h> |
15 | #include <linux/delay.h> |
16 | #include <linux/device.h> |
17 | |
18 | #define OTX_CPT_MAX_MBOX_DATA_STR_SIZE 64 |
19 | |
20 | enum otx_cptpf_type { |
21 | OTX_CPT_AE = 2, |
22 | OTX_CPT_SE = 3, |
23 | BAD_OTX_CPTPF_TYPE, |
24 | }; |
25 | |
26 | enum otx_cptvf_type { |
27 | OTX_CPT_AE_TYPES = 1, |
28 | OTX_CPT_SE_TYPES = 2, |
29 | BAD_OTX_CPTVF_TYPE, |
30 | }; |
31 | |
32 | /* VF-PF message opcodes */ |
33 | enum otx_cpt_mbox_opcode { |
34 | OTX_CPT_MSG_VF_UP = 1, |
35 | OTX_CPT_MSG_VF_DOWN, |
36 | OTX_CPT_MSG_READY, |
37 | OTX_CPT_MSG_QLEN, |
38 | OTX_CPT_MSG_QBIND_GRP, |
39 | OTX_CPT_MSG_VQ_PRIORITY, |
40 | OTX_CPT_MSG_PF_TYPE, |
41 | OTX_CPT_MSG_ACK, |
42 | OTX_CPT_MSG_NACK |
43 | }; |
44 | |
45 | /* OcteonTX CPT mailbox structure */ |
46 | struct otx_cpt_mbox { |
47 | u64 msg; /* Message type MBOX[0] */ |
48 | u64 data;/* Data MBOX[1] */ |
49 | }; |
50 | |
51 | #endif /* __OTX_CPT_COMMON_H */ |
52 | |