xref: /wlan-driver/fw-api/hw/qca6390/v1/uniform_reo_cmd_header.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 /*
2  * Copyright (c) 2018 The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 #ifndef _UNIFORM_REO_CMD_HEADER_H_
20 #define _UNIFORM_REO_CMD_HEADER_H_
21 #if !defined(__ASSEMBLER__)
22 #endif
23 
24 
25 // ################ START SUMMARY #################
26 //
27 //	Dword	Fields
28 //	0	reo_cmd_number[15:0], reo_status_required[16], reserved_0a[31:17]
29 //
30 // ################ END SUMMARY #################
31 
32 #define NUM_OF_DWORDS_UNIFORM_REO_CMD_HEADER 1
33 
34 struct uniform_reo_cmd_header {
35              uint32_t reo_cmd_number                  : 16, //[15:0]
36                       reo_status_required             :  1, //[16]
37                       reserved_0a                     : 15; //[31:17]
38 };
39 
40 /*
41 
42 reo_cmd_number
43 
44 			Consumer: REO/SW/DEBUG
45 
46 			Producer: SW
47 
48 
49 
50 			This number can be used by SW to track, identify and
51 			link the created commands with the command statusses
52 
53 
54 
55 
56 
57 			<legal all>
58 
59 reo_status_required
60 
61 			Consumer: REO
62 
63 			Producer: SW
64 
65 
66 
67 			<enum 0 NoStatus> REO does not need to generate a status
68 			TLV for the execution of this command
69 
70 			<enum 1 StatusRequired> REO shall generate a status TLV
71 			for the execution of this command
72 
73 
74 
75 			<legal all>
76 
77 reserved_0a
78 
79 			<legal 0>
80 */
81 
82 
83 /* Description		UNIFORM_REO_CMD_HEADER_0_REO_CMD_NUMBER
84 
85 			Consumer: REO/SW/DEBUG
86 
87 			Producer: SW
88 
89 
90 
91 			This number can be used by SW to track, identify and
92 			link the created commands with the command statusses
93 
94 
95 
96 
97 
98 			<legal all>
99 */
100 #define UNIFORM_REO_CMD_HEADER_0_REO_CMD_NUMBER_OFFSET               0x00000000
101 #define UNIFORM_REO_CMD_HEADER_0_REO_CMD_NUMBER_LSB                  0
102 #define UNIFORM_REO_CMD_HEADER_0_REO_CMD_NUMBER_MASK                 0x0000ffff
103 
104 /* Description		UNIFORM_REO_CMD_HEADER_0_REO_STATUS_REQUIRED
105 
106 			Consumer: REO
107 
108 			Producer: SW
109 
110 
111 
112 			<enum 0 NoStatus> REO does not need to generate a status
113 			TLV for the execution of this command
114 
115 			<enum 1 StatusRequired> REO shall generate a status TLV
116 			for the execution of this command
117 
118 
119 
120 			<legal all>
121 */
122 #define UNIFORM_REO_CMD_HEADER_0_REO_STATUS_REQUIRED_OFFSET          0x00000000
123 #define UNIFORM_REO_CMD_HEADER_0_REO_STATUS_REQUIRED_LSB             16
124 #define UNIFORM_REO_CMD_HEADER_0_REO_STATUS_REQUIRED_MASK            0x00010000
125 
126 /* Description		UNIFORM_REO_CMD_HEADER_0_RESERVED_0A
127 
128 			<legal 0>
129 */
130 #define UNIFORM_REO_CMD_HEADER_0_RESERVED_0A_OFFSET                  0x00000000
131 #define UNIFORM_REO_CMD_HEADER_0_RESERVED_0A_LSB                     17
132 #define UNIFORM_REO_CMD_HEADER_0_RESERVED_0A_MASK                    0xfffe0000
133 
134 
135 #endif // _UNIFORM_REO_CMD_HEADER_H_
136