nRF WiFi
Loading...
Searching...
No Matches
fmac_tx.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
14#ifndef __FMAC_TX_H__
15#define __FMAC_TX_H__
16
17#include "host_rpu_data_if.h"
18#include "system/fmac_structs.h"
19
28#define TX_DESC_BUCKET_BOUND 32
29
33#define DOT11_WMM_PARAMS_LEN 2
34
40#define SPARE_DESC_Q_MAP_SIZE 4
41
56
62 void *pkt;
64 unsigned int peer_id;
65};
66
67#ifdef NRF70_RAW_DATA_TX
71struct tx_cmd_prep_raw_info {
73 struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx;
75 struct nrf_wifi_cmd_raw_tx *raw_config;
77 unsigned char num_tx_pkts;
78};
79#endif /* NRF70_RAW_DATA_TX */
80
90
98
104void tx_deinit(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx);
105
114 struct nrf_wifi_tx_buff_done *config);
115
116#ifdef NRF70_RAW_DATA_TX
125nrf_wifi_fmac_rawtx_done_event_process(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx,
126 struct nrf_wifi_event_raw_tx_done *config);
127#endif /* CONFIG_NRF70_RAW_DATA_TX */
128
136unsigned int tx_desc_get(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx,
137 int queue);
138
148 unsigned int desc,
149 unsigned int ac);
150
161 void *txq,
162 int desc,
163 int peer_id);
164
173unsigned int tx_buff_req_free(struct nrf_wifi_fmac_dev_ctx *fmac_ctx,
174 unsigned int desc,
175 unsigned char *ac);
176
179#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:48
@ NRF_WIFI_FMAC_TX_STATUS_SUCCESS
Definition fmac_tx.h:50
@ NRF_WIFI_FMAC_TX_STATUS_QUEUED
Definition fmac_tx.h:52
@ NRF_WIFI_FMAC_TX_STATUS_FAIL
Definition fmac_tx.h:54
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.
unsigned char num_tx_pkts
Definition host_rpu_data_if.h:15
unsigned char ac
Definition host_rpu_umac_if.h:9
nrf_wifi_status
The status of an operation performed by the RPU driver.
Definition osal_structs.h:39
This structure defines the command used to configure packet injector mode.
Definition host_rpu_sys_if.h:1330
This structure defines an event that indicates the Raw tx done.
Definition host_rpu_sys_if.h:1472
Structure to hold common fmac dev context parameter data.
Definition fmac_structs_common.h:153
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:88
struct nrf_wifi_fmac_dev_ctx * fmac_dev_ctx
Definition fmac_tx.h:86
Structure containing information for preparing a TX command.
Definition fmac_tx.h:84
void * pkt
Definition fmac_tx.h:62
unsigned int peer_id
Definition fmac_tx.h:64
Structure containing information about a TX packet.
Definition fmac_tx.h:60