1 /* 2 * Copyright (c) 2021 The Linux Foundation. All rights reserved. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for any 5 * purpose with or without fee is hereby granted, provided that the above 6 * copyright notice and this permission notice appear in all copies. 7 * 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 */ 16 17 // $ATH_LICENSE_HW_HDR_C$ 18 // 19 // DO NOT EDIT! This file is automatically generated 20 // These definitions are tied to a particular hardware layout 21 22 23 #ifndef _UNIFORM_REO_STATUS_HEADER_H_ 24 #define _UNIFORM_REO_STATUS_HEADER_H_ 25 #if !defined(__ASSEMBLER__) 26 #endif 27 28 29 // ################ START SUMMARY ################# 30 // 31 // Dword Fields 32 // 0 reo_status_number[15:0], cmd_execution_time[25:16], reo_cmd_execution_status[27:26], reserved_0a[31:28] 33 // 1 timestamp[31:0] 34 // 35 // ################ END SUMMARY ################# 36 37 #define NUM_OF_DWORDS_UNIFORM_REO_STATUS_HEADER 2 38 39 struct uniform_reo_status_header { 40 uint32_t reo_status_number : 16, //[15:0] 41 cmd_execution_time : 10, //[25:16] 42 reo_cmd_execution_status : 2, //[27:26] 43 reserved_0a : 4; //[31:28] 44 uint32_t timestamp : 32; //[31:0] 45 }; 46 47 /* 48 49 reo_status_number 50 51 Consumer: SW , DEBUG 52 53 Producer: REO 54 55 56 57 The value in this field is equal to value of the 58 'REO_CMD_Number' field the REO command 59 60 61 62 This field helps to correlate the statuses with the REO 63 commands. 64 65 66 67 <legal all> 68 69 cmd_execution_time 70 71 Consumer: DEBUG 72 73 Producer: REO 74 75 76 77 The amount of time REO took to excecute the command. 78 Note that this time does not include the duration of the 79 command waiting in the command ring, before the execution 80 started. 81 82 83 84 In us. 85 86 87 88 <legal all> 89 90 reo_cmd_execution_status 91 92 Consumer: DEBUG 93 94 Producer: REO 95 96 97 98 Execution status of the command. 99 100 101 102 <enum 0 reo_successful_execution> Command has 103 successfully be executed 104 105 <enum 1 reo_blocked_execution> Command could not be 106 executed as the queue or cache was blocked 107 108 <enum 2 reo_failed_execution> Command has encountered 109 problems when executing, like the queue descriptor not being 110 valid. None of the status fields in the entire STATUS TLV 111 are valid. 112 113 <enum 3 reo_resource_blocked> Command is NOT executed 114 because one or more descriptors were blocked. This is SW 115 programming mistake. 116 117 None of the status fields in the entire STATUS TLV are 118 valid. 119 120 121 122 <legal 0-3> 123 124 reserved_0a 125 126 <legal 0> 127 128 timestamp 129 130 Timestamp at the moment that this status report is 131 written. 132 133 134 135 <legal all> 136 */ 137 138 139 /* Description UNIFORM_REO_STATUS_HEADER_0_REO_STATUS_NUMBER 140 141 Consumer: SW , DEBUG 142 143 Producer: REO 144 145 146 147 The value in this field is equal to value of the 148 'REO_CMD_Number' field the REO command 149 150 151 152 This field helps to correlate the statuses with the REO 153 commands. 154 155 156 157 <legal all> 158 */ 159 #define UNIFORM_REO_STATUS_HEADER_0_REO_STATUS_NUMBER_OFFSET 0x00000000 160 #define UNIFORM_REO_STATUS_HEADER_0_REO_STATUS_NUMBER_LSB 0 161 #define UNIFORM_REO_STATUS_HEADER_0_REO_STATUS_NUMBER_MASK 0x0000ffff 162 163 /* Description UNIFORM_REO_STATUS_HEADER_0_CMD_EXECUTION_TIME 164 165 Consumer: DEBUG 166 167 Producer: REO 168 169 170 171 The amount of time REO took to excecute the command. 172 Note that this time does not include the duration of the 173 command waiting in the command ring, before the execution 174 started. 175 176 177 178 In us. 179 180 181 182 <legal all> 183 */ 184 #define UNIFORM_REO_STATUS_HEADER_0_CMD_EXECUTION_TIME_OFFSET 0x00000000 185 #define UNIFORM_REO_STATUS_HEADER_0_CMD_EXECUTION_TIME_LSB 16 186 #define UNIFORM_REO_STATUS_HEADER_0_CMD_EXECUTION_TIME_MASK 0x03ff0000 187 188 /* Description UNIFORM_REO_STATUS_HEADER_0_REO_CMD_EXECUTION_STATUS 189 190 Consumer: DEBUG 191 192 Producer: REO 193 194 195 196 Execution status of the command. 197 198 199 200 <enum 0 reo_successful_execution> Command has 201 successfully be executed 202 203 <enum 1 reo_blocked_execution> Command could not be 204 executed as the queue or cache was blocked 205 206 <enum 2 reo_failed_execution> Command has encountered 207 problems when executing, like the queue descriptor not being 208 valid. None of the status fields in the entire STATUS TLV 209 are valid. 210 211 <enum 3 reo_resource_blocked> Command is NOT executed 212 because one or more descriptors were blocked. This is SW 213 programming mistake. 214 215 None of the status fields in the entire STATUS TLV are 216 valid. 217 218 219 220 <legal 0-3> 221 */ 222 #define UNIFORM_REO_STATUS_HEADER_0_REO_CMD_EXECUTION_STATUS_OFFSET 0x00000000 223 #define UNIFORM_REO_STATUS_HEADER_0_REO_CMD_EXECUTION_STATUS_LSB 26 224 #define UNIFORM_REO_STATUS_HEADER_0_REO_CMD_EXECUTION_STATUS_MASK 0x0c000000 225 226 /* Description UNIFORM_REO_STATUS_HEADER_0_RESERVED_0A 227 228 <legal 0> 229 */ 230 #define UNIFORM_REO_STATUS_HEADER_0_RESERVED_0A_OFFSET 0x00000000 231 #define UNIFORM_REO_STATUS_HEADER_0_RESERVED_0A_LSB 28 232 #define UNIFORM_REO_STATUS_HEADER_0_RESERVED_0A_MASK 0xf0000000 233 234 /* Description UNIFORM_REO_STATUS_HEADER_1_TIMESTAMP 235 236 Timestamp at the moment that this status report is 237 written. 238 239 240 241 <legal all> 242 */ 243 #define UNIFORM_REO_STATUS_HEADER_1_TIMESTAMP_OFFSET 0x00000004 244 #define UNIFORM_REO_STATUS_HEADER_1_TIMESTAMP_LSB 0 245 #define UNIFORM_REO_STATUS_HEADER_1_TIMESTAMP_MASK 0xffffffff 246 247 248 #endif // _UNIFORM_REO_STATUS_HEADER_H_ 249