Lines Matching refs:cmd

25 					  struct ath11k_hal_reo_cmd *cmd)  in ath11k_hal_reo_cmd_queue_stats()  argument
35 desc->cmd.info0 &= ~HAL_REO_CMD_HDR_INFO0_STATUS_REQUIRED; in ath11k_hal_reo_cmd_queue_stats()
36 if (cmd->flag & HAL_REO_CMD_FLG_NEED_STATUS) in ath11k_hal_reo_cmd_queue_stats()
37 desc->cmd.info0 |= HAL_REO_CMD_HDR_INFO0_STATUS_REQUIRED; in ath11k_hal_reo_cmd_queue_stats()
39 desc->queue_addr_lo = cmd->addr_lo; in ath11k_hal_reo_cmd_queue_stats()
41 cmd->addr_hi); in ath11k_hal_reo_cmd_queue_stats()
42 if (cmd->flag & HAL_REO_CMD_FLG_STATS_CLEAR) in ath11k_hal_reo_cmd_queue_stats()
45 return FIELD_GET(HAL_REO_CMD_HDR_INFO0_CMD_NUMBER, desc->cmd.info0); in ath11k_hal_reo_cmd_queue_stats()
49 struct ath11k_hal_reo_cmd *cmd) in ath11k_hal_reo_cmd_flush_cache() argument
54 if (cmd->flag & HAL_REO_CMD_FLG_FLUSH_BLOCK_LATER) { in ath11k_hal_reo_cmd_flush_cache()
67 desc->cmd.info0 &= ~HAL_REO_CMD_HDR_INFO0_STATUS_REQUIRED; in ath11k_hal_reo_cmd_flush_cache()
68 if (cmd->flag & HAL_REO_CMD_FLG_NEED_STATUS) in ath11k_hal_reo_cmd_flush_cache()
69 desc->cmd.info0 |= HAL_REO_CMD_HDR_INFO0_STATUS_REQUIRED; in ath11k_hal_reo_cmd_flush_cache()
71 desc->cache_addr_lo = cmd->addr_lo; in ath11k_hal_reo_cmd_flush_cache()
73 cmd->addr_hi); in ath11k_hal_reo_cmd_flush_cache()
75 if (cmd->flag & HAL_REO_CMD_FLG_FLUSH_FWD_ALL_MPDUS) in ath11k_hal_reo_cmd_flush_cache()
78 if (cmd->flag & HAL_REO_CMD_FLG_FLUSH_BLOCK_LATER) { in ath11k_hal_reo_cmd_flush_cache()
85 if (cmd->flag & HAL_REO_CMD_FLG_FLUSH_NO_INVAL) in ath11k_hal_reo_cmd_flush_cache()
88 if (cmd->flag & HAL_REO_CMD_FLG_FLUSH_ALL) in ath11k_hal_reo_cmd_flush_cache()
91 return FIELD_GET(HAL_REO_CMD_HDR_INFO0_CMD_NUMBER, desc->cmd.info0); in ath11k_hal_reo_cmd_flush_cache()
95 struct ath11k_hal_reo_cmd *cmd) in ath11k_hal_reo_cmd_update_rx_queue() argument
105 desc->cmd.info0 &= ~HAL_REO_CMD_HDR_INFO0_STATUS_REQUIRED; in ath11k_hal_reo_cmd_update_rx_queue()
106 if (cmd->flag & HAL_REO_CMD_FLG_NEED_STATUS) in ath11k_hal_reo_cmd_update_rx_queue()
107 desc->cmd.info0 |= HAL_REO_CMD_HDR_INFO0_STATUS_REQUIRED; in ath11k_hal_reo_cmd_update_rx_queue()
109 desc->queue_addr_lo = cmd->addr_lo; in ath11k_hal_reo_cmd_update_rx_queue()
112 cmd->addr_hi) | in ath11k_hal_reo_cmd_update_rx_queue()
114 !!(cmd->upd0 & HAL_REO_CMD_UPD0_RX_QUEUE_NUM)) | in ath11k_hal_reo_cmd_update_rx_queue()
116 !!(cmd->upd0 & HAL_REO_CMD_UPD0_VLD)) | in ath11k_hal_reo_cmd_update_rx_queue()
118 !!(cmd->upd0 & HAL_REO_CMD_UPD0_ALDC)) | in ath11k_hal_reo_cmd_update_rx_queue()
120 !!(cmd->upd0 & HAL_REO_CMD_UPD0_DIS_DUP_DETECTION)) | in ath11k_hal_reo_cmd_update_rx_queue()
122 !!(cmd->upd0 & HAL_REO_CMD_UPD0_SOFT_REORDER_EN)) | in ath11k_hal_reo_cmd_update_rx_queue()
124 !!(cmd->upd0 & HAL_REO_CMD_UPD0_AC)) | in ath11k_hal_reo_cmd_update_rx_queue()
126 !!(cmd->upd0 & HAL_REO_CMD_UPD0_BAR)) | in ath11k_hal_reo_cmd_update_rx_queue()
128 !!(cmd->upd0 & HAL_REO_CMD_UPD0_RETRY)) | in ath11k_hal_reo_cmd_update_rx_queue()
130 !!(cmd->upd0 & HAL_REO_CMD_UPD0_CHECK_2K_MODE)) | in ath11k_hal_reo_cmd_update_rx_queue()
132 !!(cmd->upd0 & HAL_REO_CMD_UPD0_OOR_MODE)) | in ath11k_hal_reo_cmd_update_rx_queue()
134 !!(cmd->upd0 & HAL_REO_CMD_UPD0_BA_WINDOW_SIZE)) | in ath11k_hal_reo_cmd_update_rx_queue()
136 !!(cmd->upd0 & HAL_REO_CMD_UPD0_PN_CHECK)) | in ath11k_hal_reo_cmd_update_rx_queue()
138 !!(cmd->upd0 & HAL_REO_CMD_UPD0_EVEN_PN)) | in ath11k_hal_reo_cmd_update_rx_queue()
140 !!(cmd->upd0 & HAL_REO_CMD_UPD0_UNEVEN_PN)) | in ath11k_hal_reo_cmd_update_rx_queue()
142 !!(cmd->upd0 & HAL_REO_CMD_UPD0_PN_HANDLE_ENABLE)) | in ath11k_hal_reo_cmd_update_rx_queue()
144 !!(cmd->upd0 & HAL_REO_CMD_UPD0_PN_SIZE)) | in ath11k_hal_reo_cmd_update_rx_queue()
146 !!(cmd->upd0 & HAL_REO_CMD_UPD0_IGNORE_AMPDU_FLG)) | in ath11k_hal_reo_cmd_update_rx_queue()
148 !!(cmd->upd0 & HAL_REO_CMD_UPD0_SVLD)) | in ath11k_hal_reo_cmd_update_rx_queue()
150 !!(cmd->upd0 & HAL_REO_CMD_UPD0_SSN)) | in ath11k_hal_reo_cmd_update_rx_queue()
152 !!(cmd->upd0 & HAL_REO_CMD_UPD0_SEQ_2K_ERR)) | in ath11k_hal_reo_cmd_update_rx_queue()
154 !!(cmd->upd0 & HAL_REO_CMD_UPD0_PN_VALID)) | in ath11k_hal_reo_cmd_update_rx_queue()
156 !!(cmd->upd0 & HAL_REO_CMD_UPD0_PN)); in ath11k_hal_reo_cmd_update_rx_queue()
160 cmd->rx_queue_num) | in ath11k_hal_reo_cmd_update_rx_queue()
162 !!(cmd->upd1 & HAL_REO_CMD_UPD1_VLD)) | in ath11k_hal_reo_cmd_update_rx_queue()
164 FIELD_GET(HAL_REO_CMD_UPD1_ALDC, cmd->upd1)) | in ath11k_hal_reo_cmd_update_rx_queue()
166 !!(cmd->upd1 & HAL_REO_CMD_UPD1_DIS_DUP_DETECTION)) | in ath11k_hal_reo_cmd_update_rx_queue()
168 !!(cmd->upd1 & HAL_REO_CMD_UPD1_SOFT_REORDER_EN)) | in ath11k_hal_reo_cmd_update_rx_queue()
170 FIELD_GET(HAL_REO_CMD_UPD1_AC, cmd->upd1)) | in ath11k_hal_reo_cmd_update_rx_queue()
172 !!(cmd->upd1 & HAL_REO_CMD_UPD1_BAR)) | in ath11k_hal_reo_cmd_update_rx_queue()
174 !!(cmd->upd1 & HAL_REO_CMD_UPD1_CHECK_2K_MODE)) | in ath11k_hal_reo_cmd_update_rx_queue()
176 !!(cmd->upd1 & HAL_REO_CMD_UPD1_RETRY)) | in ath11k_hal_reo_cmd_update_rx_queue()
178 !!(cmd->upd1 & HAL_REO_CMD_UPD1_OOR_MODE)) | in ath11k_hal_reo_cmd_update_rx_queue()
180 !!(cmd->upd1 & HAL_REO_CMD_UPD1_PN_CHECK)) | in ath11k_hal_reo_cmd_update_rx_queue()
182 !!(cmd->upd1 & HAL_REO_CMD_UPD1_EVEN_PN)) | in ath11k_hal_reo_cmd_update_rx_queue()
184 !!(cmd->upd1 & HAL_REO_CMD_UPD1_UNEVEN_PN)) | in ath11k_hal_reo_cmd_update_rx_queue()
186 !!(cmd->upd1 & HAL_REO_CMD_UPD1_PN_HANDLE_ENABLE)) | in ath11k_hal_reo_cmd_update_rx_queue()
188 !!(cmd->upd1 & HAL_REO_CMD_UPD1_IGNORE_AMPDU_FLG)); in ath11k_hal_reo_cmd_update_rx_queue()
190 if (cmd->pn_size == 24) in ath11k_hal_reo_cmd_update_rx_queue()
191 cmd->pn_size = HAL_RX_REO_QUEUE_PN_SIZE_24; in ath11k_hal_reo_cmd_update_rx_queue()
192 else if (cmd->pn_size == 48) in ath11k_hal_reo_cmd_update_rx_queue()
193 cmd->pn_size = HAL_RX_REO_QUEUE_PN_SIZE_48; in ath11k_hal_reo_cmd_update_rx_queue()
194 else if (cmd->pn_size == 128) in ath11k_hal_reo_cmd_update_rx_queue()
195 cmd->pn_size = HAL_RX_REO_QUEUE_PN_SIZE_128; in ath11k_hal_reo_cmd_update_rx_queue()
197 if (cmd->ba_window_size < 1) in ath11k_hal_reo_cmd_update_rx_queue()
198 cmd->ba_window_size = 1; in ath11k_hal_reo_cmd_update_rx_queue()
200 if (cmd->ba_window_size == 1) in ath11k_hal_reo_cmd_update_rx_queue()
201 cmd->ba_window_size++; in ath11k_hal_reo_cmd_update_rx_queue()
205 cmd->ba_window_size - 1) | in ath11k_hal_reo_cmd_update_rx_queue()
206 FIELD_PREP(HAL_REO_UPD_RX_QUEUE_INFO2_PN_SIZE, cmd->pn_size) | in ath11k_hal_reo_cmd_update_rx_queue()
208 !!(cmd->upd2 & HAL_REO_CMD_UPD2_SVLD)) | in ath11k_hal_reo_cmd_update_rx_queue()
210 FIELD_GET(HAL_REO_CMD_UPD2_SSN, cmd->upd2)) | in ath11k_hal_reo_cmd_update_rx_queue()
212 !!(cmd->upd2 & HAL_REO_CMD_UPD2_SEQ_2K_ERR)) | in ath11k_hal_reo_cmd_update_rx_queue()
214 !!(cmd->upd2 & HAL_REO_CMD_UPD2_PN_ERR)); in ath11k_hal_reo_cmd_update_rx_queue()
216 return FIELD_GET(HAL_REO_CMD_HDR_INFO0_CMD_NUMBER, desc->cmd.info0); in ath11k_hal_reo_cmd_update_rx_queue()
221 struct ath11k_hal_reo_cmd *cmd) in ath11k_hal_reo_cmd_send() argument
237 ret = ath11k_hal_reo_cmd_queue_stats(reo_desc, cmd); in ath11k_hal_reo_cmd_send()
240 ret = ath11k_hal_reo_cmd_flush_cache(&ab->hal, reo_desc, cmd); in ath11k_hal_reo_cmd_send()
243 ret = ath11k_hal_reo_cmd_update_rx_queue(reo_desc, cmd); in ath11k_hal_reo_cmd_send()
802 desc->cmd.info0 = in ath11k_hal_reo_init_cmd_ring()