Commit 813968c2 authored by Ganesh Babu Jothiram's avatar Ganesh Babu Jothiram Committed by Kalle Valo
Browse files

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: default avatarGanesh Babu Jothiram <quic_gjothira@quicinc.com>
Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20230317072034.8217-1-quic_gjothira@quicinc.com
parent 8b4d2f08
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -116,7 +116,6 @@ static const struct ath11k_hw_params ath11k_hw_params[] = {
		.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 ath11k_hw_params[] = {
		.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 ath11k_hw_params[] = {
		.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 ath11k_hw_params[] = {
		.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 ath11k_hw_params[] = {
		.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 ath11k_hw_params[] = {
		.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 ath11k_hw_params[] = {
		.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 ath11k_hw_params[] = {
		.tx_ring_size = DP_TCL_DATA_RING_SIZE,
		.smp2p_wow_exit = false,
		.support_fw_mac_sequence = false,
		.ftm_responder = true,
	},
};

+0 −1
Original line number Diff line number Diff line
@@ -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 {
+2 −2
Original line number Diff line number Diff line
@@ -3538,7 +3538,7 @@ static void ath11k_mac_op_bss_info_changed(struct ieee80211_hw *hw,

	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 ath11k *ar)
	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);