diff mbox series

[RFC,v1,217/256] cl8k: add tx/tx_inject.h

Message ID 20210617160223.160998-218-viktor.barna@celeno.com (mailing list archive)
State RFC
Delegated to: Kalle Valo
Headers show
Series wireless: cl8k driver for Celeno IEEE 802.11ax devices | expand

Commit Message

Viktor Barna June 17, 2021, 4:01 p.m. UTC
From: Viktor Barna <viktor.barna@celeno.com>

(Part of the split. Please, take a look at the cover letter for more
details).

Signed-off-by: Viktor Barna <viktor.barna@celeno.com>
---
 .../net/wireless/celeno/cl8k/tx/tx_inject.h   | 39 +++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 drivers/net/wireless/celeno/cl8k/tx/tx_inject.h

--
2.30.0
diff mbox series

Patch

diff --git a/drivers/net/wireless/celeno/cl8k/tx/tx_inject.h b/drivers/net/wireless/celeno/cl8k/tx/tx_inject.h
new file mode 100644
index 000000000000..9f20c336985a
--- /dev/null
+++ b/drivers/net/wireless/celeno/cl8k/tx/tx_inject.h
@@ -0,0 +1,39 @@ 
+/* SPDX-License-Identifier: MIT */
+/* Copyright(c) 2019-2021, Celeno Communications Ltd. */
+
+#ifndef CL_TX_INJECT_H
+#define CL_TX_INJECT_H
+
+#include <linux/version.h>
+#include <linux/kernel.h>
+#include <linux/kmod.h>
+#include <linux/debugfs.h>
+#include <linux/string.h>
+
+#include "hw.h"
+
+#define TX_INJECT_SINGLE_AC       AC_BE
+#define TX_INJECT_MAX_SKBS        8192
+#define TX_INJECT_SKB_LEN_MAX     4096
+#define TX_INJECT_SKB_LEN_MIN     16
+#define TX_INJECT_SKB_LEN_DEFAULT 1024
+
+extern int ce_tx_inject_real_sta;
+
+void cl_tx_inject_init(struct cl_hw *cl_hw);
+void cl_tx_inject_close(struct cl_hw *cl_hw);
+void cl_tx_inject_reset(struct cl_hw *cl_hw);
+void cl_tx_inject_start(struct cl_hw *cl_hw, u32 tx_cnt);
+void cl_tx_inject_start_continuous(struct cl_hw *cl_hw);
+void cl_tx_inject_stop(struct cl_hw *cl_hw);
+void cl_tx_inject_stop_in_recovery(struct cl_hw *cl_hw);
+void cl_tx_inject_stop_traffic(struct cl_hw *cl_hw);
+void cl_tx_inject_stop_ba_session(struct cl_hw *cl_hw, struct cl_sta *cl_sta, u8 tid);
+bool cl_tx_inject_is_running(struct cl_hw *cl_hw);
+void cl_tx_inject_cfm(struct cl_hw *cl_hw);
+void cl_tx_inject_sta_remove(struct cl_hw *cl_hw, struct cl_sta *cl_sta);
+void cl_tx_inject_iface_remove(struct cl_hw *cl_hw, struct cl_vif *cl_vif);
+int cl_tx_inject_set_length(struct cl_hw *cl_hw, u32 length);
+struct sk_buff *cl_tx_inject_alloc_skb(struct cl_hw *cl_hw, struct cl_sta *cl_sta);
+
+#endif /* CL_TX_INJECT_H */