Merge "[qca-nss-drv] Add new WiFi message for MIC error handling."
diff --git a/exports/nss_api_if.h b/exports/nss_api_if.h
index 87a7639..17aff87 100644
--- a/exports/nss_api_if.h
+++ b/exports/nss_api_if.h
@@ -383,7 +383,7 @@
/**< Rule that indicates pure bridge flow (no routing is involved). */
#define NSS_IPV4_CREATE_FLAG_ROUTED 0x04 /**< Rule for a routed connection. */
-#define NSS_IPV4_CREATE_FLAG_DSCP_MARKING 0x08 /**< Rule for DSCP marking */
+#define NSS_IPV4_CREATE_FLAG_DSCP_MARKING 0x08 /**< Rule for DSCP marking. */
#define NSS_IPV4_CREATE_FLAG_VLAN_MARKING 0x10 /**< Rule for VLAN marking. */
/**
diff --git a/exports/nss_bridge.h b/exports/nss_bridge.h
index fe83147..95bc54a 100644
--- a/exports/nss_bridge.h
+++ b/exports/nss_bridge.h
@@ -14,7 +14,7 @@
**************************************************************************
*/
-/*
+/**
* @file nss_bridge.h
* NSS Bridge interface definitions.
*/
diff --git a/exports/nss_capwap.h b/exports/nss_capwap.h
index 3b3e82b..79a0a4f 100644
--- a/exports/nss_capwap.h
+++ b/exports/nss_capwap.h
@@ -180,18 +180,21 @@
int8_t rps;
uint8_t type_flags; /**< VLAN or PPPOE is configured. */
- uint8_t l3_proto; /**< Prototype is NSS_CAPWAP_TUNNEL_IPV4 or NSS_CAPWAP_TUNNEL_IPV6. */
+ uint8_t l3_proto;
+ /**< Prototype is NSS_CAPWAP_TUNNEL_IPV4 or NSS_CAPWAP_TUNNEL_IPV6. */
uint8_t which_udp; /**< Tunnel uses the UDP or UDPLite protocol. */
- uint32_t mtu_adjust; /**< MUT is reserved for a DTLS process. */
- uint32_t gmac_ifnum; /**< Outgoing physical interface. */
- uint32_t enabled_features; /**< Tunnel enabled features bit flag. */
+ uint32_t mtu_adjust; /**< MTU is reserved for a DTLS process. */
+ uint32_t gmac_ifnum; /**< Outgoing physical interface. */
+ uint32_t enabled_features;
+ /**< Tunnel enabled features bit flag. */
/*
* Parameters for each features
*/
uint32_t dtls_inner_if_num; /**< Interface number of the associated DTLS node. */
uint8_t bssid[ETH_ALEN]; /**< BSSID value. */
- uint16_t outer_sgt_value; /**< Security Group Tag value configured for this tunnel. */
+ uint16_t outer_sgt_value;
+ /**< Security Group Tag value configured for this tunnel. */
};
/**
@@ -215,11 +218,10 @@
* DTLS message information.
*/
struct nss_capwap_dtls_msg {
- uint32_t enable; /**< Enable or disable DTLS. */
- uint32_t dtls_inner_if_num;
- /**< Interface number of the associated DTLS. */
- uint32_t mtu_adjust; /**< MTU adjustment reported by the DTLS node. */
- uint32_t reserved; /**< Reserved field for future use. */
+ uint32_t enable; /**< Enable or disable DTLS. */
+ uint32_t dtls_inner_if_num; /**< Interface number of the associated DTLS. */
+ uint32_t mtu_adjust; /**< MTU adjustment reported by the DTLS node. */
+ uint32_t reserved; /**< Reserved field for future use. */
};
/**
diff --git a/exports/nss_cmn.h b/exports/nss_cmn.h
index fc01472..70d303a 100644
--- a/exports/nss_cmn.h
+++ b/exports/nss_cmn.h
@@ -14,7 +14,7 @@
**************************************************************************
*/
-/*
+/**
* @file nss_cmn.h
* NSS Common Message Structure and APIs
*/
@@ -23,7 +23,7 @@
#define __NSS_CMN_H
/**
- * @addtogroup nss_driver_api
+ * @addtogroup nss_common_subsystem
* @{
*/
diff --git a/exports/nss_crypto.h b/exports/nss_crypto.h
index 382672a..5ef514d 100644
--- a/exports/nss_crypto.h
+++ b/exports/nss_crypto.h
@@ -14,7 +14,7 @@
**************************************************************************
*/
-/*
+/**
* @file nss_crypto.h
* NSS Crypto interface definitions.
*/
diff --git a/exports/nss_crypto_cmn.h b/exports/nss_crypto_cmn.h
index 714ef89..d8741c5 100644
--- a/exports/nss_crypto_cmn.h
+++ b/exports/nss_crypto_cmn.h
@@ -22,7 +22,7 @@
#define __NSS_CRYPTO_CMN_H
/**
- * @addtogroup nss_crypto_cmn_subsystem
+ * @addtogroup nss_crypto_subsystem
* @{
*/
@@ -108,12 +108,12 @@
* Response errors from crypto hardware
*/
enum nss_crypto_cmn_resp_error {
- NSS_CRYPTO_CMN_RESP_ERROR_NONE = 0, /**< No error. */
+ NSS_CRYPTO_CMN_RESP_ERROR_NONE = 0, /**< No error. */
NSS_CRYPTO_CMN_RESP_ERROR_HDR_VERSION, /**< Header version mismatch. */
NSS_CRYPTO_CMN_RESP_ERROR_CTX_RANGE, /**< Crypto index out-of-range. */
NSS_CRYPTO_CMN_RESP_ERROR_CTX_NOUSE, /**< Crypto index is freed. */
NSS_CRYPTO_CMN_RESP_ERROR_DATA_EMPTY, /**< Crypto data is empty. */
- NSS_CRYPTO_CMN_RESP_ERROR_DATA_LEN, /**< Crypto data length. */
+ NSS_CRYPTO_CMN_RESP_ERROR_DATA_LEN, /**< Crypto data length. */
NSS_CRYPTO_CMN_RESP_ERROR_DATA_TIMEOUT, /**< Data timeout from hardware. */
NSS_CRYPTO_CMN_RESP_ERROR_CIPHER_ALGO, /**< Cipher algorithm is not supported. */
NSS_CRYPTO_CMN_RESP_ERROR_CIPHER_MODE, /**< Cipher mode is not supported. */
@@ -182,8 +182,8 @@
* nss_crypto_cmn_node
* Node message for setting up the crypto node.
*
- * Note: Upon boot this is the first message sent by Host to NSS crypto
- * - It notifies the maximum number of Crypto Context.
+ * Note: Upon boot this is the first message sent by Host to NSS crypto.
+ * - It notifies the maximum number of crypto context.
* - It notifies the maximum number of DMA rings.
* - It returns the maximum size of crypto context record.
*/
@@ -198,8 +198,8 @@
* Engine message for setting up the instance of crypto engine.
*
* Note: This is sent after 'node' message for each engine to
- * - Get valid DMA pairs supported by firmware
- * - Get maximum request/token count available in firmware
+ * - Get valid DMA pairs supported by firmware.
+ * - Get maximum request/token count available in firmware.
*/
struct nss_crypto_cmn_engine {
uint32_t fw_ver[NSS_CRYPTO_CMN_VER_WORDS]; /**< Firmware version. */
@@ -233,7 +233,7 @@
/**
* nss_crypto_cmn_stats
- * statistics message applicable for Node/Engine/Context.
+ * Statistics message applicable for node/engine/context.
*/
struct nss_crypto_cmn_stats {
struct nss_cmn_node_stats nstats; /**< Common node statistics. */
@@ -263,16 +263,16 @@
#ifdef __KERNEL__ /* only kernel will use */
/**
- * Callback function for receiving crypto transformation upon completion
+ * Callback function for receiving crypto transformation upon completion.
*
- * @datatype
+ * @datatypes
* net_device \n
* sk_buff \n
* napi_struct
*
- * @param[in] netdev Networking device registered for callback
- * @param[in] skb Packet buffer
- * @param[in] napi NAPI pointer for Linux NAPI handling
+ * @param[in] netdev Networking device registered for callback.
+ * @param[in] skb Packet buffer.
+ * @param[in] napi NAPI pointer for Linux NAPI handling.
*
* @return
* None.
@@ -281,9 +281,9 @@
struct napi_struct *napi);
/**
- * Callback function for receiving crypto_cmn messages
+ * Callback function for receiving crypto_cmn messages.
*
- * @datatype
+ * @datatypes
* nss_crypto_cmn_msg
*
* @param[in] app_data Context of the callback user.
@@ -296,9 +296,9 @@
/**
* nss_crypto_cmn_tx_buf
- * Send crypto payload to firmware for transformation
+ * Send crypto payload to firmware for transformation.
*
- * @datatype
+ * @datatypes
* nss_ctx_instance \n
* sk_buff
*
@@ -313,9 +313,9 @@
/**
* nss_crypto_cmn_tx_msg
- * Send crypto message to firmware for configuration
+ * Send crypto message to firmware for configuration.
*
- * @datatype
+ * @datatypes
* nss_ctx_instance \n
* nss_crypto_cmn_msg
*
@@ -329,9 +329,9 @@
/**
* nss_crypto_cmn_tx_msg
- * Send crypto message to firmware for configuration synchronously
+ * Send crypto message to firmware for configuration synchronously.
*
- * @datatype
+ * @datatypes
* nss_ctx_instance \n
* nss_crypto_cmn_msg
*
@@ -350,13 +350,13 @@
/**
* nss_crypto_cmn_notify_register
- * register a event callback handler with NSS driver
+ * Register a event callback handler with NSS driver
*
- * @datatype
+ * @datatypes
* nss_crypto_cmn_msg_callback_t
*
- * @param[in] cb Event callback function.
- * @param[in] app_data[IN] Context of the callback user.
+ * @param[in] cb Event callback function.
+ * @param[in] app_data Context of the callback user.
*
* @return
* Pointer to the NSS core context.
@@ -365,12 +365,12 @@
/**
* nss_crypto_cmn_notify_unregister
- * unregister the event callback handler with NSS driver
+ * De-register the event callback handler with NSS driver.
*
- * @datatype
+ * @datatypes
* nss_ctx_instance
*
- * @param[in] nss_ctx NSS context per NSS core.
+ * @param[in] ctx Pointer to the NSS context per NSS core.
*
* @return
* None.
@@ -379,9 +379,9 @@
/**
* nss_crypto_cmn_data_register
- * crypto data register
+ * Crypto data register.
*
- * @datatype
+ * @datatypes
* nss_crypto_cmn_buf_callback_t \n
* net_device
*
@@ -400,7 +400,7 @@
/**
* nss_crypto_cmn_data_unregister
- * crypto data unregister
+ * Crypto data de-register.
*
* @param[in] ctx NSS context per NSS core.
* @param[in] if_num Interface number.
@@ -412,7 +412,7 @@
/**
* nss_crypto_cmn_get_context
- * get the per NSS core context enabled for crypto
+ * Get the per NSS core context enabled for crypto.
*
* @return
* Pointer to the NSS core context.
@@ -421,9 +421,9 @@
/**
* nss_crypto_cmn_msg_init
- * crypto common message init
+ * Crypto common message initialization.
*
- * @datatype
+ * @datatypes
* nss_crypto_cmn_msg \n
* nss_crypto_cmn_msg_callback_t
*
diff --git a/exports/nss_def.h b/exports/nss_def.h
index cd553cd..9bfab79 100644
--- a/exports/nss_def.h
+++ b/exports/nss_def.h
@@ -14,7 +14,7 @@
**************************************************************************
*/
-/*
+/**
* @file nss_def.h
* NSS definitions
*/
@@ -23,7 +23,7 @@
#define __NSS_DEF_H
/**
- * @addtogroup nss_driver_api
+ * @addtogroup nss_common_subsystem
* @{
*/
diff --git a/exports/nss_dtls_cmn.h b/exports/nss_dtls_cmn.h
index 2285974..5752987 100644
--- a/exports/nss_dtls_cmn.h
+++ b/exports/nss_dtls_cmn.h
@@ -72,7 +72,8 @@
};
/**
- * DTLS node statistics
+ * nss_dtls_cmn_node_stats
+ * DTLS node statistics.
*/
struct nss_dtls_cmn_node_stats {
uint32_t fail_ctx_alloc; /**< Failure in allocating a context. */
@@ -81,7 +82,8 @@
};
/**
- * DTLS hardware statistics
+ * nss_dtls_cmn_hw_stats
+ * DTLS hardware statistics.
*/
struct nss_dtls_cmn_hw_stats {
uint32_t len_error; /**< Length error. */
diff --git a/exports/nss_edma.h b/exports/nss_edma.h
index d21b3e6..744c59b 100644
--- a/exports/nss_edma.h
+++ b/exports/nss_edma.h
@@ -14,7 +14,7 @@
**************************************************************************
*/
-/*
+/**
* @file nss_edma.h
* NSS EDMA interface definitions.
*/
diff --git a/exports/nss_gre_tunnel.h b/exports/nss_gre_tunnel.h
index 218f767..5aaeafe 100644
--- a/exports/nss_gre_tunnel.h
+++ b/exports/nss_gre_tunnel.h
@@ -14,7 +14,7 @@
**************************************************************************
*/
-/*
+/**
* @file nss_gre_tunnel.h
* NSS GRE Tunnel interface definitions.
*/
diff --git a/exports/nss_if.h b/exports/nss_if.h
index bfa1add..cd9b26e 100644
--- a/exports/nss_if.h
+++ b/exports/nss_if.h
@@ -14,7 +14,7 @@
**************************************************************************
*/
-/*
+/**
* @file nss_if.h
* NSS interface definitions.
*/
@@ -23,7 +23,7 @@
#define __NSS_IF_H
/**
- * @addtogroup nss_driver_api
+ * @addtogroup nss_driver_subsystem
* @{
*/
diff --git a/exports/nss_ipsec.h b/exports/nss_ipsec.h
index 6008235..a5adfd7 100644
--- a/exports/nss_ipsec.h
+++ b/exports/nss_ipsec.h
@@ -14,7 +14,7 @@
**************************************************************************
*/
-/*
+/**
* @file nss_ipsec.h
* NSS IPSec interface definitions.
*/
@@ -207,7 +207,7 @@
uint32_t fail_hash_cont; /**< Consecutive hash fail count. */
uint8_t esn_enabled; /**< Indicates whether ESN is enabled. */
uint8_t res[3]; /**< Reserved for future use. */
-} __attribute__((packed));
+} /** @cond */ __attribute__((packed))/** @endcond */;
/**
* nss_ipsec_flow_stats
diff --git a/exports/nss_ipsecmgr.h b/exports/nss_ipsecmgr.h
index 77626ce..3fe3460 100644
--- a/exports/nss_ipsecmgr.h
+++ b/exports/nss_ipsecmgr.h
@@ -14,7 +14,7 @@
**************************************************************************
*/
-/*
+/**
* @file nss_ipsecmgr.h
* NSS IPSec Manager interface definitions.
*/
@@ -23,7 +23,7 @@
#define __NSS_IPSECMGR_H
/**
- * @addtogroup nss_ipsec_manager_subsystem
+ * @addtogroup nss_ipsec_subsystem
* @{
*/
diff --git a/exports/nss_ipv4.h b/exports/nss_ipv4.h
index f78bc90..cb0a6eb 100644
--- a/exports/nss_ipv4.h
+++ b/exports/nss_ipv4.h
@@ -14,7 +14,7 @@
**************************************************************************
*/
-/*
+/**
* @file nss_ipv4.h
* NSS IPv4 interface definitions.
*/
@@ -294,7 +294,8 @@
};
/**
- * RPS rule structure
+ * nss_ipv4_rps_rule
+ * RPS rule structure.
*/
struct nss_ipv4_rps_rule {
uint8_t flow_rps;
diff --git a/exports/nss_ipv6.h b/exports/nss_ipv6.h
index 8d676d2..d25c277 100644
--- a/exports/nss_ipv6.h
+++ b/exports/nss_ipv6.h
@@ -14,7 +14,7 @@
**************************************************************************
*/
-/*
+/**
* @file nss_ipv6.h
* NSS IPv6 interface definitions.
*/
@@ -336,7 +336,8 @@
};
/**
- * RPS rule structure
+ * nss_ipv6_rps_rule
+ * RPS rule structure.
*/
struct nss_ipv6_rps_rule {
uint8_t flow_rps;
diff --git a/exports/nss_n2h.h b/exports/nss_n2h.h
index bf28312..937a422 100644
--- a/exports/nss_n2h.h
+++ b/exports/nss_n2h.h
@@ -131,7 +131,7 @@
/**< Virtual addresses of the buffers. */
#ifndef __LP64__
uint32_t padding[MAX_PAGES_PER_MSG];
- /* Pad to fit 64bits, do not reuse */
+ /* Pad to fit 64 bits, do not reuse. */
#endif
};
diff --git a/exports/nss_oam.h b/exports/nss_oam.h
index 292d8be..af25e37 100644
--- a/exports/nss_oam.h
+++ b/exports/nss_oam.h
@@ -14,7 +14,7 @@
**************************************************************************
*/
-/*
+/**
* @file nss_oam.h
* NSS OAM - Operations, Administration and Maintenance Service
*/
diff --git a/exports/nss_portid.h b/exports/nss_portid.h
index 159c364..61e8ac6 100644
--- a/exports/nss_portid.h
+++ b/exports/nss_portid.h
@@ -14,7 +14,7 @@
**************************************************************************
*/
-/*
+/**
* @file nss_portid.h
* NSS Port ID interface definitions.
*/
@@ -232,7 +232,7 @@
* Deregisters the port interface from the NSS.
*
* @param[in] if_num NSS interface number.
-. *
+ *
* @return
* TRUE or FALSE.
*
diff --git a/exports/nss_ppe.h b/exports/nss_ppe.h
index d9f534b..f3ac045 100644
--- a/exports/nss_ppe.h
+++ b/exports/nss_ppe.h
@@ -14,7 +14,7 @@
**************************************************************************
*/
-/*
+/**
* @file nss_ppe.h
* NSS PPE interface definitions.
*/
@@ -63,12 +63,12 @@
uint32_t nss_ppe_v4_create_fail; /**< Number of IPv4 create failures. */
uint32_t nss_ppe_v4_destroy_req; /**< Number of IPv4 delete requests. */
uint32_t nss_ppe_v4_destroy_fail; /**< Number of IPv4 delete failures. */
- uint32_t nss_ppe_v4_mc_create_req; /**< Number of IPv4 MC create requests */
- uint32_t nss_ppe_v4_mc_create_fail; /**< Number of IPv4 MC create failure */
- uint32_t nss_ppe_v4_mc_update_req; /**< Number of IPv4 MC update requests */
- uint32_t nss_ppe_v4_mc_update_fail; /**< Number of IPv4 MC update failure */
- uint32_t nss_ppe_v4_mc_destroy_req; /**< Number of IPv4 MC delete requests */
- uint32_t nss_ppe_v4_mc_destroy_fail; /**< Number of IPv4 MC delete failure */
+ uint32_t nss_ppe_v4_mc_create_req; /**< Number of IPv4 MC create requests. */
+ uint32_t nss_ppe_v4_mc_create_fail; /**< Number of IPv4 MC create failure. */
+ uint32_t nss_ppe_v4_mc_update_req; /**< Number of IPv4 MC update requests. */
+ uint32_t nss_ppe_v4_mc_update_fail; /**< Number of IPv4 MC update failure. */
+ uint32_t nss_ppe_v4_mc_destroy_req; /**< Number of IPv4 MC delete requests. */
+ uint32_t nss_ppe_v4_mc_destroy_fail; /**< Number of IPv4 MC delete failure. */
uint32_t nss_ppe_v6_l3_flows; /**< Number of IPv6 routed flows. */
uint32_t nss_ppe_v6_l2_flows; /**< Number of IPv6 bridge flows. */
@@ -76,12 +76,12 @@
uint32_t nss_ppe_v6_create_fail; /**< Number of IPv6 create failures. */
uint32_t nss_ppe_v6_destroy_req; /**< Number of IPv6 delete requests. */
uint32_t nss_ppe_v6_destroy_fail; /**< Number of IPv6 delete failures. */
- uint32_t nss_ppe_v6_mc_create_req; /**< Number of IPv6 MC create requests */
- uint32_t nss_ppe_v6_mc_create_fail; /**< Number of IPv6 MC create failure */
- uint32_t nss_ppe_v6_mc_update_req; /**< Number of IPv6 MC update requests */
- uint32_t nss_ppe_v6_mc_update_fail; /**< Number of IPv6 MC update failure */
- uint32_t nss_ppe_v6_mc_destroy_req; /**< Number of IPv6 MC delete requests */
- uint32_t nss_ppe_v6_mc_destroy_fail; /**< Number of IPv6 MC delete failure */
+ uint32_t nss_ppe_v6_mc_create_req; /**< Number of IPv6 MC create requests. */
+ uint32_t nss_ppe_v6_mc_create_fail; /**< Number of IPv6 MC create failure. */
+ uint32_t nss_ppe_v6_mc_update_req; /**< Number of IPv6 MC update requests. */
+ uint32_t nss_ppe_v6_mc_update_fail; /**< Number of IPv6 MC update failure. */
+ uint32_t nss_ppe_v6_mc_destroy_req; /**< Number of IPv6 MC delete requests. */
+ uint32_t nss_ppe_v6_mc_destroy_fail; /**< Number of IPv6 MC delete failure. */
uint32_t nss_ppe_fail_vp_full;
/**< Request failed because the virtual port table is full */
@@ -114,7 +114,7 @@
* Message structure for L2 exception.
*/
struct nss_ppe_l2_exception_msg {
- uint32_t l2_exception_enable; /**< Enable/Disable L2 exception */
+ uint32_t l2_exception_enable; /**< Enable/Disable L2 exception. */
};
/**
diff --git a/exports/nss_project.h b/exports/nss_project.h
index a1a2cc9..bf32ae4 100644
--- a/exports/nss_project.h
+++ b/exports/nss_project.h
@@ -23,7 +23,7 @@
#define __NSS_PROJECT_H
/**
- * @addtogroup nss_project_subsystem
+ * @addtogroup nss_dscp2pri_subsystem
* @{
*/
diff --git a/exports/nss_shaper.h b/exports/nss_shaper.h
index fcb49cc..16dbf70 100644
--- a/exports/nss_shaper.h
+++ b/exports/nss_shaper.h
@@ -641,7 +641,7 @@
* Configuration message for a shaper node.
*/
struct nss_shaper_configure {
- nss_shaper_config_type_t request_type; /**< Messgae is a request. */
+ nss_shaper_config_type_t request_type; /**< Message is a request. */
nss_shaper_response_type_t response_type; /**< Message is a response. */
/**
diff --git a/exports/nss_vlan.h b/exports/nss_vlan.h
index 2dbf47e..872d2e0 100644
--- a/exports/nss_vlan.h
+++ b/exports/nss_vlan.h
@@ -14,7 +14,7 @@
**************************************************************************
*/
-/*
+/**
* @file nss_vlan.h
* NSS VLAN interface definitions.
*/
diff --git a/exports/nss_wifi.h b/exports/nss_wifi.h
index ee5be92..7925c10 100644
--- a/exports/nss_wifi.h
+++ b/exports/nss_wifi.h
@@ -14,7 +14,7 @@
**************************************************************************
*/
-/*
+/**
* @file nss_wifi.h
* NSS TO HLOS Wi-Fi interface definitions.
*/
diff --git a/exports/nss_wifi_if.h b/exports/nss_wifi_if.h
index 79043d2..3ef2b13 100644
--- a/exports/nss_wifi_if.h
+++ b/exports/nss_wifi_if.h
@@ -14,7 +14,7 @@
**************************************************************************
*/
-/*
+/**
* @file nss_wifi_if.h
* NSS Wi-Fi interface message Structure and APIs.
*/
@@ -23,7 +23,7 @@
#define __NSS_WIFI_IF_H
/**
- * @addtogroup nss_wifi_msg_if_subsystem
+ * @addtogroup nss_wifi_subsystem
* @{
*/
diff --git a/exports/nss_wifi_vdev.h b/exports/nss_wifi_vdev.h
index bd5d0e2..19ff628 100644
--- a/exports/nss_wifi_vdev.h
+++ b/exports/nss_wifi_vdev.h
@@ -26,17 +26,13 @@
* @addtogroup nss_wifi_vdev_subsystem
* @{
*/
-
#define NSS_WIFI_HTT_TRANSFER_HDRSIZE_WORD 6 /**< Size of the Host-To-Target (HTT) message transfer header. */
#define NSS_WIFI_VDEV_PER_PACKET_METADATA_OFFSET 4
- /**< Offset of the metadata in a (virtual-device) vdev message. */
+/**< Offset of the metadata in a (virtual-device) vdev message. */
#define NSS_WIFI_VDEV_DSCP_MAP_LEN 64 /**< Length of the DSCP MAP field. */
-#define NSS_WIFI_VDEV_IPV6_ADDR_LENGTH 16
- /**< Size of the IPv6 address field. */
-#define NSS_WIFI_MAX_SRCS 4
- /**< Maximum number of multicast sources. */
-#define NSS_WIFI_VDEV_MAX_ME_ENTRIES 32
- /**< Maximum number of multicast enhancement entries. */
+#define NSS_WIFI_VDEV_IPV6_ADDR_LENGTH 16 /**< Size of the IPv6 address field. */
+#define NSS_WIFI_MAX_SRCS 4 /**< Maximum number of multicast sources. */
+#define NSS_WIFI_VDEV_MAX_ME_ENTRIES 32 /**< Maximum number of multicast enhancement entries. */
/**
* nss_wifi_vdev_msg_types
@@ -127,6 +123,7 @@
NSS_WIFI_VDEV_EXT_DATA_PKT_TYPE_WNM_TFS = 10, /**< WNM TFGS related metadata. */
NSS_WIFI_VDEV_EXT_TX_COMPL_PKT_TYPE = 11, /**< Tx completion. */
NSS_WIFI_VDEV_EXT_DATA_PKT_TYPE_WDS_LEARN = 12, /**< WDS source port learning command. */
+ NSS_WIFI_VDEV_EXT_DATA_PPDU_INFO = 13, /**< PPDU metadata information. */
NSS_WIFI_VDEV_EXT_DATA_PKT_TYPE_MAX
};
@@ -142,23 +139,24 @@
NSS_WIFI_VDEV_NAWDS_MODE_CMD, /**< Configuration to set NAWDS mode on VAP. */
NSS_WIFI_VDEV_EXTAP_CONFIG_CMD, /**< Configuration to set extended AP mode on VAP. */
NSS_WIFI_VDEV_CFG_BSTEER_CMD, /**< Configuration to set bandsteering on VAP. */
- NSS_WIFI_VDEV_VOW_DBG_MODE_CMD, /**< Configuration to set video over wireless(VOW) debug mode on VAP. */
+ NSS_WIFI_VDEV_VOW_DBG_MODE_CMD, /**< Configuration to set video over wireless (VOW) debug mode on VAP. */
NSS_WIFI_VDEV_VOW_DBG_RST_STATS_CMD,
- /**< Configuration to reset video over wireless(VOW) debug mode on VAP. */
+ /**< Configuration to reset video over wireless (VOW) debug mode on VAP. */
NSS_WIFI_VDEV_CFG_DSCP_OVERRIDE_CMD,
- /**< Configuration to set DSCP/TID value override on VAP. */
- NSS_WIFI_VDEV_CFG_WNM_CAP_CMD, /**< Configuration to set wireless network management(WNM) capability on VAP. */
- NSS_WIFI_VDEV_CFG_WNM_TFS_CMD, /**< Configuration to set WNM traffic filtering and sleep mode(TFS) capability on VAP. */
+ /**< Configuration to set DSCP/TID value override on VAP. */
+ NSS_WIFI_VDEV_CFG_WNM_CAP_CMD, /**< Configuration to set wireless network management (WNM) capability on VAP. */
+ NSS_WIFI_VDEV_CFG_WNM_TFS_CMD, /**< Configuration to set WNM traffic filtering and sleep mode (TFS) capability on VAP. */
NSS_WIFI_VDEV_CFG_WDS_EXT_ENABLE_CMD,
- /**< Configuration to set WDS extention capability on VAP. */
- NSS_WIFI_VDEV_CFG_WDS_CMD, /**< Configuration to set WDS on VAP. */
- NSS_WIFI_VDEV_CFG_AP_BRIDGE_CMD, /**< Configuration to enable/disable client isolation. */
+ /**< Configuration to set WDS extention capability on VAP. */
+ NSS_WIFI_VDEV_CFG_WDS_CMD, /**< Configuration to set WDS on VAP. */
+ NSS_WIFI_VDEV_CFG_AP_BRIDGE_CMD,
+ /**< Configuration to enable/disable client isolation. */
NSS_WIFI_VDEV_MAX_CMD
};
/**
* nss_wifi_vdev_dp_type
- * Vdev datapath types.
+ * Virtual device datapath types.
*/
enum nss_wifi_vdev_dp_type {
NSS_WIFI_VDEV_DP_ACCELERATED, /**< Wi-Fi accelerated VAP type. */
@@ -178,17 +176,17 @@
uint32_t downloadlen; /**< Size of the header download length. */
uint32_t hdrcachelen; /**< Size of the header cache. */
uint32_t hdrcache[NSS_WIFI_HTT_TRANSFER_HDRSIZE_WORD];
- /**< Cached per descriptor metedata shared with NSS Firmware. */
- uint32_t opmode; /**< VAP operating mode: Access-Point(AP) or Station(STA). */
+ /**< Cached per descriptor metedata shared with NSS Firmware. */
+ uint32_t opmode; /**< VAP operating mode: Access-Point (AP) or Station (STA). */
uint32_t mesh_mode_en; /**< Mesh mode is enabled. */
uint8_t is_mpsta;
- /**< Specifies whether the station is a VAP Master-Proxy(MP) station. */
+ /**< Specifies whether the station is a VAP Master-Proxy (MP) station. */
uint8_t is_psta;
- /**< Specifies whether the station is a proxy station. */
+ /**< Specifies whether the station is a proxy station. */
uint8_t special_vap_mode;
- /**< Special VAP for monitoring received management packets. */
+ /**< Special VAP for monitoring received management packets. */
uint8_t smartmesh_mode_en;
- /**< VAP is configured as a smart monitor VAP. */
+ /**< VAP is configured as a smart monitor VAP. */
};
/**
@@ -241,7 +239,8 @@
/**< IPv6 address. */
} u; /**< IP address of the multicast group. */
- uint8_t grp_addr[ETH_ALEN]; /**< MAC address of the multicast group. */
+ uint8_t grp_addr[ETH_ALEN];
+ /**< MAC address of the multicast group. */
};
/**
@@ -249,7 +248,7 @@
* Information for deleting a snooplist group list.
*/
struct nss_wifi_vdev_me_snptbl_grp_delete_msg {
- uint32_t ether_type; /**< Ether type of the multicast group. */
+ uint32_t ether_type; /**< Ether type of the multicast group. */
/**
* IP address of the multicast group.
@@ -269,7 +268,7 @@
* Information for adding a snooplist group member.
*/
struct nss_wifi_vdev_me_snptbl_grp_mbr_add_msg {
- uint32_t ether_type; /**< Ether type of the multicast group. */
+ uint32_t ether_type; /**< Ether type of the multicast group. */
/**
* IP address of the multicast group.
@@ -281,16 +280,15 @@
/**< IPv6 address. */
} u; /**< IP address of the multicast group. */
- uint32_t peer_id; /**< Peer ID. */
- uint8_t grp_addr[ETH_ALEN]; /**< MAC address of the multicast group. */
+ uint32_t peer_id; /**< Peer ID. */
+ uint8_t grp_addr[ETH_ALEN];
+ /**< MAC address of the multicast group. */
uint8_t grp_member_addr[ETH_ALEN];
- /**< MAC address of the multicast group member. */
- uint8_t mode;
- /**< Multi-cast Enhancement Mode - Mode 2 and Mode 5. */
- uint8_t nsrcs;
- /**< Number of source IP addresses for SSM. */
+ /**< MAC address of the multicast group member. */
+ uint8_t mode; /**< Multi-cast Enhancement Mode - Mode 2 and Mode 5. */
+ uint8_t nsrcs; /**< Number of source IP addresses for SSM. */
uint8_t src_ip_addr[NSS_WIFI_VDEV_IPV6_ADDR_LENGTH * NSS_WIFI_MAX_SRCS];
- /**< Source IP address. */
+ /**< Source IP address. */
};
/**
@@ -309,11 +307,10 @@
uint8_t grpaddr_ip6[NSS_WIFI_VDEV_IPV6_ADDR_LENGTH];
/**< IPv6 address. */
}u; /**< IP address of the multicast group. */
-
uint8_t grp_addr[ETH_ALEN];
- /**< MAC address of the multicast group. */
+ /**< MAC address of the multicast group. */
uint8_t grp_member_addr[ETH_ALEN];
- /**< MAC address of the multicast group member. */
+ /**< MAC address of the multicast group member. */
};
/**
@@ -333,13 +330,14 @@
/**< IPv6 address. */
}u; /**< IP address of the multicast group. */
- uint8_t grp_addr[ETH_ALEN]; /**< MAC address of the multicast group. */
+ uint8_t grp_addr[ETH_ALEN];
+ /**< MAC address of the multicast group. */
uint8_t grp_member_addr[ETH_ALEN];
- /**< MAC address of the multicast group member. */
- uint8_t mode; /**< Multi-cast Enhancement Mode - Mode 2 and Mode 5 */
- uint8_t nsrcs; /**< Number of source IP addresses for SSM. */
+ /**< MAC address of the multicast group member. */
+ uint8_t mode; /**< Multi-cast Enhancement Mode - Mode 2 and Mode 5 */
+ uint8_t nsrcs; /**< Number of source IP addresses for SSM. */
uint8_t src_ip_addr[NSS_WIFI_VDEV_IPV6_ADDR_LENGTH * NSS_WIFI_MAX_SRCS];
- /**< Source IP address. */
+ /**< Source IP address. */
};
/**
@@ -356,7 +354,7 @@
*/
struct nss_wifi_vdev_txmsg {
uint16_t peer_id; /**< Peer ID. */
- uint16_t tid; /**< TID. */
+ uint16_t tid; /**< Traffic ID. */
};
/**
@@ -393,7 +391,7 @@
*/
struct nss_wifi_vdev_dscptid_map_id {
uint8_t dscp_tid_map_id;
- /**< Dscp to TID mapping id to be used. */
+ /**< DSCP to TID mapping ID to be used. */
};
/**
@@ -401,10 +399,11 @@
* Per-packet metadata for IGMP packets.
*/
struct nss_wifi_vdev_igmp_per_packet_metadata {
- uint32_t tid; /**< TID. */
- uint32_t tsf32; /**< TSF value. */
- uint8_t peer_mac_addr[ETH_ALEN]; /**< Peer MAC address. */
- uint8_t reserved[2]; /**< Reserved for 4 byte-alignment. */
+ uint32_t tid; /**< TID. */
+ uint32_t tsf32; /**< TSF value. */
+ uint8_t peer_mac_addr[ETH_ALEN];
+ /**< Peer MAC address. */
+ uint8_t reserved[2]; /**< Reserved for 4 byte-alignment. */
};
/**
@@ -423,34 +422,39 @@
* Per-packet metadata for Tx completion information packets.
*/
struct nss_wifi_vdev_txinfo_per_packet_metadata {
- uint32_t status; /**< Tx completion status. */
- uint16_t msdu_count; /**< Count of MSDUs in the MSDU list. */
- uint16_t num_msdu; /**< Sequence Number of MSDU in the MSDU list. */
- uint32_t msdu_q_time; /**< Time spent by an MSDU in the Wi-Fi firmware. */
- uint32_t ppdu_rate; /**< PPDU rate in code rate. */
- uint8_t ppdu_num_mpdus_success; /**< Number of successful MPDUs. */
- uint8_t ppdu_num_mpdus_fail; /**< Number of failed MPDUs. */
- uint16_t ppdu_num_msdus_success; /**< Number of successful MSDUs. */
- uint32_t ppdu_bytes_success; /**< Number of successful bytes. */
- uint32_t ppdu_duration; /**< Estimated air time. */
- uint8_t ppdu_retries; /**< Number of times a PPDU is retried. */
- uint8_t ppdu_is_aggregate; /**< Flag to check whether a PPDU is aggregated. */
- uint16_t start_seq_num; /**< Starting MSDU ID for this PPDU. */
- uint16_t version; /**< PPDU statistics version. */
+ uint32_t status; /**< Tx completion status. */
+ uint16_t msdu_count; /**< Count of MSDUs in the MSDU list. */
+ uint16_t num_msdu; /**< Sequence Number of MSDU in the MSDU list. */
+ uint32_t msdu_q_time; /**< Time spent by an MSDU in the Wi-Fi firmware. */
+ uint32_t ppdu_rate; /**< PPDU rate in code rate. */
+ uint8_t ppdu_num_mpdus_success;
+ /**< Number of successful MPDUs. */
+ uint8_t ppdu_num_mpdus_fail;
+ /**< Number of failed MPDUs. */
+ uint16_t ppdu_num_msdus_success;
+ /**< Number of successful MSDUs. */
+ uint32_t ppdu_bytes_success;
+ /**< Number of successful bytes. */
+ uint32_t ppdu_duration; /**< Estimated air time. */
+ uint8_t ppdu_retries; /**< Number of times a PPDU is retried. */
+ uint8_t ppdu_is_aggregate;
+ /**< Flag to check whether a PPDU is aggregated. */
+ uint16_t start_seq_num; /**< Starting MSDU ID for this PPDU. */
+ uint16_t version; /**< PPDU statistics version. */
uint32_t ppdu_ack_timestamp;
- /**< Timestamp(in ms) when an acknowledgement was received. */
+ /**< Timestamp (in ms) when an acknowledgement was received. */
uint32_t ppdu_bmap_enqueued_lo;
- /**< Bitmap of packets enqueued to the hardware (LSB). */
+ /**< Bitmap of packets enqueued to the hardware (LSB). */
uint32_t ppdu_bmap_enqueued_hi;
- /**< Bitmap of packets enqueued to the hardware (MSB). */
+ /**< Bitmap of packets enqueued to the hardware (MSB). */
uint32_t ppdu_bmap_tried_lo;
- /**< Bitmap of packets sent over the air (LSB). */
+ /**< Bitmap of packets sent over the air (LSB). */
uint32_t ppdu_bmap_tried_hi;
- /**< Bitmap of packets sent over the air (MSB). */
+ /**< Bitmap of packets sent over the air (MSB). */
uint32_t ppdu_bmap_failed_lo;
- /**< Bitmap of packets that failed to be acknowledged (LSB). */
+ /**< Bitmap of packets that failed to be acknowledged (LSB). */
uint32_t ppdu_bmap_failed_hi;
- /**< Bitmap of packets that failed to be acknowledged (MSB). */
+ /**< Bitmap of packets that failed to be acknowledged (MSB). */
};
/**
@@ -478,8 +482,8 @@
* Per-packet metadata for transmitting packets to an MP station.
*/
struct nss_wifi_vdev_mpsta_per_packet_tx_metadata {
- uint16_t vdev_id; /**< Virtual device ID. */
- uint16_t metadata_type; /**< Tx metadata type. */
+ uint16_t vdev_id; /**< Virtual device ID. */
+ uint16_t metadata_type; /**< Tx metadata type. */
};
/**
@@ -487,23 +491,24 @@
* Per-packet metadata for receiving packets from an MP station.
*/
struct nss_wifi_vdev_mpsta_per_packet_rx_metadata {
- uint16_t vdev_id; /**< Virtual device ID. */
- uint16_t peer_id; /**< Peer ID. */
+ uint16_t vdev_id; /**< Virtual device ID. */
+ uint16_t peer_id; /**< Peer ID. */
};
-/*
+/**
* nss_wifi_vdev_rx_err_per_packet_metadata
* Per-packet metadata for error packets received.
*/
struct nss_wifi_vdev_rx_err_per_packet_metadata {
- uint8_t peer_mac_addr[ETH_ALEN]; /*< Peer MAC address. */
- uint8_t tid; /*< TID. */
- uint8_t vdev_id; /*< Virtual device ID. */
- uint8_t err_type; /*< Error type. */
- uint8_t rsvd[3]; /*< Reserved for future enhancement. */
+ uint8_t peer_mac_addr[ETH_ALEN];
+ /**< Peer MAC address. */
+ uint8_t tid; /**< TID. */
+ uint8_t vdev_id; /**< Virtual device ID. */
+ uint8_t err_type; /**< Error type. */
+ uint8_t rsvd[3]; /**< Reserved for future enhancement. */
};
-/*
+/**
* nss_wifi_vdev_extap_per_packet_metadata
* Per-packet metadata for ExtAP.
*/
@@ -546,7 +551,27 @@
};
/**
- * wifi per packet metadata content
+ * nss_wifi_vdev PPDU meta data direction
+ * Physical layer protocol data unit (PPDU) meta data direction.
+ */
+enum nss_wifi_vdev_ppdu_mdata_dir {
+ WIFI_VDEV_PPDU_MDATA_TX, /**< PPDU meta data for transmit direction */
+ WIFI_VDEV_PPDU_MDATA_RX /**< PPDU meta data for receive direction */
+};
+
+/**
+ * nss_wifi_vdev_ppdu_metadata
+ * PPDU meta data
+ */
+struct nss_wifi_vdev_ppdu_metadata {
+ uint32_t ppdu_id; /**< PPDU ID. */
+ uint16_t peer_id; /**< Peer ID. */
+ enum nss_wifi_vdev_ppdu_mdata_dir dir;
+ /**< Data direction for meta data. */
+};
+
+/**
+ * Wi-Fi per packet metadata content.
*/
struct nss_wifi_vdev_per_packet_metadata {
uint32_t pkt_type; /**< Type of packet. */
@@ -556,22 +581,25 @@
*/
union {
struct nss_wifi_vdev_igmp_per_packet_metadata igmp_metadata;
- /**< Per packet Metadata structure for IGMP. */
+ /**< Per packet metadata structure for IGMP. */
struct nss_wifi_vdev_mesh_per_packet_metadata mesh_metadata;
- /**< Per packet Metadata structure for Mesh mode. */
+ /**< Per packet metadata structure for mesh mode. */
struct nss_wifi_vdev_txinfo_per_packet_metadata txinfo_metadata;
- /**< Per packet Metadata structure for TX Information. */
+ /**< Per packet metadata structure for Tx information. */
struct nss_wifi_vdev_mpsta_per_packet_tx_metadata mpsta_tx_metadata;
- /**< Per packet TX Metadata structure for Master-Proxy Station. */
+ /**< Per packet Tx metadata structure for master-proxy station. */
struct nss_wifi_vdev_mpsta_per_packet_rx_metadata mpsta_rx_metadata;
- /**< Per packet RX Metadata structure for Master-Proxy Station. */
+ /**< Per packet Rx metadata structure for master-proxy station. */
struct nss_wifi_vdev_rx_err_per_packet_metadata rx_err_metadata;
- /**< Per packet Metadata structure for RX Error. */
+ /**< Per packet metadata structure for Rx error. */
struct nss_wifi_vdev_tx_compl_metadata tx_compl_metadata;
- /**< Per packet TX Metadata structure for TX Completion. */
+ /**< Per packet Tx metadata structure for Tx completion. */
struct nss_wifi_vdev_wds_per_packet_metadata wds_metadata;
- /**< Per packet TX Metadata structure for wireless distribution system mode. */
- } metadata; /**< Metadata Payload for Special Data receive message. */
+ /**< Per packet Tx metadata structure for wireless distribution system mode. */
+ struct nss_wifi_vdev_ppdu_metadata ppdu_metadata;
+ /**< Per packet PPDU metadata needed for AM copy mode. */
+ } metadata;
+ /**< Metadata payload for special data receive message. */
};
/**
@@ -579,7 +607,7 @@
* Metadata payload for Mesh mode receive.
*/
struct nss_wifi_vdev_meshmode_rx_metadata {
- uint16_t rs_ratephy; /**< PHY rate. */
+ uint16_t rs_ratephy;/**< PHY rate. */
uint16_t vdev_id; /**< Virtual device ID. */
uint16_t peer_id; /**< Peer ID. */
uint16_t rs_rssi; /**< RSSI (noise floor adjusted). */
@@ -626,7 +654,8 @@
/**< IPv6 group address. */
} u; /**< Type of group addresses. */
- uint32_t src_ip_addr; /**< Source IP address. */
+ uint32_t src_ip_addr;
+ /**< Source IP address. */
};
/**
@@ -634,11 +663,11 @@
* Synchronization message for a multicast enhancement host group.
*/
struct nss_wifi_vdev_me_host_sync_msg {
- uint16_t vdev_id; /**< Virtual device ID. */
- uint8_t nentries; /**< Number of group entries carried by this message. */
- uint8_t radio_ifnum; /**< Interface number of the Wi-Fi radio. */
+ uint16_t vdev_id; /**< Virtual device ID. */
+ uint8_t nentries; /**< Number of group entries carried by this message. */
+ uint8_t radio_ifnum; /**< Interface number of the Wi-Fi radio. */
struct nss_wifi_vdev_me_host_sync_grp_entry grp_entry[NSS_WIFI_VDEV_MAX_ME_ENTRIES];
- /**< Array for multicast group entries. */
+ /**< Array for multicast group entries. */
};
/**
@@ -705,30 +734,34 @@
* Message to get virtual device statistics from NSS Firmware to Host.
*/
struct nss_wifi_vdev_stats_sync_msg {
- uint32_t dropped; /**< Number of dropped packets. */
- uint32_t tx_enqueue_cnt; /**< Tx pnode enqueue count. */
- uint32_t tx_enqueue_fail_cnt; /**< Tx pnode enqueue count. */
- uint32_t tx_intra_bss_enqueue_cnt; /**< Intra BSS enqueue count. */
- uint32_t tx_intra_bss_enqueue_fail_cnt; /**< Intra BSS enqueue fail count. */
- uint32_t tx_intra_bss_mcast_send_cnt; /**< Vdev mcast/bcast packet count in AP mode. */
- uint32_t tx_intra_bss_mcast_send_fail_cnt; /**< Vdev mcast/bcast packet count in AP mode. */
- uint32_t tx_enqueue_bytes; /**< Tx enqueue bytes count. */
- uint32_t rx_enqueue_cnt; /**< Ethernet node enqueue count. */
- uint32_t rx_enqueue_fail_cnt; /**< Ethernet node enqueue fail count. */
- uint32_t rx_except_enqueue_cnt; /**< N2h (NSS to Host) node enqueue count. */
- uint32_t rx_except_enqueue_fail_cnt; /**< N2h (NSS to Host) node enqueue fail count. */
- uint32_t rx_enqueue_bytes; /**< Rx enqueue bytes count. */
- uint32_t rx_wds_learn_send_cnt; /**< Vdev WDS source port learn count. */
- uint32_t rx_wds_learn_send_fail_cnt; /**< Vdev WDS source count fail. */
- struct nss_wifi_vdev_mcast_enhance_stats wvmes; /**< Multicast enhancement statistics. */
- uint32_t num_tx_exception; /**< Number of Tx exception to Firmware. */
- uint32_t tx_dma_map_fail; /**< DMA map failure. */
- uint32_t tx_desc_alloc_fail; /**< Descriptor allocation failure. */
- uint32_t tx_hw_ring_full; /**< Hardware ring is full. */
- uint32_t tx_tso_pkt; /**< Number of TSO packets. */
- uint32_t tx_num_seg; /**< Number of segments in TSO packets. */
- uint32_t tx_rcvd; /**< Number of packets received from Host. */
- uint32_t tx_rcvd_bytes; /**< Number of bytes received from host. */
+ uint32_t dropped; /**< Number of dropped packets. */
+ uint32_t tx_enqueue_cnt; /**< Tx pnode enqueue count. */
+ uint32_t tx_enqueue_fail_cnt; /**< Tx pnode enqueue count. */
+ uint32_t tx_intra_bss_enqueue_cnt; /**< Intra BSS enqueue count. */
+ uint32_t tx_intra_bss_enqueue_fail_cnt;
+ /**< Intra BSS enqueue fail count. */
+ uint32_t tx_intra_bss_mcast_send_cnt;
+ /**< Vdev mcast/bcast packet count in AP mode. */
+ uint32_t tx_intra_bss_mcast_send_fail_cnt;
+ /**< Vdev mcast/bcast packet count in AP mode. */
+ uint32_t tx_enqueue_bytes; /**< Tx enqueue bytes count. */
+ uint32_t rx_enqueue_cnt; /**< Ethernet node enqueue count. */
+ uint32_t rx_enqueue_fail_cnt; /**< Ethernet node enqueue fail count. */
+ uint32_t rx_except_enqueue_cnt; /**< N2H (NSS to Host) node enqueue count. */
+ uint32_t rx_except_enqueue_fail_cnt; /**< N2H (NSS to Host) node enqueue fail count. */
+ uint32_t rx_enqueue_bytes; /**< Rx enqueue bytes count. */
+ uint32_t rx_wds_learn_send_cnt; /**< Vdev WDS source port learn count. */
+ uint32_t rx_wds_learn_send_fail_cnt; /**< Vdev WDS source count fail. */
+ struct nss_wifi_vdev_mcast_enhance_stats wvmes;
+ /**< Multicast enhancement statistics. */
+ uint32_t num_tx_exception; /**< Number of Tx exception to firmware. */
+ uint32_t tx_dma_map_fail; /**< DMA map failure. */
+ uint32_t tx_desc_alloc_fail; /**< Descriptor allocation failure. */
+ uint32_t tx_hw_ring_full; /**< Hardware ring is full. */
+ uint32_t tx_tso_pkt; /**< Number of TSO packets. */
+ uint32_t tx_num_seg; /**< Number of segments in TSO packets. */
+ uint32_t tx_rcvd; /**< Number of packets received from host. */
+ uint32_t tx_rcvd_bytes; /**< Number of bytes received from host. */
};
/**
@@ -739,7 +772,7 @@
struct nss_cmn_msg cm; /**< Common message header. */
/**
- * Payload of a virtual-device(vdev) specific message.
+ * Payload of a virtual-device (vdev) specific message.
*/
union {
struct nss_wifi_vdev_config_msg vdev_config;
@@ -952,7 +985,7 @@
/*
* nss_wifi_vdev_set_dp_type
- * Set datapath type for vdev.
+ * Set datapath type for virtual device.
*
* @datatypes
* nss_ctx_instance \n
@@ -966,7 +999,7 @@
* @param[in] dp_type Datapath type of the VAP.
*
* @return
- * true if success or false if its a failure.
+ * True if a success, or false if a failure.
*/
bool nss_wifi_vdev_set_dp_type(struct nss_ctx_instance *nss_ctx, struct net_device *netdev,
uint32_t if_num, enum nss_wifi_vdev_dp_type dp_type);
diff --git a/exports/nss_wifili_if.h b/exports/nss_wifili_if.h
index 6e060fb..05e2e44 100644
--- a/exports/nss_wifili_if.h
+++ b/exports/nss_wifili_if.h
@@ -15,7 +15,7 @@
*/
/**
- * @file nss_wifili.h
+ * @file nss_wifili_if.h
* NSS TO HLOS interface definitions.
* NOTE: Here we will use wifili as a reference to
* the IPQ807x Wi-Fi object.
@@ -23,20 +23,25 @@
#ifndef __NSS_WIFILI_H
#define __NSS_WIFILI_H
+ /**
+ * @addtogroup nss_wifili_subsystem
+ * @{
+ */
+
#define NSS_WIFILI_MAX_SRNG_REG_GROUPS_MSG 2
/**< Maximum srng (ring) register groups. */
#define NSS_WIFILI_MAX_NUMBER_OF_PAGE_MSG 32
/**< Maximum number of pages allocated from host. */
#define NSS_WIFILI_MAX_TCL_DATA_RINGS_MSG 4
- /**< Maximum number of transmit classifier data ring for NSS. */
+ /**< Maximum number of Transmit Classifier data ring for NSS. */
#define NSS_WIFILI_MAX_REO_DATA_RINGS_MSG 4
- /**< Maximum number of reorder (reo) data ring for NSS. */
+ /**< Maximum number of Reorder (reo) data ring for NSS. */
#define NSS_WIFILI_SOC_PER_PACKET_METADATA_OFFSET 4
/**< Metadata area for storing Rx statistics. */
#define NSS_WIFILI_MAX_TXDESC_POOLS_MSG 4
- /**< Maximum number of Tx descriptor software pools. */
+ /**< Maximum number of Tx Descriptor software pools. */
#define NSS_WIFILI_MAX_TX_EXT_DESC_POOLS_MSG 4
- /**< Maximum number of Tx descriptor Extended software pools. */
+ /**< Maximum number of Tx Descriptor Extended software pools. */
#define NSS_WIFILI_MAX_PDEV_NUM_MSG 3
/**< Maximum number of pdev devices. */
#define NSS_WIFILI_MAX_MCS 12
@@ -122,6 +127,7 @@
NSS_WIFILI_WDS_ACTIVE_INFO_MSG,
NSS_WIFILI_STATS_CFG_MSG,
NSS_WIFILI_TID_REOQ_SETUP_MSG,
+ NSS_WIFILI_RADIO_CMD_MSG,
NSS_WIFILI_MAX_MSG
};
@@ -251,8 +257,17 @@
};
/**
+ * nss_wifili_radio_cmd
+ * Wi-Fi radio commands for wifili.
+ */
+enum nss_wifili_radio_cmd {
+ NSS_WIFILI_RADIO_TX_CAPTURE_CMD, /**< Enable Tx capture. */
+ NSS_WIFILI_RADIO_MAX_CMD
+};
+
+/**
* nss_wifili_hal_srng_info
- * Wifili hal srng information.
+ * Wifili HAL srng information.
*/
struct nss_wifili_hal_srng_info{
uint8_t ring_id;
@@ -679,8 +694,8 @@
uint32_t ampdu_cnt; /**< Number of MSDUs part of AMPDU. */
uint32_t non_amsdu_cnt; /**< Number of MSDUs with no MSDU level aggregation. */
uint32_t amsdu_cnt; /**< Number of MSDUs part of AMSDU. */
- uint32_t mcast_rcv_cnt; /**< Total number of mcast packets received. */
- uint32_t mcast_rcv_bytes; /**< Total number of mcast bytes received. */
+ uint32_t mcast_rcv_cnt; /**< Total number of multicast packets received. */
+ uint32_t mcast_rcv_bytes; /**< Total number of multicast bytes received. */
uint32_t rx_recvd; /**< Total Rx received count. */
uint32_t rx_recvd_bytes; /**< Total Rx received count. */
uint32_t decap_type[NSS_WIFILI_DECAP_TYPE_MAX];
@@ -741,7 +756,7 @@
*/
struct nss_wifili_wds_peer_map_msg {
uint8_t dest_mac[ETH_ALEN]; /**< MAC address of the destination. */
- uint16_t peer_id; /**< Connected peer ID for this WDS peer. */
+ uint16_t peer_id; /**< Connected peer ID for this WDS peer. */
uint16_t ast_idx; /**< AST (address search table) index for this peer in host. */
uint8_t reserved[2]; /**< Reserved for 4-byte alignment padding. */
};
@@ -766,14 +781,36 @@
/**
* nss_wifili_reo_tidq_msg
- * REO tid queue setup message.
+ * REO TID queue setup message.
*/
struct nss_wifili_reo_tidq_msg {
- uint32_t tid; /**< TID (Traffic identification) value. */
+ uint32_t tid; /**< TID (traffic identification) value. */
uint16_t peer_id; /**< Peer ID. */
};
/**
+ * nss_wifili_radio_cmd_msg
+ * Wi-Fi radio specific special commands.
+ */
+struct nss_wifili_radio_cmd_msg {
+ enum nss_wifili_radio_cmd cmd;
+ /**< Type of command message. */
+ uint32_t value; /**< Value of the command. */
+};
+
+/**
+ * nss_wifili_radio_cfg_msg
+ * Wi-Fi radio specific special configurations.
+ */
+struct nss_wifili_radio_cfg_msg {
+ uint32_t radio_if_num; /**< NSS assigned interface number for radio. */
+ union {
+ struct nss_wifili_radio_cmd_msg radiocmdmsg;
+ /**< Radio specific commands. */
+ } radiomsg;
+};
+
+/**
* nss_wifili_msg
* Structure that describes wifili messages.
*/
@@ -804,6 +841,8 @@
/**< Wifili peer statistics configuration message. */
struct nss_wifili_reo_tidq_msg reotidqmsg;
/**< REO TID queue setup message. */
+ struct nss_wifili_radio_cfg_msg radiocfgmsg;
+ /**< Radio command message. */
} msg;
};
@@ -925,4 +964,8 @@
*/
void nss_unregister_wifili_radio_if(uint32_t if_num);
+/**
+ * @}
+ */
+
#endif /* __NSS_WIFILI_H */
diff --git a/nss_wifi.c b/nss_wifi.c
index fb2ec65..315b438 100644
--- a/nss_wifi.c
+++ b/nss_wifi.c
@@ -199,6 +199,7 @@
nss_assert(nss_ctx);
nss_assert((if_num >= NSS_MAX_VIRTUAL_INTERFACES) && (if_num < NSS_MAX_NET_INTERFACES));
+ nss_ctx->nss_top->wifi_msg_callback = NULL;
nss_core_unregister_subsys_dp(nss_ctx, if_num);
}