hc
2024-03-22 a0752693d998599af469473b8dc239ef973a012f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
/** @file */
/******************************************************************************
 *
 * Copyright(c) 2019 Realtek Corporation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of version 2 of the GNU General Public License as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
 * more details.
 *
 ******************************************************************************/
 
#ifndef _MAC_AX_HWAMSDU_H_
#define _MAC_AX_HWAMSDU_H_
 
#include "../type.h"
#include "../mac_ax.h"
 
#define MAX_LENGTH_ENUM 7
 
/**
 * @struct mac_ax_en_amsdu_cut
 * @brief mac_ax_en_amsdu_cut
 *
 * @var mac_ax_en_amsdu_cut::enable
 * Please Place Description here.
 * @var mac_ax_en_amsdu_cut::low_th
 * Please Place Description here.
 * @var mac_ax_en_amsdu_cut::high_th
 * Please Place Description here.
 * @var mac_ax_en_amsdu_cut::aligned
 * Please Place Description here.
 * @var mac_ax_en_amsdu_cut::rsvd0
 * Please Place Description here.
 */
struct mac_ax_en_amsdu_cut {
   /* dword0 */
   u32 enable: 1;
   u32 low_th: 8;
   u32 high_th: 16;
   u32 aligned: 2;
   u32 rsvd0: 5;
};
 
/**
 * @struct mac_ax_en_hwamsdu
 * @brief mac_ax_en_hwamsdu
 *
 * @var mac_ax_en_hwamsdu::enable
 * Please Place Description here.
 * @var mac_ax_en_hwamsdu::max_num
 * Please Place Description here.
 * @var mac_ax_en_hwamsdu::en_single_amsdu
 * Please Place Description here.
 * @var mac_ax_en_hwamsdu::en_last_amsdu_padding
 * Please Place Description here.
 * @var mac_ax_en_hwamsdu::rsvd0
 * Please Place Description here.
 */
struct mac_ax_en_hwamsdu {
   /* dword0 */
   u32 enable: 1;
   u32 max_num: 2;
   u32 en_single_amsdu:1;
   u32 en_last_amsdu_padding:1;
   u32 rsvd0: 27;
};
 
/**
 * @addtogroup Basic_TRX
 * @{
 * @addtogroup TX_ShortCut
 * @{
 */
 
/**
 * @brief mac_enable_cut_hwamsdu
 *
 * @param *adapter
 * @param enable
 * @param low_th
 * @param high_th
 * @param aligned
 * @return Please Place Description here.
 * @retval u32
 */
u32 mac_enable_cut_hwamsdu(struct mac_ax_adapter *adapter,
              u8 enable,
              u8 low_th,
              u16 high_th,
              enum mac_ax_ex_shift aligned);
/**
 * @}
 * @}
 */
/**
 * @addtogroup Basic_TRX
 * @{
 * @addtogroup TX_ShortCut
 * @{
 */
 
/**
 * @brief mac_enable_hwmasdu
 *
 * @param *adapter
 * @param enable
 * @param max_num
 * @param en_single_amsdu
 * @param en_last_amsdu_padding
 * @return Please Place Description here.
 * @retval u32
 */
u32 mac_enable_hwmasdu(struct mac_ax_adapter *adapter,
              u8 enable,
              enum mac_ax_amsdu_pkt_num max_num,
              u8 en_single_amsdu,
              u8 en_last_amsdu_padding);
/**
 * @}
 * @}
 */
 
#endif