|
@@ -330,21 +330,21 @@ dp_htt_h2t_send_complete(void *context, HTC_PACKET *htc_pkt)
|
|
|
|
|
|
#endif /* ENABLE_CE4_COMP_DISABLE_HTT_HTC_MISC_LIST */
|
|
|
|
|
|
-#ifdef WLAN_MCAST_MLO
|
|
|
/*
|
|
|
- * dp_htt_h2t_add_tcl_metadata_verg() - Add tcl_metadata verion
|
|
|
+ * dp_htt_h2t_add_tcl_metadata_ver_v1() - Add tcl_metadata verion V1
|
|
|
* @htt_soc: HTT SOC handle
|
|
|
* @msg: Pointer to nbuf
|
|
|
*
|
|
|
* Return: 0 on success; error code on failure
|
|
|
*/
|
|
|
-static int dp_htt_h2t_add_tcl_metadata_ver(struct htt_soc *soc, qdf_nbuf_t *msg)
|
|
|
+static int dp_htt_h2t_add_tcl_metadata_ver_v1(struct htt_soc *soc,
|
|
|
+ qdf_nbuf_t *msg)
|
|
|
{
|
|
|
uint32_t *msg_word;
|
|
|
|
|
|
*msg = qdf_nbuf_alloc(
|
|
|
soc->osdev,
|
|
|
- HTT_MSG_BUF_SIZE(HTT_VER_REQ_BYTES + HTT_TCL_METADATA_VER_SZ),
|
|
|
+ HTT_MSG_BUF_SIZE(HTT_VER_REQ_BYTES),
|
|
|
/* reserve room for the HTC header */
|
|
|
HTC_HEADER_LEN + HTC_HDR_ALIGNMENT_PADDING, 4, TRUE);
|
|
|
if (!*msg)
|
|
@@ -356,8 +356,7 @@ static int dp_htt_h2t_add_tcl_metadata_ver(struct htt_soc *soc, qdf_nbuf_t *msg)
|
|
|
* separately during the below call to qdf_nbuf_push_head.
|
|
|
* The contribution from the HTC header is added separately inside HTC.
|
|
|
*/
|
|
|
- if (!qdf_nbuf_put_tail(*msg,
|
|
|
- HTT_VER_REQ_BYTES + HTT_TCL_METADATA_VER_SZ)) {
|
|
|
+ if (!qdf_nbuf_put_tail(*msg, HTT_VER_REQ_BYTES)) {
|
|
|
QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR,
|
|
|
"%s: Failed to expand head for HTT_H2T_MSG_TYPE_VERSION_REQ msg",
|
|
|
__func__);
|
|
@@ -373,31 +372,25 @@ static int dp_htt_h2t_add_tcl_metadata_ver(struct htt_soc *soc, qdf_nbuf_t *msg)
|
|
|
*msg_word = 0;
|
|
|
HTT_H2T_MSG_TYPE_SET(*msg_word, HTT_H2T_MSG_TYPE_VERSION_REQ);
|
|
|
|
|
|
- /* word 1 */
|
|
|
- msg_word++;
|
|
|
- *msg_word = 0;
|
|
|
- HTT_OPTION_TLV_TAG_SET(*msg_word, HTT_OPTION_TLV_TAG_TCL_METADATA_VER);
|
|
|
- HTT_OPTION_TLV_LENGTH_SET(*msg_word, HTT_TCL_METADATA_VER_SZ);
|
|
|
- HTT_OPTION_TLV_TCL_METADATA_VER_SET(*msg_word,
|
|
|
- HTT_OPTION_TLV_TCL_METADATA_V2);
|
|
|
-
|
|
|
return QDF_STATUS_SUCCESS;
|
|
|
}
|
|
|
-#else
|
|
|
+
|
|
|
+#ifdef QCA_DP_TX_FW_METADATA_V2
|
|
|
/*
|
|
|
- * dp_htt_h2t_add_tcl_metadata_verg() - Add tcl_metadata verion
|
|
|
+ * dp_htt_h2t_add_tcl_metadata_ver_v2() - Add tcl_metadata verion V2
|
|
|
* @htt_soc: HTT SOC handle
|
|
|
* @msg: Pointer to nbuf
|
|
|
*
|
|
|
* Return: 0 on success; error code on failure
|
|
|
*/
|
|
|
-static int dp_htt_h2t_add_tcl_metadata_ver(struct htt_soc *soc, qdf_nbuf_t *msg)
|
|
|
+static int dp_htt_h2t_add_tcl_metadata_ver_v2(struct htt_soc *soc,
|
|
|
+ qdf_nbuf_t *msg)
|
|
|
{
|
|
|
uint32_t *msg_word;
|
|
|
|
|
|
*msg = qdf_nbuf_alloc(
|
|
|
soc->osdev,
|
|
|
- HTT_MSG_BUF_SIZE(HTT_VER_REQ_BYTES),
|
|
|
+ HTT_MSG_BUF_SIZE(HTT_VER_REQ_BYTES + HTT_TCL_METADATA_VER_SZ),
|
|
|
/* reserve room for the HTC header */
|
|
|
HTC_HEADER_LEN + HTC_HDR_ALIGNMENT_PADDING, 4, TRUE);
|
|
|
if (!*msg)
|
|
@@ -409,7 +402,8 @@ static int dp_htt_h2t_add_tcl_metadata_ver(struct htt_soc *soc, qdf_nbuf_t *msg)
|
|
|
* separately during the below call to qdf_nbuf_push_head.
|
|
|
* The contribution from the HTC header is added separately inside HTC.
|
|
|
*/
|
|
|
- if (!qdf_nbuf_put_tail(*msg, HTT_VER_REQ_BYTES)) {
|
|
|
+ if (!qdf_nbuf_put_tail(*msg,
|
|
|
+ HTT_VER_REQ_BYTES + HTT_TCL_METADATA_VER_SZ)) {
|
|
|
QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR,
|
|
|
"%s: Failed to expand head for HTT_H2T_MSG_TYPE_VERSION_REQ msg",
|
|
|
__func__);
|
|
@@ -425,8 +419,37 @@ static int dp_htt_h2t_add_tcl_metadata_ver(struct htt_soc *soc, qdf_nbuf_t *msg)
|
|
|
*msg_word = 0;
|
|
|
HTT_H2T_MSG_TYPE_SET(*msg_word, HTT_H2T_MSG_TYPE_VERSION_REQ);
|
|
|
|
|
|
+ /* word 1 */
|
|
|
+ msg_word++;
|
|
|
+ *msg_word = 0;
|
|
|
+ HTT_OPTION_TLV_TAG_SET(*msg_word, HTT_OPTION_TLV_TAG_TCL_METADATA_VER);
|
|
|
+ HTT_OPTION_TLV_LENGTH_SET(*msg_word, HTT_TCL_METADATA_VER_SZ);
|
|
|
+ HTT_OPTION_TLV_TCL_METADATA_VER_SET(*msg_word,
|
|
|
+ HTT_OPTION_TLV_TCL_METADATA_V2);
|
|
|
+
|
|
|
return QDF_STATUS_SUCCESS;
|
|
|
}
|
|
|
+
|
|
|
+/*
|
|
|
+ * dp_htt_h2t_add_tcl_metadata_ver() - Add tcl_metadata verion
|
|
|
+ * @htt_soc: HTT SOC handle
|
|
|
+ * @msg: Pointer to nbuf
|
|
|
+ *
|
|
|
+ * Return: 0 on success; error code on failure
|
|
|
+ */
|
|
|
+static int dp_htt_h2t_add_tcl_metadata_ver(struct htt_soc *soc, qdf_nbuf_t *msg)
|
|
|
+{
|
|
|
+ /* Use tcl_metadata_v1 when NSS offload is enabled */
|
|
|
+ if (wlan_cfg_get_dp_soc_nss_cfg(soc->dp_soc->wlan_cfg_ctx))
|
|
|
+ return dp_htt_h2t_add_tcl_metadata_ver_v1(soc, msg);
|
|
|
+ else
|
|
|
+ return dp_htt_h2t_add_tcl_metadata_ver_v2(soc, msg);
|
|
|
+}
|
|
|
+#else
|
|
|
+static int dp_htt_h2t_add_tcl_metadata_ver(struct htt_soc *soc, qdf_nbuf_t *msg)
|
|
|
+{
|
|
|
+ return dp_htt_h2t_add_tcl_metadata_ver_v1(soc, msg);
|
|
|
+}
|
|
|
#endif
|
|
|
|
|
|
/*
|