.. | .. |
---|
5 | 5 | * |
---|
6 | 6 | * GPL LICENSE SUMMARY |
---|
7 | 7 | * |
---|
8 | | - * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. |
---|
9 | 8 | * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH |
---|
10 | 9 | * Copyright(c) 2016 - 2017 Intel Deutschland GmbH |
---|
| 10 | + * Copyright(c) 2012 - 2014, 2018, 2020 Intel Corporation |
---|
11 | 11 | * |
---|
12 | 12 | * This program is free software; you can redistribute it and/or modify |
---|
13 | 13 | * it under the terms of version 2 of the GNU General Public License as |
---|
.. | .. |
---|
27 | 27 | * |
---|
28 | 28 | * BSD LICENSE |
---|
29 | 29 | * |
---|
30 | | - * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. |
---|
31 | 30 | * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH |
---|
32 | 31 | * Copyright(c) 2016 - 2017 Intel Deutschland GmbH |
---|
| 32 | + * Copyright(c) 2012 - 2014, 2018, 2020 Intel Corporation |
---|
33 | 33 | * All rights reserved. |
---|
34 | 34 | * |
---|
35 | 35 | * Redistribution and use in source and binary forms, with or without |
---|
.. | .. |
---|
95 | 95 | #define PHY_VHT_CTRL_POS_4_ABOVE (0x7) |
---|
96 | 96 | |
---|
97 | 97 | /* |
---|
| 98 | + * struct iwl_fw_channel_info_v1 - channel information |
---|
| 99 | + * |
---|
98 | 100 | * @band: PHY_BAND_* |
---|
99 | 101 | * @channel: channel number |
---|
100 | 102 | * @width: PHY_[VHT|LEGACY]_CHANNEL_* |
---|
101 | 103 | * @ctrl channel: PHY_[VHT|LEGACY]_CTRL_* |
---|
102 | 104 | */ |
---|
103 | | -struct iwl_fw_channel_info { |
---|
| 105 | +struct iwl_fw_channel_info_v1 { |
---|
104 | 106 | u8 band; |
---|
105 | 107 | u8 channel; |
---|
106 | 108 | u8 width; |
---|
107 | 109 | u8 ctrl_pos; |
---|
108 | | -} __packed; |
---|
| 110 | +} __packed; /* CHANNEL_CONFIG_API_S_VER_1 */ |
---|
| 111 | + |
---|
| 112 | +/* |
---|
| 113 | + * struct iwl_fw_channel_info - channel information |
---|
| 114 | + * |
---|
| 115 | + * @channel: channel number |
---|
| 116 | + * @band: PHY_BAND_* |
---|
| 117 | + * @width: PHY_[VHT|LEGACY]_CHANNEL_* |
---|
| 118 | + * @ctrl channel: PHY_[VHT|LEGACY]_CTRL_* |
---|
| 119 | + * @reserved: for future use and alignment |
---|
| 120 | + */ |
---|
| 121 | +struct iwl_fw_channel_info { |
---|
| 122 | + __le32 channel; |
---|
| 123 | + u8 band; |
---|
| 124 | + u8 width; |
---|
| 125 | + u8 ctrl_pos; |
---|
| 126 | + u8 reserved; |
---|
| 127 | +} __packed; /*CHANNEL_CONFIG_API_S_VER_2 */ |
---|
109 | 128 | |
---|
110 | 129 | #define PHY_RX_CHAIN_DRIVER_FORCE_POS (0) |
---|
111 | 130 | #define PHY_RX_CHAIN_DRIVER_FORCE_MSK \ |
---|
.. | .. |
---|
134 | 153 | |
---|
135 | 154 | /* TODO: complete missing documentation */ |
---|
136 | 155 | /** |
---|
| 156 | + * struct iwl_phy_context_cmd_tail - tail of iwl_phy_ctx_cmd for alignment with |
---|
| 157 | + * various channel structures. |
---|
| 158 | + * |
---|
| 159 | + * @txchain_info: ??? |
---|
| 160 | + * @rxchain_info: ??? |
---|
| 161 | + * @acquisition_data: ??? |
---|
| 162 | + * @dsp_cfg_flags: set to 0 |
---|
| 163 | + */ |
---|
| 164 | +struct iwl_phy_context_cmd_tail { |
---|
| 165 | + __le32 txchain_info; |
---|
| 166 | + __le32 rxchain_info; |
---|
| 167 | + __le32 acquisition_data; |
---|
| 168 | + __le32 dsp_cfg_flags; |
---|
| 169 | +} __packed; |
---|
| 170 | + |
---|
| 171 | +/** |
---|
137 | 172 | * struct iwl_phy_context_cmd - config of the PHY context |
---|
138 | 173 | * ( PHY_CONTEXT_CMD = 0x8 ) |
---|
139 | 174 | * @id_and_color: ID and color of the relevant Binding |
---|
.. | .. |
---|
142 | 177 | * other value means apply new params after X usecs |
---|
143 | 178 | * @tx_param_color: ??? |
---|
144 | 179 | * @ci: channel info |
---|
145 | | - * @txchain_info: ??? |
---|
| 180 | + * @tail: command tail |
---|
| 181 | + */ |
---|
| 182 | +struct iwl_phy_context_cmd_v1 { |
---|
| 183 | + /* COMMON_INDEX_HDR_API_S_VER_1 */ |
---|
| 184 | + __le32 id_and_color; |
---|
| 185 | + __le32 action; |
---|
| 186 | + /* PHY_CONTEXT_DATA_API_S_VER_3 */ |
---|
| 187 | + __le32 apply_time; |
---|
| 188 | + __le32 tx_param_color; |
---|
| 189 | + struct iwl_fw_channel_info ci; |
---|
| 190 | + struct iwl_phy_context_cmd_tail tail; |
---|
| 191 | +} __packed; /* PHY_CONTEXT_CMD_API_VER_1 */ |
---|
| 192 | + |
---|
| 193 | +/** |
---|
| 194 | + * struct iwl_phy_context_cmd - config of the PHY context |
---|
| 195 | + * ( PHY_CONTEXT_CMD = 0x8 ) |
---|
| 196 | + * @id_and_color: ID and color of the relevant Binding |
---|
| 197 | + * @action: action to perform, one of FW_CTXT_ACTION_* |
---|
| 198 | + * @lmac_id: the lmac id the phy context belongs to |
---|
| 199 | + * @ci: channel info |
---|
146 | 200 | * @rxchain_info: ??? |
---|
147 | | - * @acquisition_data: ??? |
---|
148 | 201 | * @dsp_cfg_flags: set to 0 |
---|
| 202 | + * @reserved: reserved to align to 64 bit |
---|
149 | 203 | */ |
---|
150 | 204 | struct iwl_phy_context_cmd { |
---|
151 | 205 | /* COMMON_INDEX_HDR_API_S_VER_1 */ |
---|
152 | 206 | __le32 id_and_color; |
---|
153 | 207 | __le32 action; |
---|
154 | | - /* PHY_CONTEXT_DATA_API_S_VER_1 */ |
---|
155 | | - __le32 apply_time; |
---|
156 | | - __le32 tx_param_color; |
---|
| 208 | + /* PHY_CONTEXT_DATA_API_S_VER_3 */ |
---|
157 | 209 | struct iwl_fw_channel_info ci; |
---|
158 | | - __le32 txchain_info; |
---|
| 210 | + __le32 lmac_id; |
---|
159 | 211 | __le32 rxchain_info; |
---|
160 | | - __le32 acquisition_data; |
---|
161 | 212 | __le32 dsp_cfg_flags; |
---|
162 | | -} __packed; /* PHY_CONTEXT_CMD_API_VER_1 */ |
---|
163 | | - |
---|
| 213 | + __le32 reserved; |
---|
| 214 | +} __packed; /* PHY_CONTEXT_CMD_API_VER_3 */ |
---|
164 | 215 | #endif /* __iwl_fw_api_phy_ctxt_h__ */ |
---|