mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
wifi: ath12k: Update HTT_TCL_METADATA version and bit mask definitions
Update the HTT_TCL_METADATA version to the latest version (2) as the bit definitions have changed a little to support more features. This new version allows the host to submit a packet with more information to the firmware. Firmware uses this additional information to do special processing for certain frames. All the firmware binaries available in upstream/public are compatible with this HTT version update. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1 Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 Signed-off-by: Balamurugan Mahalingam <quic_bmahalin@quicinc.com> Reviewed-by: Aditya Kumar Singh <aditya.kumar.singh@oss.qualcomm.com> Link: https://patch.msgid.link/20250203212647.2694566-2-quic_bmahalin@quicinc.com Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
This commit is contained in:
parent
63b7af4949
commit
5d964966bd
2 changed files with 23 additions and 9 deletions
|
@ -1,7 +1,7 @@
|
||||||
/* SPDX-License-Identifier: BSD-3-Clause-Clear */
|
/* SPDX-License-Identifier: BSD-3-Clause-Clear */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
|
||||||
* Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
* Copyright (c) 2021-2025 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef ATH12K_DP_H
|
#ifndef ATH12K_DP_H
|
||||||
|
@ -372,17 +372,18 @@ struct ath12k_dp {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* HTT definitions */
|
/* HTT definitions */
|
||||||
|
#define HTT_TAG_TCL_METADATA_VERSION 5
|
||||||
|
|
||||||
#define HTT_TCL_META_DATA_TYPE BIT(0)
|
#define HTT_TCL_META_DATA_TYPE GENMASK(1, 0)
|
||||||
#define HTT_TCL_META_DATA_VALID_HTT BIT(1)
|
#define HTT_TCL_META_DATA_VALID_HTT BIT(2)
|
||||||
|
|
||||||
/* vdev meta data */
|
/* vdev meta data */
|
||||||
#define HTT_TCL_META_DATA_VDEV_ID GENMASK(9, 2)
|
#define HTT_TCL_META_DATA_VDEV_ID GENMASK(10, 3)
|
||||||
#define HTT_TCL_META_DATA_PDEV_ID GENMASK(11, 10)
|
#define HTT_TCL_META_DATA_PDEV_ID GENMASK(12, 11)
|
||||||
#define HTT_TCL_META_DATA_HOST_INSPECTED BIT(12)
|
#define HTT_TCL_META_DATA_HOST_INSPECTED_MISSION BIT(13)
|
||||||
|
|
||||||
/* peer meta data */
|
/* peer meta data */
|
||||||
#define HTT_TCL_META_DATA_PEER_ID GENMASK(15, 2)
|
#define HTT_TCL_META_DATA_PEER_ID GENMASK(15, 3)
|
||||||
|
|
||||||
/* HTT tx completion is overlaid in wbm_release_ring */
|
/* HTT tx completion is overlaid in wbm_release_ring */
|
||||||
#define HTT_TX_WBM_COMP_INFO0_STATUS GENMASK(16, 13)
|
#define HTT_TX_WBM_COMP_INFO0_STATUS GENMASK(16, 13)
|
||||||
|
@ -413,9 +414,15 @@ enum htt_h2t_msg_type {
|
||||||
};
|
};
|
||||||
|
|
||||||
#define HTT_VER_REQ_INFO_MSG_ID GENMASK(7, 0)
|
#define HTT_VER_REQ_INFO_MSG_ID GENMASK(7, 0)
|
||||||
|
#define HTT_OPTION_TCL_METADATA_VER_V2 2
|
||||||
|
#define HTT_OPTION_TAG GENMASK(7, 0)
|
||||||
|
#define HTT_OPTION_LEN GENMASK(15, 8)
|
||||||
|
#define HTT_OPTION_VALUE GENMASK(31, 16)
|
||||||
|
#define HTT_TCL_METADATA_VER_SZ 4
|
||||||
|
|
||||||
struct htt_ver_req_cmd {
|
struct htt_ver_req_cmd {
|
||||||
__le32 ver_reg_info;
|
__le32 ver_reg_info;
|
||||||
|
__le32 tcl_metadata_version;
|
||||||
} __packed;
|
} __packed;
|
||||||
|
|
||||||
enum htt_srng_ring_type {
|
enum htt_srng_ring_type {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-License-Identifier: BSD-3-Clause-Clear
|
// SPDX-License-Identifier: BSD-3-Clause-Clear
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
|
||||||
* Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
* Copyright (c) 2021-2025 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "core.h"
|
#include "core.h"
|
||||||
|
@ -1103,7 +1103,14 @@ int ath12k_dp_tx_htt_h2t_ver_req_msg(struct ath12k_base *ab)
|
||||||
skb_put(skb, len);
|
skb_put(skb, len);
|
||||||
cmd = (struct htt_ver_req_cmd *)skb->data;
|
cmd = (struct htt_ver_req_cmd *)skb->data;
|
||||||
cmd->ver_reg_info = le32_encode_bits(HTT_H2T_MSG_TYPE_VERSION_REQ,
|
cmd->ver_reg_info = le32_encode_bits(HTT_H2T_MSG_TYPE_VERSION_REQ,
|
||||||
HTT_VER_REQ_INFO_MSG_ID);
|
HTT_OPTION_TAG);
|
||||||
|
|
||||||
|
cmd->tcl_metadata_version = le32_encode_bits(HTT_TAG_TCL_METADATA_VERSION,
|
||||||
|
HTT_OPTION_TAG) |
|
||||||
|
le32_encode_bits(HTT_TCL_METADATA_VER_SZ,
|
||||||
|
HTT_OPTION_LEN) |
|
||||||
|
le32_encode_bits(HTT_OPTION_TCL_METADATA_VER_V2,
|
||||||
|
HTT_OPTION_VALUE);
|
||||||
|
|
||||||
ret = ath12k_htc_send(&ab->htc, dp->eid, skb);
|
ret = ath12k_htc_send(&ab->htc, dp->eid, skb);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue