devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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


  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).