nrfxlib API 0.1.0
Loading...
Searching...
No Matches
fmac_tx.h
Go to the documentation of this file.
1
8#ifndef __FMAC_TX_H__
9#define __FMAC_TX_H__
10
11#include "host_rpu_data_if.h"
12#include "fmac_structs.h"
13
22#define TX_DESC_BUCKET_BOUND 32
23
27#define DOT11_WMM_PARAMS_LEN 2
28
34#define SPARE_DESC_Q_MAP_SIZE 4
35
49};
50
56 void *pkt;
58 unsigned int peer_id;
59};
60
61#ifdef CONFIG_NRF700X_RAW_DATA_TX
65struct tx_cmd_prep_raw_info {
67 struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx;
69 struct nrf_wifi_cmd_raw_tx *raw_config;
71 unsigned char num_tx_pkts;
72};
73#endif /* CONFIG_NRF700X_RAW_DATA_TX */
74
83};
84
92
98void tx_deinit(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx);
99
108 struct nrf_wifi_tx_buff_done *config);
109
110#ifdef CONFIG_NRF700X_RAW_DATA_TX
119nrf_wifi_fmac_rawtx_done_event_process(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx,
120 struct nrf_wifi_event_raw_tx_done *config);
121#endif /* CONFIG_NRF700X_RAW_DATA_TX */
122
130unsigned int tx_desc_get(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx,
131 int queue);
132
142 unsigned int desc,
143 unsigned int ac);
144
155 void *txq,
156 int desc,
157 int peer_id);
158
167unsigned int tx_buff_req_free(struct nrf_wifi_fmac_dev_ctx *fmac_ctx,
168 unsigned int desc,
169 unsigned char *ac);
170
173#endif /* __FMAC_TX_H__ */
enum nrf_wifi_status tx_init(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx)
Initialize the TX module.
enum nrf_wifi_status tx_pending_process(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx, unsigned int desc, unsigned int ac)
Process the pending TX descriptors.
enum nrf_wifi_status nrf_wifi_fmac_tx_done_event_process(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx, struct nrf_wifi_tx_buff_done *config)
Process the TX done event.
unsigned int tx_buff_req_free(struct nrf_wifi_fmac_dev_ctx *fmac_ctx, unsigned int desc, unsigned char *ac)
Request free TX buffers.
enum nrf_wifi_status tx_cmd_init(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx, void *txq, int desc, int peer_id)
Initialize a TX command.
nrf_wifi_fmac_tx_status
The status of a TX operation performed by the RPU driver.
Definition: fmac_tx.h:42
@ NRF_WIFI_FMAC_TX_STATUS_SUCCESS
Definition: fmac_tx.h:44
@ NRF_WIFI_FMAC_TX_STATUS_QUEUED
Definition: fmac_tx.h:46
@ NRF_WIFI_FMAC_TX_STATUS_FAIL
Definition: fmac_tx.h:48
unsigned int tx_desc_get(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx, int queue)
Get a TX descriptor from the specified queue.
void tx_deinit(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx)
Deinitialize the TX module.
nrf_wifi_status
The status of an operation performed by the RPU driver.
Definition: osal_structs.h:29
This structure defines the command used to configure packet injector mode.
Definition: host_rpu_sys_if.h:1266
This structure defines an event that indicates the Raw tx done.
Definition: host_rpu_sys_if.h:1327
Structure to hold common fmac dev context parameter data.
Definition: fmac_structs_common.h:146
This structure represents the Tx done event(NRF_WIFI_CMD_TX_BUFF_DONE).
Definition: host_rpu_data_if.h:146
This structure provides the parameters for the tx command.
Definition: host_rpu_data_if.h:118
struct nrf_wifi_tx_buff * config
Definition: fmac_tx.h:82
struct nrf_wifi_fmac_dev_ctx * fmac_dev_ctx
Definition: fmac_tx.h:80
Structure containing information for preparing a TX command.
Definition: fmac_tx.h:78
void * pkt
Definition: fmac_tx.h:56
unsigned int peer_id
Definition: fmac_tx.h:58
Structure containing information about a TX packet.
Definition: fmac_tx.h:54