1 /* 2 * Copyright (c) 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 _PHYRX_ABORT_REQUEST_INFO_H_ 19 #define _PHYRX_ABORT_REQUEST_INFO_H_ 20 21 #define NUM_OF_DWORDS_PHYRX_ABORT_REQUEST_INFO 1 22 23 struct phyrx_abort_request_info { 24 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN 25 uint32_t phyrx_abort_reason : 8, 26 phy_enters_nap_state : 1, 27 phy_enters_defer_state : 1, 28 gain_change_by_main : 1, 29 gain_change_by_bt : 1, 30 main_tx_indication : 1, 31 bt_tx_indication : 1, 32 concurrent_mode : 1, 33 reserved_0 : 1, 34 receive_duration : 16; 35 #else 36 uint32_t receive_duration : 16, 37 reserved_0 : 1, 38 concurrent_mode : 1, 39 bt_tx_indication : 1, 40 main_tx_indication : 1, 41 gain_change_by_bt : 1, 42 gain_change_by_main : 1, 43 phy_enters_defer_state : 1, 44 phy_enters_nap_state : 1, 45 phyrx_abort_reason : 8; 46 #endif 47 }; 48 49 #define PHYRX_ABORT_REQUEST_INFO_PHYRX_ABORT_REASON_OFFSET 0x00000000 50 #define PHYRX_ABORT_REQUEST_INFO_PHYRX_ABORT_REASON_LSB 0 51 #define PHYRX_ABORT_REQUEST_INFO_PHYRX_ABORT_REASON_MSB 7 52 #define PHYRX_ABORT_REQUEST_INFO_PHYRX_ABORT_REASON_MASK 0x000000ff 53 54 #define PHYRX_ABORT_REQUEST_INFO_PHY_ENTERS_NAP_STATE_OFFSET 0x00000000 55 #define PHYRX_ABORT_REQUEST_INFO_PHY_ENTERS_NAP_STATE_LSB 8 56 #define PHYRX_ABORT_REQUEST_INFO_PHY_ENTERS_NAP_STATE_MSB 8 57 #define PHYRX_ABORT_REQUEST_INFO_PHY_ENTERS_NAP_STATE_MASK 0x00000100 58 59 #define PHYRX_ABORT_REQUEST_INFO_PHY_ENTERS_DEFER_STATE_OFFSET 0x00000000 60 #define PHYRX_ABORT_REQUEST_INFO_PHY_ENTERS_DEFER_STATE_LSB 9 61 #define PHYRX_ABORT_REQUEST_INFO_PHY_ENTERS_DEFER_STATE_MSB 9 62 #define PHYRX_ABORT_REQUEST_INFO_PHY_ENTERS_DEFER_STATE_MASK 0x00000200 63 64 #define PHYRX_ABORT_REQUEST_INFO_GAIN_CHANGE_BY_MAIN_OFFSET 0x00000000 65 #define PHYRX_ABORT_REQUEST_INFO_GAIN_CHANGE_BY_MAIN_LSB 10 66 #define PHYRX_ABORT_REQUEST_INFO_GAIN_CHANGE_BY_MAIN_MSB 10 67 #define PHYRX_ABORT_REQUEST_INFO_GAIN_CHANGE_BY_MAIN_MASK 0x00000400 68 69 #define PHYRX_ABORT_REQUEST_INFO_GAIN_CHANGE_BY_BT_OFFSET 0x00000000 70 #define PHYRX_ABORT_REQUEST_INFO_GAIN_CHANGE_BY_BT_LSB 11 71 #define PHYRX_ABORT_REQUEST_INFO_GAIN_CHANGE_BY_BT_MSB 11 72 #define PHYRX_ABORT_REQUEST_INFO_GAIN_CHANGE_BY_BT_MASK 0x00000800 73 74 #define PHYRX_ABORT_REQUEST_INFO_MAIN_TX_INDICATION_OFFSET 0x00000000 75 #define PHYRX_ABORT_REQUEST_INFO_MAIN_TX_INDICATION_LSB 12 76 #define PHYRX_ABORT_REQUEST_INFO_MAIN_TX_INDICATION_MSB 12 77 #define PHYRX_ABORT_REQUEST_INFO_MAIN_TX_INDICATION_MASK 0x00001000 78 79 #define PHYRX_ABORT_REQUEST_INFO_BT_TX_INDICATION_OFFSET 0x00000000 80 #define PHYRX_ABORT_REQUEST_INFO_BT_TX_INDICATION_LSB 13 81 #define PHYRX_ABORT_REQUEST_INFO_BT_TX_INDICATION_MSB 13 82 #define PHYRX_ABORT_REQUEST_INFO_BT_TX_INDICATION_MASK 0x00002000 83 84 #define PHYRX_ABORT_REQUEST_INFO_CONCURRENT_MODE_OFFSET 0x00000000 85 #define PHYRX_ABORT_REQUEST_INFO_CONCURRENT_MODE_LSB 14 86 #define PHYRX_ABORT_REQUEST_INFO_CONCURRENT_MODE_MSB 14 87 #define PHYRX_ABORT_REQUEST_INFO_CONCURRENT_MODE_MASK 0x00004000 88 89 #define PHYRX_ABORT_REQUEST_INFO_RESERVED_0_OFFSET 0x00000000 90 #define PHYRX_ABORT_REQUEST_INFO_RESERVED_0_LSB 15 91 #define PHYRX_ABORT_REQUEST_INFO_RESERVED_0_MSB 15 92 #define PHYRX_ABORT_REQUEST_INFO_RESERVED_0_MASK 0x00008000 93 94 #define PHYRX_ABORT_REQUEST_INFO_RECEIVE_DURATION_OFFSET 0x00000000 95 #define PHYRX_ABORT_REQUEST_INFO_RECEIVE_DURATION_LSB 16 96 #define PHYRX_ABORT_REQUEST_INFO_RECEIVE_DURATION_MSB 31 97 #define PHYRX_ABORT_REQUEST_INFO_RECEIVE_DURATION_MASK 0xffff0000 98 99 #endif 100