mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 15:32:33 +00:00
118 lines
3.8 KiB
Diff
118 lines
3.8 KiB
Diff
|
From 813968c24126cc5c8320cd5db0e262069a535063 Mon Sep 17 00:00:00 2001
|
||
|
From: Ganesh Babu Jothiram <quic_gjothira@quicinc.com>
|
||
|
Date: Fri, 24 Mar 2023 16:57:00 +0200
|
||
|
Subject: [PATCH] wifi: ath11k: Configure the FTM responder role using firmware
|
||
|
capability flag
|
||
|
|
||
|
Fine Time Measurement(FTM) is offloaded feature to firmware.
|
||
|
Hence, the configuration of FTM responder role is done using
|
||
|
firmware capability flag instead of hw param.
|
||
|
|
||
|
Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
|
||
|
|
||
|
Signed-off-by: Ganesh Babu Jothiram <quic_gjothira@quicinc.com>
|
||
|
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
|
||
|
Link: https://lore.kernel.org/r/20230317072034.8217-1-quic_gjothira@quicinc.com
|
||
|
---
|
||
|
drivers/net/wireless/ath/ath11k/core.c | 8 --------
|
||
|
drivers/net/wireless/ath/ath11k/hw.h | 1 -
|
||
|
drivers/net/wireless/ath/ath11k/mac.c | 4 ++--
|
||
|
3 files changed, 2 insertions(+), 11 deletions(-)
|
||
|
|
||
|
--- a/drivers/net/wireless/ath/ath11k/core.c
|
||
|
+++ b/drivers/net/wireless/ath/ath11k/core.c
|
||
|
@@ -116,7 +116,6 @@ static const struct ath11k_hw_params ath
|
||
|
.tcl_ring_retry = true,
|
||
|
.tx_ring_size = DP_TCL_DATA_RING_SIZE,
|
||
|
.smp2p_wow_exit = false,
|
||
|
- .ftm_responder = true,
|
||
|
},
|
||
|
{
|
||
|
.hw_rev = ATH11K_HW_IPQ6018_HW10,
|
||
|
@@ -199,7 +198,6 @@ static const struct ath11k_hw_params ath
|
||
|
.tx_ring_size = DP_TCL_DATA_RING_SIZE,
|
||
|
.smp2p_wow_exit = false,
|
||
|
.support_fw_mac_sequence = false,
|
||
|
- .ftm_responder = true,
|
||
|
},
|
||
|
{
|
||
|
.name = "qca6390 hw2.0",
|
||
|
@@ -284,7 +282,6 @@ static const struct ath11k_hw_params ath
|
||
|
.tx_ring_size = DP_TCL_DATA_RING_SIZE,
|
||
|
.smp2p_wow_exit = false,
|
||
|
.support_fw_mac_sequence = true,
|
||
|
- .ftm_responder = false,
|
||
|
},
|
||
|
{
|
||
|
.name = "qcn9074 hw1.0",
|
||
|
@@ -366,7 +363,6 @@ static const struct ath11k_hw_params ath
|
||
|
.tx_ring_size = DP_TCL_DATA_RING_SIZE,
|
||
|
.smp2p_wow_exit = false,
|
||
|
.support_fw_mac_sequence = false,
|
||
|
- .ftm_responder = true,
|
||
|
},
|
||
|
{
|
||
|
.name = "wcn6855 hw2.0",
|
||
|
@@ -451,7 +447,6 @@ static const struct ath11k_hw_params ath
|
||
|
.tx_ring_size = DP_TCL_DATA_RING_SIZE,
|
||
|
.smp2p_wow_exit = false,
|
||
|
.support_fw_mac_sequence = true,
|
||
|
- .ftm_responder = false,
|
||
|
},
|
||
|
{
|
||
|
.name = "wcn6855 hw2.1",
|
||
|
@@ -534,7 +529,6 @@ static const struct ath11k_hw_params ath
|
||
|
.tx_ring_size = DP_TCL_DATA_RING_SIZE,
|
||
|
.smp2p_wow_exit = false,
|
||
|
.support_fw_mac_sequence = true,
|
||
|
- .ftm_responder = false,
|
||
|
},
|
||
|
{
|
||
|
.name = "wcn6750 hw1.0",
|
||
|
@@ -615,7 +609,6 @@ static const struct ath11k_hw_params ath
|
||
|
.tx_ring_size = DP_TCL_DATA_RING_SIZE_WCN6750,
|
||
|
.smp2p_wow_exit = true,
|
||
|
.support_fw_mac_sequence = true,
|
||
|
- .ftm_responder = false,
|
||
|
},
|
||
|
{
|
||
|
.hw_rev = ATH11K_HW_IPQ5018_HW10,
|
||
|
@@ -695,7 +688,6 @@ static const struct ath11k_hw_params ath
|
||
|
.tx_ring_size = DP_TCL_DATA_RING_SIZE,
|
||
|
.smp2p_wow_exit = false,
|
||
|
.support_fw_mac_sequence = false,
|
||
|
- .ftm_responder = true,
|
||
|
},
|
||
|
};
|
||
|
|
||
|
--- a/drivers/net/wireless/ath/ath11k/hw.h
|
||
|
+++ b/drivers/net/wireless/ath/ath11k/hw.h
|
||
|
@@ -224,7 +224,6 @@ struct ath11k_hw_params {
|
||
|
u32 tx_ring_size;
|
||
|
bool smp2p_wow_exit;
|
||
|
bool support_fw_mac_sequence;
|
||
|
- bool ftm_responder;
|
||
|
};
|
||
|
|
||
|
struct ath11k_hw_ops {
|
||
|
--- a/drivers/net/wireless/ath/ath11k/mac.c
|
||
|
+++ b/drivers/net/wireless/ath/ath11k/mac.c
|
||
|
@@ -3538,7 +3538,7 @@ static void ath11k_mac_op_bss_info_chang
|
||
|
|
||
|
if (changed & BSS_CHANGED_FTM_RESPONDER &&
|
||
|
arvif->ftm_responder != info->ftm_responder &&
|
||
|
- ar->ab->hw_params.ftm_responder &&
|
||
|
+ test_bit(WMI_TLV_SERVICE_RTT, ar->ab->wmi_ab.svc_map) &&
|
||
|
(vif->type == NL80211_IFTYPE_AP ||
|
||
|
vif->type == NL80211_IFTYPE_MESH_POINT)) {
|
||
|
arvif->ftm_responder = info->ftm_responder;
|
||
|
@@ -9234,7 +9234,7 @@ static int __ath11k_mac_register(struct
|
||
|
wiphy_ext_feature_set(ar->hw->wiphy,
|
||
|
NL80211_EXT_FEATURE_SET_SCAN_DWELL);
|
||
|
|
||
|
- if (ab->hw_params.ftm_responder)
|
||
|
+ if (test_bit(WMI_TLV_SERVICE_RTT, ar->ab->wmi_ab.svc_map))
|
||
|
wiphy_ext_feature_set(ar->hw->wiphy,
|
||
|
NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER);
|
||
|
|