1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (C) 2020 Marvell International Ltd.
4  *
5  * Packet buffer defines.
6  */
7 
8 #ifndef __CVMX_PACKET_H__
9 #define __CVMX_PACKET_H__
10 
11 union cvmx_buf_ptr_pki {
12 	u64 u64;
13 	struct {
14 		u64 size : 16;
15 		u64 packet_outside_wqe : 1;
16 		u64 rsvd0 : 5;
17 		u64 addr : 42;
18 	};
19 };
20 
21 typedef union cvmx_buf_ptr_pki cvmx_buf_ptr_pki_t;
22 
23 /**
24  * This structure defines a buffer pointer on Octeon
25  */
26 union cvmx_buf_ptr {
27 	void *ptr;
28 	u64 u64;
29 	struct {
30 		u64 i : 1;
31 		u64 back : 4;
32 		u64 pool : 3;
33 		u64 size : 16;
34 		u64 addr : 40;
35 	} s;
36 };
37 
38 typedef union cvmx_buf_ptr cvmx_buf_ptr_t;
39 
40 #endif /*  __CVMX_PACKET_H__ */
41