1 /* 2 * Copyright (c) 2016-2017 The Linux Foundation. All rights reserved. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for 5 * any purpose with or without fee is hereby granted, provided that the 6 * above copyright notice and this permission notice appear in all 7 * copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 10 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 11 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 12 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 15 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 16 * PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19 #ifndef _MACRX_ABORT_REQUEST_INFO_H_ 20 #define _MACRX_ABORT_REQUEST_INFO_H_ 21 #if !defined(__ASSEMBLER__) 22 #endif 23 24 25 // ################ START SUMMARY ################# 26 // 27 // Dword Fields 28 // 0 macrx_abort_reason[7:0], reserved_0[15:8] 29 // 30 // ################ END SUMMARY ################# 31 32 #define NUM_OF_WORDS_MACRX_ABORT_REQUEST_INFO 1 33 34 struct macrx_abort_request_info { 35 uint16_t macrx_abort_reason : 8, //[7:0] 36 reserved_0 : 8; //[15:8] 37 }; 38 39 /* 40 41 macrx_abort_reason 42 43 <enum 0 macrx_abort_sw_initiated> 44 45 <enum 1 macrx_abort_obss_reception> Upon receiving this 46 abort reason, PHY should stop reception of the current frame 47 and go back into a search mode 48 49 <enum 2 macrx_abort_other> 50 51 <enum 3 macrx_abort_sw_initiated_channel_switch > MAC FW 52 issued an abort for channel switch reasons 53 54 <enum 4 macrx_abort_sw_initiated_power_save > MAC FW 55 issued an abort power save reasons 56 57 <enum 5 macrx_abort_too_much_bad_data > RXPCU is 58 terminating the current ongoing reception, as the data that 59 MAC is receiving seems to be all garbage... The PER is too 60 high, or in case of MU UL, Likely the trigger frame never 61 got properly received by any of the targeted MU UL devices. 62 After the abort, PHYRX can resume a normal search mode. 63 64 65 66 <legal 0-5> 67 68 reserved_0 69 70 <legal 0> 71 */ 72 73 74 /* Description MACRX_ABORT_REQUEST_INFO_0_MACRX_ABORT_REASON 75 76 <enum 0 macrx_abort_sw_initiated> 77 78 <enum 1 macrx_abort_obss_reception> Upon receiving this 79 abort reason, PHY should stop reception of the current frame 80 and go back into a search mode 81 82 <enum 2 macrx_abort_other> 83 84 <enum 3 macrx_abort_sw_initiated_channel_switch > MAC FW 85 issued an abort for channel switch reasons 86 87 <enum 4 macrx_abort_sw_initiated_power_save > MAC FW 88 issued an abort power save reasons 89 90 <enum 5 macrx_abort_too_much_bad_data > RXPCU is 91 terminating the current ongoing reception, as the data that 92 MAC is receiving seems to be all garbage... The PER is too 93 high, or in case of MU UL, Likely the trigger frame never 94 got properly received by any of the targeted MU UL devices. 95 After the abort, PHYRX can resume a normal search mode. 96 97 98 99 <legal 0-5> 100 */ 101 #define MACRX_ABORT_REQUEST_INFO_0_MACRX_ABORT_REASON_OFFSET 0x00000000 102 #define MACRX_ABORT_REQUEST_INFO_0_MACRX_ABORT_REASON_LSB 0 103 #define MACRX_ABORT_REQUEST_INFO_0_MACRX_ABORT_REASON_MASK 0x000000ff 104 105 /* Description MACRX_ABORT_REQUEST_INFO_0_RESERVED_0 106 107 <legal 0> 108 */ 109 #define MACRX_ABORT_REQUEST_INFO_0_RESERVED_0_OFFSET 0x00000000 110 #define MACRX_ABORT_REQUEST_INFO_0_RESERVED_0_LSB 8 111 #define MACRX_ABORT_REQUEST_INFO_0_RESERVED_0_MASK 0x0000ff00 112 113 114 #endif // _MACRX_ABORT_REQUEST_INFO_H_ 115