1 /* 2 * Copyright (c) 2020, 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 #ifndef _UNIFORM_REO_CMD_HEADER_H_ 18 #define _UNIFORM_REO_CMD_HEADER_H_ 19 #if !defined(__ASSEMBLER__) 20 #endif 21 22 23 // ################ START SUMMARY ################# 24 // 25 // Dword Fields 26 // 0 reo_cmd_number[15:0], reo_status_required[16], reserved_0a[31:17] 27 // 28 // ################ END SUMMARY ################# 29 30 #define NUM_OF_DWORDS_UNIFORM_REO_CMD_HEADER 1 31 32 struct uniform_reo_cmd_header { 33 uint32_t reo_cmd_number : 16, //[15:0] 34 reo_status_required : 1, //[16] 35 reserved_0a : 15; //[31:17] 36 }; 37 38 /* 39 40 reo_cmd_number 41 42 Consumer: REO/SW/DEBUG 43 44 Producer: SW 45 46 47 48 This number can be used by SW to track, identify and 49 link the created commands with the command statusses 50 51 52 53 54 55 <legal all> 56 57 reo_status_required 58 59 Consumer: REO 60 61 Producer: SW 62 63 64 65 <enum 0 NoStatus> REO does not need to generate a status 66 TLV for the execution of this command 67 68 <enum 1 StatusRequired> REO shall generate a status TLV 69 for the execution of this command 70 71 72 73 <legal all> 74 75 reserved_0a 76 77 <legal 0> 78 */ 79 80 81 /* Description UNIFORM_REO_CMD_HEADER_0_REO_CMD_NUMBER 82 83 Consumer: REO/SW/DEBUG 84 85 Producer: SW 86 87 88 89 This number can be used by SW to track, identify and 90 link the created commands with the command statusses 91 92 93 94 95 96 <legal all> 97 */ 98 #define UNIFORM_REO_CMD_HEADER_0_REO_CMD_NUMBER_OFFSET 0x00000000 99 #define UNIFORM_REO_CMD_HEADER_0_REO_CMD_NUMBER_LSB 0 100 #define UNIFORM_REO_CMD_HEADER_0_REO_CMD_NUMBER_MASK 0x0000ffff 101 102 /* Description UNIFORM_REO_CMD_HEADER_0_REO_STATUS_REQUIRED 103 104 Consumer: REO 105 106 Producer: SW 107 108 109 110 <enum 0 NoStatus> REO does not need to generate a status 111 TLV for the execution of this command 112 113 <enum 1 StatusRequired> REO shall generate a status TLV 114 for the execution of this command 115 116 117 118 <legal all> 119 */ 120 #define UNIFORM_REO_CMD_HEADER_0_REO_STATUS_REQUIRED_OFFSET 0x00000000 121 #define UNIFORM_REO_CMD_HEADER_0_REO_STATUS_REQUIRED_LSB 16 122 #define UNIFORM_REO_CMD_HEADER_0_REO_STATUS_REQUIRED_MASK 0x00010000 123 124 /* Description UNIFORM_REO_CMD_HEADER_0_RESERVED_0A 125 126 <legal 0> 127 */ 128 #define UNIFORM_REO_CMD_HEADER_0_RESERVED_0A_OFFSET 0x00000000 129 #define UNIFORM_REO_CMD_HEADER_0_RESERVED_0A_LSB 17 130 #define UNIFORM_REO_CMD_HEADER_0_RESERVED_0A_MASK 0xfffe0000 131 132 133 #endif // _UNIFORM_REO_CMD_HEADER_H_ 134