[PATCH 1/3] ath11k: add htt cmd to enable full monitor mode
Anilkumar Kolli
akolli at codeaurora.org
Sun Sep 26 21:31:56 PDT 2021
On 2021-09-24 19:22, Kalle Valo wrote:
> Jouni Malinen <jouni at codeaurora.org> writes:
>
>> From: Anilkumar Kolli <akolli at codeaurora.org>
>>
>> Add a new hw_param full_monitor_mode to enable full monitor support
>> for
>> QCN9074. HTT_H2T_MSG_TYPE_RX_FULL_MONITOR_MODE cmd is sent to the
>> firmware to enable the full monitor mode.
>>
>> Tested-on: QCN9074 hw1.0 PCI
>> WLAN.HK.2.4.0.1-01734-QCAHKSWPL_SILICONZ-1
>>
>> Signed-off-by: Anilkumar Kolli <akolli at codeaurora.org>
>> Signed-off-by: Jouni Malinen <jouni at codeaurora.org>
>> ---
>> drivers/net/wireless/ath/ath11k/core.c | 4 ++
>> drivers/net/wireless/ath/ath11k/dp.h | 74
>> +++++++++++++++++++++++++
>> drivers/net/wireless/ath/ath11k/dp_tx.c | 48 ++++++++++++++++
>> drivers/net/wireless/ath/ath11k/dp_tx.h | 2 +
>> drivers/net/wireless/ath/ath11k/hw.h | 1 +
>> 5 files changed, 129 insertions(+)
>>
>> diff --git a/drivers/net/wireless/ath/ath11k/core.c
>> b/drivers/net/wireless/ath/ath11k/core.c
>> index 969bf1a590d9..3179495cb3c9 100644
>> --- a/drivers/net/wireless/ath/ath11k/core.c
>> +++ b/drivers/net/wireless/ath/ath11k/core.c
>> @@ -65,6 +65,7 @@ static const struct ath11k_hw_params
>> ath11k_hw_params[] = {
>> BIT(NL80211_IFTYPE_AP) |
>> BIT(NL80211_IFTYPE_MESH_POINT),
>> .supports_monitor = true,
>> + .full_monitor_mode = false,
>> .supports_shadow_regs = false,
>> .idle_ps = false,
>> .cold_boot_calib = true,
>> @@ -106,6 +107,7 @@ static const struct ath11k_hw_params
>> ath11k_hw_params[] = {
>> BIT(NL80211_IFTYPE_AP) |
>> BIT(NL80211_IFTYPE_MESH_POINT),
>> .supports_monitor = true,
>> + .full_monitor_mode = false,
>> .supports_shadow_regs = false,
>> .idle_ps = false,
>> .cold_boot_calib = true,
>> @@ -146,6 +148,7 @@ static const struct ath11k_hw_params
>> ath11k_hw_params[] = {
>> .interface_modes = BIT(NL80211_IFTYPE_STATION) |
>> BIT(NL80211_IFTYPE_AP),
>> .supports_monitor = false,
>> + .full_monitor_mode = false,
>> .supports_shadow_regs = true,
>> .idle_ps = true,
>> .cold_boot_calib = false,
>> @@ -184,6 +187,7 @@ static const struct ath11k_hw_params
>> ath11k_hw_params[] = {
>> BIT(NL80211_IFTYPE_AP) |
>> BIT(NL80211_IFTYPE_MESH_POINT),
>> .supports_monitor = true,
>> + .full_monitor_mode = true,
>> .supports_shadow_regs = false,
>> .idle_ps = false,
>> .cold_boot_calib = false,
>
> wcn6855 was not updated, I added that.
>
Thanks. 'full_monitor_mode = false' to be added.
>> --- a/drivers/net/wireless/ath/ath11k/dp_tx.c
>> +++ b/drivers/net/wireless/ath/ath11k/dp_tx.c
>> @@ -1034,6 +1034,15 @@ int
>> ath11k_dp_tx_htt_monitor_mode_ring_config(struct ath11k *ar, bool
>> reset)
>> struct htt_rx_ring_tlv_filter tlv_filter = {0};
>> int ret = 0, ring_id = 0, i;
>>
>> + if (ab->hw_params.full_monitor_mode) {
>> + ret = ath11k_dp_tx_htt_rx_full_mon_setup(ab,
>> + dp->mac_id, !reset);
>> + if (ret < 0) {
>> + ath11k_err(ab, "failed to setup full monitor %d\n", ret);
>
> I changed this to:
>
> if (ret) {
> ath11k_warn(ab, "failed to setup full monitor: %d\n", ret);
> return ret;
> }
Thanks.
--
- Anil.
More information about the ath11k
mailing list