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 _PHYRX_ABORT_REQUEST_INFO_H_
20 #define _PHYRX_ABORT_REQUEST_INFO_H_
21 #if !defined(__ASSEMBLER__)
22 #endif
23 
24 #define NUM_OF_DWORDS_PHYRX_ABORT_REQUEST_INFO 1
25 
26 
27 struct phyrx_abort_request_info {
28 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
29              uint32_t phyrx_abort_reason                                      :  8,
30                       phy_enters_nap_state                                    :  1,
31                       phy_enters_defer_state                                  :  1,
32                       reserved_0                                              :  6,
33                       receive_duration                                        : 16;
34 #else
35              uint32_t receive_duration                                        : 16,
36                       reserved_0                                              :  6,
37                       phy_enters_defer_state                                  :  1,
38                       phy_enters_nap_state                                    :  1,
39                       phyrx_abort_reason                                      :  8;
40 #endif
41 };
42 
43 
44 
45 
46 #define PHYRX_ABORT_REQUEST_INFO_PHYRX_ABORT_REASON_OFFSET                          0x00000000
47 #define PHYRX_ABORT_REQUEST_INFO_PHYRX_ABORT_REASON_LSB                             0
48 #define PHYRX_ABORT_REQUEST_INFO_PHYRX_ABORT_REASON_MSB                             7
49 #define PHYRX_ABORT_REQUEST_INFO_PHYRX_ABORT_REASON_MASK                            0x000000ff
50 
51 
52 
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 
60 
61 
62 #define PHYRX_ABORT_REQUEST_INFO_PHY_ENTERS_DEFER_STATE_OFFSET                      0x00000000
63 #define PHYRX_ABORT_REQUEST_INFO_PHY_ENTERS_DEFER_STATE_LSB                         9
64 #define PHYRX_ABORT_REQUEST_INFO_PHY_ENTERS_DEFER_STATE_MSB                         9
65 #define PHYRX_ABORT_REQUEST_INFO_PHY_ENTERS_DEFER_STATE_MASK                        0x00000200
66 
67 
68 
69 
70 #define PHYRX_ABORT_REQUEST_INFO_RESERVED_0_OFFSET                                  0x00000000
71 #define PHYRX_ABORT_REQUEST_INFO_RESERVED_0_LSB                                     10
72 #define PHYRX_ABORT_REQUEST_INFO_RESERVED_0_MSB                                     15
73 #define PHYRX_ABORT_REQUEST_INFO_RESERVED_0_MASK                                    0x0000fc00
74 
75 
76 
77 
78 #define PHYRX_ABORT_REQUEST_INFO_RECEIVE_DURATION_OFFSET                            0x00000000
79 #define PHYRX_ABORT_REQUEST_INFO_RECEIVE_DURATION_LSB                               16
80 #define PHYRX_ABORT_REQUEST_INFO_RECEIVE_DURATION_MSB                               31
81 #define PHYRX_ABORT_REQUEST_INFO_RECEIVE_DURATION_MASK                              0xffff0000
82 
83 
84 
85 #endif
86