From: Kalle Valo <kvalo@codeaurora.org>
To: linux-wireless@vger.kernel.org
Cc: ath11k@lists.infradead.org, devicetree@vger.kernel.org
Subject: [PATCH v3 27/49] ath11k: add hal_tx.h
Date: Fri, 15 Nov 2019 11:28:51 +0200 [thread overview]
Message-ID: <1573810153-29623-28-git-send-email-kvalo@codeaurora.org> (raw)
In-Reply-To: <1573810153-29623-1-git-send-email-kvalo@codeaurora.org>
(patches split for easier review, see the cover letter for more)
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/ath/ath11k/hal_tx.h | 80 ++++++++++++++++++++++++++++++++
1 file changed, 80 insertions(+)
diff --git a/drivers/net/wireless/ath/ath11k/hal_tx.h b/drivers/net/wireless/ath/ath11k/hal_tx.h
new file mode 100644
index 000000000000..f955070bcf1e
--- /dev/null
+++ b/drivers/net/wireless/ath/ath11k/hal_tx.h
@@ -0,0 +1,80 @@
+/* SPDX-License-Identifier: BSD-3-Clause-Clear */
+/*
+ * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
+ */
+
+#ifndef ATH11K_HAL_TX_H
+#define ATH11K_HAL_TX_H
+
+#include "hal_desc.h"
+
+#define HAL_TX_ADDRX_EN 1
+#define HAL_TX_ADDRY_EN 2
+
+#define HAL_TX_ADDR_SEARCH_INDEX 0
+#define HAL_TX_ADDR_SEARCH_DEFAULT 1
+
+struct hal_tx_info {
+ u16 meta_data_flags; /* %HAL_TCL_DATA_CMD_INFO0_META_ */
+ u8 ring_id;
+ u32 desc_id;
+ enum hal_tcl_desc_type type;
+ enum hal_tcl_encap_type encap_type;
+ dma_addr_t paddr;
+ u32 data_len;
+ u32 pkt_offset;
+ enum hal_encrypt_type encrypt_type;
+ u32 flags0; /* %HAL_TCL_DATA_CMD_INFO1_ */
+ u32 flags1; /* %HAL_TCL_DATA_CMD_INFO2_ */
+ u16 addr_search_flags; /* %HAL_TCL_DATA_CMD_INFO0_ADDR(X/Y)_ */
+ u16 bss_ast_hash;
+ u8 tid;
+ u8 search_type; /* %HAL_TX_ADDR_SEARCH_ */
+ u8 lmac_id;
+ u8 dscp_tid_tbl_idx;
+};
+
+/* TODO: Check if the actual desc macros can be used instead */
+#define HAL_TX_STATUS_FLAGS_FIRST_MSDU BIT(0)
+#define HAL_TX_STATUS_FLAGS_LAST_MSDU BIT(1)
+#define HAL_TX_STATUS_FLAGS_MSDU_IN_AMSDU BIT(2)
+#define HAL_TX_STATUS_FLAGS_RATE_STATS_VALID BIT(3)
+#define HAL_TX_STATUS_FLAGS_RATE_LDPC BIT(4)
+#define HAL_TX_STATUS_FLAGS_RATE_STBC BIT(5)
+#define HAL_TX_STATUS_FLAGS_OFDMA BIT(6)
+
+#define HAL_TX_STATUS_DESC_LEN sizeof(struct hal_wbm_release_ring)
+
+/* Tx status parsed from srng desc */
+struct hal_tx_status {
+ enum hal_wbm_rel_src_module buf_rel_source;
+ u32 desc_id;
+ enum hal_wbm_tqm_rel_reason status;
+ u8 ack_rssi;
+ enum hal_tx_rate_stats_bw bw;
+ enum hal_tx_rate_stats_pkt_type pkt_type;
+ enum hal_tx_rate_stats_sgi sgi;
+ u8 mcs;
+ u16 num_tones_in_ru;
+ u32 flags; /* %HAL_TX_STATUS_FLAGS_ */
+ u32 tsf;
+ u32 ppdu_id;
+ u8 try_cnt;
+ u8 tid;
+ u16 peer_id;
+};
+
+void ath11k_hal_tx_cmd_desc_setup(struct ath11k_base *ab, void *cmd,
+ struct hal_tx_info *ti);
+void ath11k_hal_tx_desc_sync(void *tx_desc_cached, void *hw_desc);
+void ath11k_hal_tx_status_parse(struct ath11k_base *ab,
+ struct hal_wbm_release_ring *desc,
+ struct hal_tx_status *ts);
+void ath11k_hal_tx_status_desc_sync(void *hw_desc, void *local_desc);
+void ath11k_hal_tx_set_dscp_tid_map(struct ath11k_base *ab, int id);
+int ath11k_hal_reo_cmd_send(struct ath11k_base *ab, struct hal_srng *srng,
+ enum hal_reo_cmd_type type,
+ struct ath11k_hal_reo_cmd *cmd);
+void ath11k_hal_tx_init_data_ring(struct ath11k_base *ab,
+ struct hal_srng *srng);
+#endif
next prev parent reply other threads:[~2019-11-15 9:30 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-15 9:28 [PATCH v3 00/49] ath11k: driver for Qualcomm IEEE 802.11ax devices Kalle Valo
2019-11-15 9:28 ` [PATCH v3 01/49] dt: bindings: net: add qcom,ath11k.yaml Kalle Valo
2019-11-23 0:23 ` Rob Herring
2019-11-15 9:28 ` [PATCH v3 02/49] ath11k: add Kconfig Kalle Valo
2019-11-15 9:28 ` [PATCH v3 03/49] ath11k: add Makefile Kalle Valo
2019-11-15 9:28 ` [PATCH v3 04/49] ath11k: add ahb.c Kalle Valo
2019-11-15 9:28 ` [PATCH v3 05/49] ath11k: add ahb.h Kalle Valo
2019-11-15 9:28 ` [PATCH v3 06/49] ath11k: add ce.c Kalle Valo
2019-11-15 9:28 ` [PATCH v3 07/49] ath11k: add ce.h Kalle Valo
2019-11-15 9:28 ` [PATCH v3 08/49] ath11k: add core.c Kalle Valo
2019-11-15 9:28 ` [PATCH v3 09/49] ath11k: add core.h Kalle Valo
2019-11-15 9:28 ` [PATCH v3 10/49] ath11k: add debug.c Kalle Valo
2019-11-15 9:28 ` [PATCH v3 11/49] ath11k: add debug.h Kalle Valo
2019-11-15 9:28 ` [PATCH v3 12/49] ath11k: add debug_htt_stats.c Kalle Valo
2019-11-15 9:28 ` [PATCH v3 13/49] ath11k: add debug_htt_stats.h Kalle Valo
2019-11-15 9:28 ` [PATCH v3 14/49] ath11k: add debugfs_sta.c Kalle Valo
2019-11-15 9:28 ` [PATCH v3 15/49] ath11k: add dp.c Kalle Valo
2019-11-15 9:28 ` [PATCH v3 16/49] ath11k: add dp.h Kalle Valo
2019-11-15 9:28 ` [PATCH v3 17/49] ath11k: add dp_rx.c Kalle Valo
2019-11-15 9:28 ` [PATCH v3 18/49] ath11k: add dp_rx.h Kalle Valo
2019-11-15 9:28 ` [PATCH v3 19/49] ath11k: add dp_tx.c Kalle Valo
2019-11-15 9:28 ` [PATCH v3 20/49] ath11k: add dp_tx.h Kalle Valo
2019-11-15 9:28 ` [PATCH v3 21/49] ath11k: add hal.c Kalle Valo
2019-11-15 9:28 ` [PATCH v3 22/49] ath11k: add hal.h Kalle Valo
2019-11-15 9:28 ` [PATCH v3 23/49] ath11k: add hal_desc.h Kalle Valo
2019-11-15 9:28 ` [PATCH v3 24/49] ath11k: add hal_rx.c Kalle Valo
2019-11-15 9:28 ` [PATCH v3 25/49] ath11k: add hal_rx.h Kalle Valo
2019-11-15 9:28 ` [PATCH v3 26/49] ath11k: add hal_tx.c Kalle Valo
2019-11-15 9:28 ` Kalle Valo [this message]
2019-11-15 9:28 ` [PATCH v3 28/49] ath11k: add htc.c Kalle Valo
2019-11-15 9:28 ` [PATCH v3 29/49] ath11k: add htc.h Kalle Valo
2019-11-15 9:28 ` [PATCH v3 30/49] ath11k: add hw.h Kalle Valo
2019-11-15 9:28 ` [PATCH v3 31/49] ath11k: add mac.c Kalle Valo
2019-11-15 9:28 ` [PATCH v3 32/49] ath11k: add mac.h Kalle Valo
2019-11-15 9:28 ` [PATCH v3 33/49] ath11k: add peer.c Kalle Valo
2019-11-15 9:28 ` [PATCH v3 34/49] ath11k: add peer.h Kalle Valo
2019-11-15 9:28 ` [PATCH v3 35/49] ath11k: add qmi.c Kalle Valo
2019-11-15 9:29 ` [PATCH v3 36/49] ath11k: add qmi.h Kalle Valo
2019-11-15 9:29 ` [PATCH v3 37/49] ath11k: add reg.c Kalle Valo
2019-11-15 9:29 ` [PATCH v3 38/49] ath11k: add reg.h Kalle Valo
2019-11-15 9:29 ` [PATCH v3 39/49] ath11k: add rx_desc.h Kalle Valo
2019-11-15 9:29 ` [PATCH v3 40/49] ath11k: add testmode.c Kalle Valo
2019-11-15 9:29 ` [PATCH v3 41/49] ath11k: add testmode.h Kalle Valo
2019-11-15 9:29 ` [PATCH v3 42/49] ath11k: add testmode_i.h Kalle Valo
2019-11-15 9:29 ` [PATCH v3 43/49] ath11k: add trace.c Kalle Valo
2019-11-15 9:29 ` [PATCH v3 44/49] ath11k: add trace.h Kalle Valo
2019-11-15 9:29 ` [PATCH v3 45/49] ath11k: add wmi.c Kalle Valo
2019-11-15 9:29 ` [PATCH v3 46/49] ath11k: add wmi.h Kalle Valo
2019-11-15 9:29 ` [PATCH v3 47/49] ath: add ath11k to Makefile Kalle Valo
2019-11-15 9:29 ` [PATCH v3 48/49] ath: add ath11k to Kconfig Kalle Valo
2019-11-15 9:29 ` [PATCH v3 49/49] MAINTAINERS: add ath11k Kalle Valo
2019-11-23 8:26 ` [PATCH v3 00/49] ath11k: driver for Qualcomm IEEE 802.11ax devices Kalle Valo
2019-11-25 12:31 ` Kalle Valo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1573810153-29623-28-git-send-email-kvalo@codeaurora.org \
--to=kvalo@codeaurora.org \
--cc=ath11k@lists.infradead.org \
--cc=devicetree@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).