1 2 /* 3 * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. 4 * SPDX-License-Identifier: ISC 5 */ 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #ifndef _MON_DESTINATION_RING_WITH_DROP_H_ 20 #define _MON_DESTINATION_RING_WITH_DROP_H_ 21 #if !defined(__ASSEMBLER__) 22 #endif 23 24 #define NUM_OF_DWORDS_MON_DESTINATION_RING_WITH_DROP 4 25 26 27 struct mon_destination_ring_with_drop { 28 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN 29 uint32_t ppdu_drop_cnt : 10, 30 mpdu_drop_cnt : 10, 31 tlv_drop_cnt : 10, 32 end_of_ppdu_seen : 1, 33 reserved_0a : 1; 34 uint32_t reserved_1a : 32; 35 uint32_t ppdu_id : 32; 36 uint32_t reserved_3a : 18, 37 initiator : 1, 38 empty_descriptor : 1, 39 ring_id : 8, 40 looping_count : 4; 41 #else 42 uint32_t reserved_0a : 1, 43 end_of_ppdu_seen : 1, 44 tlv_drop_cnt : 10, 45 mpdu_drop_cnt : 10, 46 ppdu_drop_cnt : 10; 47 uint32_t reserved_1a : 32; 48 uint32_t ppdu_id : 32; 49 uint32_t looping_count : 4, 50 ring_id : 8, 51 empty_descriptor : 1, 52 initiator : 1, 53 reserved_3a : 18; 54 #endif 55 }; 56 57 58 59 60 #define MON_DESTINATION_RING_WITH_DROP_PPDU_DROP_CNT_OFFSET 0x00000000 61 #define MON_DESTINATION_RING_WITH_DROP_PPDU_DROP_CNT_LSB 0 62 #define MON_DESTINATION_RING_WITH_DROP_PPDU_DROP_CNT_MSB 9 63 #define MON_DESTINATION_RING_WITH_DROP_PPDU_DROP_CNT_MASK 0x000003ff 64 65 66 67 68 #define MON_DESTINATION_RING_WITH_DROP_MPDU_DROP_CNT_OFFSET 0x00000000 69 #define MON_DESTINATION_RING_WITH_DROP_MPDU_DROP_CNT_LSB 10 70 #define MON_DESTINATION_RING_WITH_DROP_MPDU_DROP_CNT_MSB 19 71 #define MON_DESTINATION_RING_WITH_DROP_MPDU_DROP_CNT_MASK 0x000ffc00 72 73 74 75 76 #define MON_DESTINATION_RING_WITH_DROP_TLV_DROP_CNT_OFFSET 0x00000000 77 #define MON_DESTINATION_RING_WITH_DROP_TLV_DROP_CNT_LSB 20 78 #define MON_DESTINATION_RING_WITH_DROP_TLV_DROP_CNT_MSB 29 79 #define MON_DESTINATION_RING_WITH_DROP_TLV_DROP_CNT_MASK 0x3ff00000 80 81 82 83 84 #define MON_DESTINATION_RING_WITH_DROP_END_OF_PPDU_SEEN_OFFSET 0x00000000 85 #define MON_DESTINATION_RING_WITH_DROP_END_OF_PPDU_SEEN_LSB 30 86 #define MON_DESTINATION_RING_WITH_DROP_END_OF_PPDU_SEEN_MSB 30 87 #define MON_DESTINATION_RING_WITH_DROP_END_OF_PPDU_SEEN_MASK 0x40000000 88 89 90 91 92 #define MON_DESTINATION_RING_WITH_DROP_RESERVED_0A_OFFSET 0x00000000 93 #define MON_DESTINATION_RING_WITH_DROP_RESERVED_0A_LSB 31 94 #define MON_DESTINATION_RING_WITH_DROP_RESERVED_0A_MSB 31 95 #define MON_DESTINATION_RING_WITH_DROP_RESERVED_0A_MASK 0x80000000 96 97 98 99 100 #define MON_DESTINATION_RING_WITH_DROP_RESERVED_1A_OFFSET 0x00000004 101 #define MON_DESTINATION_RING_WITH_DROP_RESERVED_1A_LSB 0 102 #define MON_DESTINATION_RING_WITH_DROP_RESERVED_1A_MSB 31 103 #define MON_DESTINATION_RING_WITH_DROP_RESERVED_1A_MASK 0xffffffff 104 105 106 107 108 #define MON_DESTINATION_RING_WITH_DROP_PPDU_ID_OFFSET 0x00000008 109 #define MON_DESTINATION_RING_WITH_DROP_PPDU_ID_LSB 0 110 #define MON_DESTINATION_RING_WITH_DROP_PPDU_ID_MSB 31 111 #define MON_DESTINATION_RING_WITH_DROP_PPDU_ID_MASK 0xffffffff 112 113 114 115 116 #define MON_DESTINATION_RING_WITH_DROP_RESERVED_3A_OFFSET 0x0000000c 117 #define MON_DESTINATION_RING_WITH_DROP_RESERVED_3A_LSB 0 118 #define MON_DESTINATION_RING_WITH_DROP_RESERVED_3A_MSB 17 119 #define MON_DESTINATION_RING_WITH_DROP_RESERVED_3A_MASK 0x0003ffff 120 121 122 123 124 #define MON_DESTINATION_RING_WITH_DROP_INITIATOR_OFFSET 0x0000000c 125 #define MON_DESTINATION_RING_WITH_DROP_INITIATOR_LSB 18 126 #define MON_DESTINATION_RING_WITH_DROP_INITIATOR_MSB 18 127 #define MON_DESTINATION_RING_WITH_DROP_INITIATOR_MASK 0x00040000 128 129 130 131 132 #define MON_DESTINATION_RING_WITH_DROP_EMPTY_DESCRIPTOR_OFFSET 0x0000000c 133 #define MON_DESTINATION_RING_WITH_DROP_EMPTY_DESCRIPTOR_LSB 19 134 #define MON_DESTINATION_RING_WITH_DROP_EMPTY_DESCRIPTOR_MSB 19 135 #define MON_DESTINATION_RING_WITH_DROP_EMPTY_DESCRIPTOR_MASK 0x00080000 136 137 138 139 140 #define MON_DESTINATION_RING_WITH_DROP_RING_ID_OFFSET 0x0000000c 141 #define MON_DESTINATION_RING_WITH_DROP_RING_ID_LSB 20 142 #define MON_DESTINATION_RING_WITH_DROP_RING_ID_MSB 27 143 #define MON_DESTINATION_RING_WITH_DROP_RING_ID_MASK 0x0ff00000 144 145 146 147 148 #define MON_DESTINATION_RING_WITH_DROP_LOOPING_COUNT_OFFSET 0x0000000c 149 #define MON_DESTINATION_RING_WITH_DROP_LOOPING_COUNT_LSB 28 150 #define MON_DESTINATION_RING_WITH_DROP_LOOPING_COUNT_MSB 31 151 #define MON_DESTINATION_RING_WITH_DROP_LOOPING_COUNT_MASK 0xf0000000 152 153 154 155 #endif 156