123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248 |
- /*
- * Copyright (c) 2021 The Linux Foundation. All rights reserved.
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
- // $ATH_LICENSE_HW_HDR_C$
- //
- // DO NOT EDIT! This file is automatically generated
- // These definitions are tied to a particular hardware layout
- #ifndef _UNIFORM_REO_STATUS_HEADER_H_
- #define _UNIFORM_REO_STATUS_HEADER_H_
- #if !defined(__ASSEMBLER__)
- #endif
- // ################ START SUMMARY #################
- //
- // Dword Fields
- // 0 reo_status_number[15:0], cmd_execution_time[25:16], reo_cmd_execution_status[27:26], reserved_0a[31:28]
- // 1 timestamp[31:0]
- //
- // ################ END SUMMARY #################
- #define NUM_OF_DWORDS_UNIFORM_REO_STATUS_HEADER 2
- struct uniform_reo_status_header {
- uint32_t reo_status_number : 16, //[15:0]
- cmd_execution_time : 10, //[25:16]
- reo_cmd_execution_status : 2, //[27:26]
- reserved_0a : 4; //[31:28]
- uint32_t timestamp : 32; //[31:0]
- };
- /*
- reo_status_number
-
- Consumer: SW , DEBUG
-
- Producer: REO
-
-
-
- The value in this field is equal to value of the
- 'REO_CMD_Number' field the REO command
-
-
-
- This field helps to correlate the statuses with the REO
- commands.
-
-
-
- <legal all>
- cmd_execution_time
-
- Consumer: DEBUG
-
- Producer: REO
-
-
-
- The amount of time REO took to excecute the command.
- Note that this time does not include the duration of the
- command waiting in the command ring, before the execution
- started.
-
-
-
- In us.
-
-
-
- <legal all>
- reo_cmd_execution_status
-
- Consumer: DEBUG
-
- Producer: REO
-
-
-
- Execution status of the command.
-
-
-
- <enum 0 reo_successful_execution> Command has
- successfully be executed
-
- <enum 1 reo_blocked_execution> Command could not be
- executed as the queue or cache was blocked
-
- <enum 2 reo_failed_execution> Command has encountered
- problems when executing, like the queue descriptor not being
- valid. None of the status fields in the entire STATUS TLV
- are valid.
-
- <enum 3 reo_resource_blocked> Command is NOT executed
- because one or more descriptors were blocked. This is SW
- programming mistake.
-
- None of the status fields in the entire STATUS TLV are
- valid.
-
-
-
- <legal 0-3>
- reserved_0a
-
- <legal 0>
- timestamp
-
- Timestamp at the moment that this status report is
- written.
-
-
-
- <legal all>
- */
- /* Description UNIFORM_REO_STATUS_HEADER_0_REO_STATUS_NUMBER
-
- Consumer: SW , DEBUG
-
- Producer: REO
-
-
-
- The value in this field is equal to value of the
- 'REO_CMD_Number' field the REO command
-
-
-
- This field helps to correlate the statuses with the REO
- commands.
-
-
-
- <legal all>
- */
- #define UNIFORM_REO_STATUS_HEADER_0_REO_STATUS_NUMBER_OFFSET 0x00000000
- #define UNIFORM_REO_STATUS_HEADER_0_REO_STATUS_NUMBER_LSB 0
- #define UNIFORM_REO_STATUS_HEADER_0_REO_STATUS_NUMBER_MASK 0x0000ffff
- /* Description UNIFORM_REO_STATUS_HEADER_0_CMD_EXECUTION_TIME
-
- Consumer: DEBUG
-
- Producer: REO
-
-
-
- The amount of time REO took to excecute the command.
- Note that this time does not include the duration of the
- command waiting in the command ring, before the execution
- started.
-
-
-
- In us.
-
-
-
- <legal all>
- */
- #define UNIFORM_REO_STATUS_HEADER_0_CMD_EXECUTION_TIME_OFFSET 0x00000000
- #define UNIFORM_REO_STATUS_HEADER_0_CMD_EXECUTION_TIME_LSB 16
- #define UNIFORM_REO_STATUS_HEADER_0_CMD_EXECUTION_TIME_MASK 0x03ff0000
- /* Description UNIFORM_REO_STATUS_HEADER_0_REO_CMD_EXECUTION_STATUS
-
- Consumer: DEBUG
-
- Producer: REO
-
-
-
- Execution status of the command.
-
-
-
- <enum 0 reo_successful_execution> Command has
- successfully be executed
-
- <enum 1 reo_blocked_execution> Command could not be
- executed as the queue or cache was blocked
-
- <enum 2 reo_failed_execution> Command has encountered
- problems when executing, like the queue descriptor not being
- valid. None of the status fields in the entire STATUS TLV
- are valid.
-
- <enum 3 reo_resource_blocked> Command is NOT executed
- because one or more descriptors were blocked. This is SW
- programming mistake.
-
- None of the status fields in the entire STATUS TLV are
- valid.
-
-
-
- <legal 0-3>
- */
- #define UNIFORM_REO_STATUS_HEADER_0_REO_CMD_EXECUTION_STATUS_OFFSET 0x00000000
- #define UNIFORM_REO_STATUS_HEADER_0_REO_CMD_EXECUTION_STATUS_LSB 26
- #define UNIFORM_REO_STATUS_HEADER_0_REO_CMD_EXECUTION_STATUS_MASK 0x0c000000
- /* Description UNIFORM_REO_STATUS_HEADER_0_RESERVED_0A
-
- <legal 0>
- */
- #define UNIFORM_REO_STATUS_HEADER_0_RESERVED_0A_OFFSET 0x00000000
- #define UNIFORM_REO_STATUS_HEADER_0_RESERVED_0A_LSB 28
- #define UNIFORM_REO_STATUS_HEADER_0_RESERVED_0A_MASK 0xf0000000
- /* Description UNIFORM_REO_STATUS_HEADER_1_TIMESTAMP
-
- Timestamp at the moment that this status report is
- written.
-
-
-
- <legal all>
- */
- #define UNIFORM_REO_STATUS_HEADER_1_TIMESTAMP_OFFSET 0x00000004
- #define UNIFORM_REO_STATUS_HEADER_1_TIMESTAMP_LSB 0
- #define UNIFORM_REO_STATUS_HEADER_1_TIMESTAMP_MASK 0xffffffff
- #endif // _UNIFORM_REO_STATUS_HEADER_H_
|