xref: /dpdk/drivers/dma/odm/odm_priv.h (revision 6f741dbc220162ea01b5d747b8944e99349648b5)
1*6f741dbcSAnoob Joseph /* SPDX-License-Identifier: BSD-3-Clause
2*6f741dbcSAnoob Joseph  * Copyright(C) 2024 Marvell.
3*6f741dbcSAnoob Joseph  */
4*6f741dbcSAnoob Joseph 
5*6f741dbcSAnoob Joseph #ifndef _ODM_PRIV_H_
6*6f741dbcSAnoob Joseph #define _ODM_PRIV_H_
7*6f741dbcSAnoob Joseph 
8*6f741dbcSAnoob Joseph #define ODM_MAX_VFS    16
9*6f741dbcSAnoob Joseph #define ODM_MAX_QUEUES 32
10*6f741dbcSAnoob Joseph 
11*6f741dbcSAnoob Joseph #define ODM_CMD_QUEUE_SIZE 4096
12*6f741dbcSAnoob Joseph 
13*6f741dbcSAnoob Joseph #define ODM_DEV_INIT	0x1
14*6f741dbcSAnoob Joseph #define ODM_DEV_CLOSE	0x2
15*6f741dbcSAnoob Joseph #define ODM_QUEUE_OPEN	0x3
16*6f741dbcSAnoob Joseph #define ODM_QUEUE_CLOSE 0x4
17*6f741dbcSAnoob Joseph #define ODM_REG_DUMP	0x5
18*6f741dbcSAnoob Joseph 
19*6f741dbcSAnoob Joseph struct odm_mbox_dev_msg {
20*6f741dbcSAnoob Joseph 	/* Response code */
21*6f741dbcSAnoob Joseph 	uint64_t rsp : 8;
22*6f741dbcSAnoob Joseph 	/* Number of VFs */
23*6f741dbcSAnoob Joseph 	uint64_t nvfs : 2;
24*6f741dbcSAnoob Joseph 	/* Error code */
25*6f741dbcSAnoob Joseph 	uint64_t err : 6;
26*6f741dbcSAnoob Joseph 	/* Reserved */
27*6f741dbcSAnoob Joseph 	uint64_t rsvd_16_63 : 48;
28*6f741dbcSAnoob Joseph };
29*6f741dbcSAnoob Joseph 
30*6f741dbcSAnoob Joseph struct odm_mbox_queue_msg {
31*6f741dbcSAnoob Joseph 	/* Command code */
32*6f741dbcSAnoob Joseph 	uint64_t cmd : 8;
33*6f741dbcSAnoob Joseph 	/* VF ID to configure */
34*6f741dbcSAnoob Joseph 	uint64_t vfid : 8;
35*6f741dbcSAnoob Joseph 	/* Queue index in the VF */
36*6f741dbcSAnoob Joseph 	uint64_t qidx : 8;
37*6f741dbcSAnoob Joseph 	/* Reserved */
38*6f741dbcSAnoob Joseph 	uint64_t rsvd_24_63 : 40;
39*6f741dbcSAnoob Joseph };
40*6f741dbcSAnoob Joseph 
41*6f741dbcSAnoob Joseph union odm_mbox_msg {
42*6f741dbcSAnoob Joseph 	uint64_t u[2];
43*6f741dbcSAnoob Joseph 	struct {
44*6f741dbcSAnoob Joseph 		struct odm_mbox_dev_msg d;
45*6f741dbcSAnoob Joseph 		struct odm_mbox_queue_msg q;
46*6f741dbcSAnoob Joseph 	};
47*6f741dbcSAnoob Joseph };
48*6f741dbcSAnoob Joseph 
49*6f741dbcSAnoob Joseph #endif /* _ODM_PRIV_H_ */
50