1 /* 2 * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. 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 18 #ifndef _REO_UNBLOCK_CACHE_H_ 19 #define _REO_UNBLOCK_CACHE_H_ 20 21 #include "uniform_reo_cmd_header.h" 22 #define NUM_OF_DWORDS_REO_UNBLOCK_CACHE 9 23 24 struct reo_unblock_cache { 25 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN 26 struct uniform_reo_cmd_header cmd_header; 27 uint32_t unblock_type : 1, 28 cache_block_resource_index : 2, 29 reserved_1a : 29; 30 uint32_t reserved_2a : 32; 31 uint32_t reserved_3a : 32; 32 uint32_t reserved_4a : 32; 33 uint32_t reserved_5a : 32; 34 uint32_t reserved_6a : 32; 35 uint32_t reserved_7a : 32; 36 uint32_t reserved_8a : 32; 37 #else 38 struct uniform_reo_cmd_header cmd_header; 39 uint32_t reserved_1a : 29, 40 cache_block_resource_index : 2, 41 unblock_type : 1; 42 uint32_t reserved_2a : 32; 43 uint32_t reserved_3a : 32; 44 uint32_t reserved_4a : 32; 45 uint32_t reserved_5a : 32; 46 uint32_t reserved_6a : 32; 47 uint32_t reserved_7a : 32; 48 uint32_t reserved_8a : 32; 49 #endif 50 }; 51 52 #define REO_UNBLOCK_CACHE_CMD_HEADER_REO_CMD_NUMBER_OFFSET 0x00000000 53 #define REO_UNBLOCK_CACHE_CMD_HEADER_REO_CMD_NUMBER_LSB 0 54 #define REO_UNBLOCK_CACHE_CMD_HEADER_REO_CMD_NUMBER_MSB 15 55 #define REO_UNBLOCK_CACHE_CMD_HEADER_REO_CMD_NUMBER_MASK 0x0000ffff 56 57 #define REO_UNBLOCK_CACHE_CMD_HEADER_REO_STATUS_REQUIRED_OFFSET 0x00000000 58 #define REO_UNBLOCK_CACHE_CMD_HEADER_REO_STATUS_REQUIRED_LSB 16 59 #define REO_UNBLOCK_CACHE_CMD_HEADER_REO_STATUS_REQUIRED_MSB 16 60 #define REO_UNBLOCK_CACHE_CMD_HEADER_REO_STATUS_REQUIRED_MASK 0x00010000 61 62 #define REO_UNBLOCK_CACHE_CMD_HEADER_RESERVED_0A_OFFSET 0x00000000 63 #define REO_UNBLOCK_CACHE_CMD_HEADER_RESERVED_0A_LSB 17 64 #define REO_UNBLOCK_CACHE_CMD_HEADER_RESERVED_0A_MSB 31 65 #define REO_UNBLOCK_CACHE_CMD_HEADER_RESERVED_0A_MASK 0xfffe0000 66 67 #define REO_UNBLOCK_CACHE_UNBLOCK_TYPE_OFFSET 0x00000004 68 #define REO_UNBLOCK_CACHE_UNBLOCK_TYPE_LSB 0 69 #define REO_UNBLOCK_CACHE_UNBLOCK_TYPE_MSB 0 70 #define REO_UNBLOCK_CACHE_UNBLOCK_TYPE_MASK 0x00000001 71 72 #define REO_UNBLOCK_CACHE_CACHE_BLOCK_RESOURCE_INDEX_OFFSET 0x00000004 73 #define REO_UNBLOCK_CACHE_CACHE_BLOCK_RESOURCE_INDEX_LSB 1 74 #define REO_UNBLOCK_CACHE_CACHE_BLOCK_RESOURCE_INDEX_MSB 2 75 #define REO_UNBLOCK_CACHE_CACHE_BLOCK_RESOURCE_INDEX_MASK 0x00000006 76 77 #define REO_UNBLOCK_CACHE_RESERVED_1A_OFFSET 0x00000004 78 #define REO_UNBLOCK_CACHE_RESERVED_1A_LSB 3 79 #define REO_UNBLOCK_CACHE_RESERVED_1A_MSB 31 80 #define REO_UNBLOCK_CACHE_RESERVED_1A_MASK 0xfffffff8 81 82 #define REO_UNBLOCK_CACHE_RESERVED_2A_OFFSET 0x00000008 83 #define REO_UNBLOCK_CACHE_RESERVED_2A_LSB 0 84 #define REO_UNBLOCK_CACHE_RESERVED_2A_MSB 31 85 #define REO_UNBLOCK_CACHE_RESERVED_2A_MASK 0xffffffff 86 87 #define REO_UNBLOCK_CACHE_RESERVED_3A_OFFSET 0x0000000c 88 #define REO_UNBLOCK_CACHE_RESERVED_3A_LSB 0 89 #define REO_UNBLOCK_CACHE_RESERVED_3A_MSB 31 90 #define REO_UNBLOCK_CACHE_RESERVED_3A_MASK 0xffffffff 91 92 #define REO_UNBLOCK_CACHE_RESERVED_4A_OFFSET 0x00000010 93 #define REO_UNBLOCK_CACHE_RESERVED_4A_LSB 0 94 #define REO_UNBLOCK_CACHE_RESERVED_4A_MSB 31 95 #define REO_UNBLOCK_CACHE_RESERVED_4A_MASK 0xffffffff 96 97 #define REO_UNBLOCK_CACHE_RESERVED_5A_OFFSET 0x00000014 98 #define REO_UNBLOCK_CACHE_RESERVED_5A_LSB 0 99 #define REO_UNBLOCK_CACHE_RESERVED_5A_MSB 31 100 #define REO_UNBLOCK_CACHE_RESERVED_5A_MASK 0xffffffff 101 102 #define REO_UNBLOCK_CACHE_RESERVED_6A_OFFSET 0x00000018 103 #define REO_UNBLOCK_CACHE_RESERVED_6A_LSB 0 104 #define REO_UNBLOCK_CACHE_RESERVED_6A_MSB 31 105 #define REO_UNBLOCK_CACHE_RESERVED_6A_MASK 0xffffffff 106 107 #define REO_UNBLOCK_CACHE_RESERVED_7A_OFFSET 0x0000001c 108 #define REO_UNBLOCK_CACHE_RESERVED_7A_LSB 0 109 #define REO_UNBLOCK_CACHE_RESERVED_7A_MSB 31 110 #define REO_UNBLOCK_CACHE_RESERVED_7A_MASK 0xffffffff 111 112 #define REO_UNBLOCK_CACHE_RESERVED_8A_OFFSET 0x00000020 113 #define REO_UNBLOCK_CACHE_RESERVED_8A_LSB 0 114 #define REO_UNBLOCK_CACHE_RESERVED_8A_MSB 31 115 #define REO_UNBLOCK_CACHE_RESERVED_8A_MASK 0xffffffff 116 117 #endif 118