xref: /wlan-driver/fw-api/hw/wcn7750/v1/rx_msdu_ext_desc_info.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
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 _RX_MSDU_EXT_DESC_INFO_H_
19 #define _RX_MSDU_EXT_DESC_INFO_H_
20 
21 #define NUM_OF_DWORDS_RX_MSDU_EXT_DESC_INFO 1
22 
23 struct rx_msdu_ext_desc_info {
24 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
25              uint32_t reo_destination_indication                              :  5,
26                       service_code                                            :  9,
27                       priority_valid                                          :  1,
28                       data_offset                                             : 12,
29                       src_link_id                                             :  3,
30                       reserved_0a                                             :  2;
31 #else
32              uint32_t reserved_0a                                             :  2,
33                       src_link_id                                             :  3,
34                       data_offset                                             : 12,
35                       priority_valid                                          :  1,
36                       service_code                                            :  9,
37                       reo_destination_indication                              :  5;
38 #endif
39 };
40 
41 #define RX_MSDU_EXT_DESC_INFO_REO_DESTINATION_INDICATION_OFFSET                     0x00000000
42 #define RX_MSDU_EXT_DESC_INFO_REO_DESTINATION_INDICATION_LSB                        0
43 #define RX_MSDU_EXT_DESC_INFO_REO_DESTINATION_INDICATION_MSB                        4
44 #define RX_MSDU_EXT_DESC_INFO_REO_DESTINATION_INDICATION_MASK                       0x0000001f
45 
46 #define RX_MSDU_EXT_DESC_INFO_SERVICE_CODE_OFFSET                                   0x00000000
47 #define RX_MSDU_EXT_DESC_INFO_SERVICE_CODE_LSB                                      5
48 #define RX_MSDU_EXT_DESC_INFO_SERVICE_CODE_MSB                                      13
49 #define RX_MSDU_EXT_DESC_INFO_SERVICE_CODE_MASK                                     0x00003fe0
50 
51 #define RX_MSDU_EXT_DESC_INFO_PRIORITY_VALID_OFFSET                                 0x00000000
52 #define RX_MSDU_EXT_DESC_INFO_PRIORITY_VALID_LSB                                    14
53 #define RX_MSDU_EXT_DESC_INFO_PRIORITY_VALID_MSB                                    14
54 #define RX_MSDU_EXT_DESC_INFO_PRIORITY_VALID_MASK                                   0x00004000
55 
56 #define RX_MSDU_EXT_DESC_INFO_DATA_OFFSET_OFFSET                                    0x00000000
57 #define RX_MSDU_EXT_DESC_INFO_DATA_OFFSET_LSB                                       15
58 #define RX_MSDU_EXT_DESC_INFO_DATA_OFFSET_MSB                                       26
59 #define RX_MSDU_EXT_DESC_INFO_DATA_OFFSET_MASK                                      0x07ff8000
60 
61 #define RX_MSDU_EXT_DESC_INFO_SRC_LINK_ID_OFFSET                                    0x00000000
62 #define RX_MSDU_EXT_DESC_INFO_SRC_LINK_ID_LSB                                       27
63 #define RX_MSDU_EXT_DESC_INFO_SRC_LINK_ID_MSB                                       29
64 #define RX_MSDU_EXT_DESC_INFO_SRC_LINK_ID_MASK                                      0x38000000
65 
66 #define RX_MSDU_EXT_DESC_INFO_RESERVED_0A_OFFSET                                    0x00000000
67 #define RX_MSDU_EXT_DESC_INFO_RESERVED_0A_LSB                                       30
68 #define RX_MSDU_EXT_DESC_INFO_RESERVED_0A_MSB                                       31
69 #define RX_MSDU_EXT_DESC_INFO_RESERVED_0A_MASK                                      0xc0000000
70 
71 #endif
72