1 /*
2  * Copyright (c) 2024 Nordic Semiconductor ASA
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 /**
8  * @brief Header containing RX data path specific declarations for the
9  * FMAC IF Layer of the Wi-Fi driver.
10  */
11 
12 #ifndef __FMAC_RX_H__
13 #define __FMAC_RX_H__
14 
15 #include "host_rpu_data_if.h"
16 #include "system/fmac_structs.h"
17 #define RX_BUF_HEADROOM 4
18 
19 enum nrf_wifi_fmac_rx_cmd_type {
20 	NRF_WIFI_FMAC_RX_CMD_TYPE_INIT,
21 	NRF_WIFI_FMAC_RX_CMD_TYPE_DEINIT,
22 	NRF_WIFI_FMAC_RX_CMD_TYPE_MAX,
23 };
24 
25 
26 struct nrf_wifi_fmac_rx_pool_map_info {
27 	unsigned int pool_id;
28 	unsigned int buf_id;
29 };
30 
31 
32 enum nrf_wifi_status nrf_wifi_fmac_rx_cmd_send(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx,
33 					       enum nrf_wifi_fmac_rx_cmd_type cmd_type,
34 					       unsigned int desc_id);
35 
36 enum nrf_wifi_status nrf_wifi_fmac_rx_event_process(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx,
37 						    struct nrf_wifi_rx_buff *config);
38 
39 void nrf_wifi_fmac_rx_tasklet(void *data);
40 
41 #endif /* __FMAC_RX_H__ */
42