2022-12-22 13:20:08

by Tamizh Chelvam Raja

[permalink] [raw]
Subject: [PATCH] wifi: ath11k: Set ext passive scan flag to adjust passive scan start time

Set the WMI_SCAN_FLAG_EXT_PASSIVE_SCAN_START_TIME_ENHANCE flag
while sending the scan command. If this flag is enabled when the
incoming scan request comes with a strict start time and its duration
overlaps with next TBTT, then target adjust the start time accordingly
for passive scan. Target supporting this feature will advertise
WMI_TLV_SERVICE_PASSIVE_SCAN_START_TIME_ENHANCE.

Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-01467-QCAHKSWPL_SILICONZ-1

Signed-off-by: Tamizh Chelvam Raja <[email protected]>
---
drivers/net/wireless/ath/ath11k/wmi.c | 7 +++++++
drivers/net/wireless/ath/ath11k/wmi.h | 3 +++
2 files changed, 10 insertions(+)

diff --git a/drivers/net/wireless/ath/ath11k/wmi.c b/drivers/net/wireless/ath/ath11k/wmi.c
index 2a8a3e3dcff6..c786c5097ae3 100644
--- a/drivers/net/wireless/ath/ath11k/wmi.c
+++ b/drivers/net/wireless/ath/ath11k/wmi.c
@@ -2068,6 +2068,11 @@ void ath11k_wmi_start_scan_init(struct ath11k *ar,
WMI_SCAN_EVENT_FOREIGN_CHAN |
WMI_SCAN_EVENT_DEQUEUED;
arg->scan_flags |= WMI_SCAN_CHAN_STAT_EVENT;
+
+ if (test_bit(WMI_TLV_SERVICE_PASSIVE_SCAN_START_TIME_ENHANCE,
+ ar->ab->wmi_ab.svc_map))
+ arg->scan_ctrl_flags_ext |= WMI_SCAN_FLAG_EXT_PASSIVE_SCAN_START_TIME_ENHANCE;
+
arg->num_bssid = 1;

/* fill bssid_list[0] with 0xff, otherwise bssid and RA will be
@@ -2149,6 +2154,8 @@ ath11k_wmi_copy_scan_event_cntrl_flags(struct wmi_start_scan_cmd *cmd,
/* for adaptive scan mode using 3 bits (21 - 23 bits) */
WMI_SCAN_SET_DWELL_MODE(cmd->scan_ctrl_flags,
param->adaptive_dwell_time_mode);
+
+ cmd->scan_ctrl_flags_ext = param->scan_ctrl_flags_ext;
}

int ath11k_wmi_send_scan_start_cmd(struct ath11k *ar,
diff --git a/drivers/net/wireless/ath/ath11k/wmi.h b/drivers/net/wireless/ath/ath11k/wmi.h
index 8f2c07d70a4a..5583582b8afa 100644
--- a/drivers/net/wireless/ath/ath11k/wmi.h
+++ b/drivers/net/wireless/ath/ath11k/wmi.h
@@ -2092,6 +2092,7 @@ enum wmi_tlv_service {
WMI_TLV_SERVICE_EXT2_MSG = 220,
WMI_TLV_SERVICE_PEER_POWER_SAVE_DURATION_SUPPORT = 246,
WMI_TLV_SERVICE_SRG_SRP_SPATIAL_REUSE_SUPPORT = 249,
+ WMI_TLV_SERVICE_PASSIVE_SCAN_START_TIME_ENHANCE = 263,

/* The second 128 bits */
WMI_MAX_EXT_SERVICE = 256,
@@ -3222,6 +3223,7 @@ struct wmi_start_scan_cmd {

#define WMI_SCAN_DWELL_MODE_MASK 0x00E00000
#define WMI_SCAN_DWELL_MODE_SHIFT 21
+#define WMI_SCAN_FLAG_EXT_PASSIVE_SCAN_START_TIME_ENHANCE 0x00000800

enum {
WMI_SCAN_DWELL_MODE_DEFAULT = 0,
@@ -3269,6 +3271,7 @@ struct scan_req_params {
};
u32 scan_events;
};
+ u32 scan_ctrl_flags_ext;
u32 dwell_time_active;
u32 dwell_time_active_2g;
u32 dwell_time_passive;
--
2.17.1


Subject: Re: [PATCH] wifi: ath11k: Set ext passive scan flag to adjust passive scan start time



On 12/22/2022 6:47 PM, Tamizh Chelvam Raja wrote:
> Set the WMI_SCAN_FLAG_EXT_PASSIVE_SCAN_START_TIME_ENHANCE flag
> while sending the scan command. If this flag is enabled when the
> incoming scan request comes with a strict start time and its duration
> overlaps with next TBTT, then target adjust the start time accordingly
> for passive scan. Target supporting this feature will advertise
> WMI_TLV_SERVICE_PASSIVE_SCAN_START_TIME_ENHANCE.
>
> Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-01467-QCAHKSWPL_SILICONZ-1
>

If this change fixes any user visible issue, better to include that details.

Other than that, the patch looks good to me.

Vasanth

2023-01-04 04:59:27

by Tamizh Chelvam Raja

[permalink] [raw]
Subject: Re: [PATCH] wifi: ath11k: Set ext passive scan flag to adjust passive scan start time

On 1/2/2023 3:49 PM, Vasanthakumar Thiagarajan wrote:
>
>
> On 12/22/2022 6:47 PM, Tamizh Chelvam Raja wrote:
>> Set the WMI_SCAN_FLAG_EXT_PASSIVE_SCAN_START_TIME_ENHANCE flag
>> while sending the scan command.  If this flag is enabled when the
>> incoming scan request comes with a strict start time and its duration
>> overlaps with next TBTT, then target adjust the start time accordingly
>> for passive scan. Target supporting this feature will advertise
>> WMI_TLV_SERVICE_PASSIVE_SCAN_START_TIME_ENHANCE.
>>
>> Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-01467-QCAHKSWPL_SILICONZ-1
>>
>
> If this change fixes any user visible issue, better to include that details.
>
There are no user visible issues without this change.


--
Regards,
Tamizh

Subject: Re: [PATCH] wifi: ath11k: Set ext passive scan flag to adjust passive scan start time



On 1/4/2023 10:26 AM, Tamizh Chelvam Raja wrote:
> On 1/2/2023 3:49 PM, Vasanthakumar Thiagarajan wrote:
>>
>>
>> On 12/22/2022 6:47 PM, Tamizh Chelvam Raja wrote:
>>> Set the WMI_SCAN_FLAG_EXT_PASSIVE_SCAN_START_TIME_ENHANCE flag
>>> while sending the scan command.  If this flag is enabled when the
>>> incoming scan request comes with a strict start time and its duration
>>> overlaps with next TBTT, then target adjust the start time accordingly
>>> for passive scan. Target supporting this feature will advertise
>>> WMI_TLV_SERVICE_PASSIVE_SCAN_START_TIME_ENHANCE.
>>>
>>> Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-01467-QCAHKSWPL_SILICONZ-1
>>>
>>
>> If this change fixes any user visible issue, better to include that details.
>>
> There are no user visible issues without this change.
>
>

Fine, thanks!

Vasanth

2023-02-17 15:58:07

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] wifi: ath11k: Set ext passive scan flag to adjust passive scan start time

Tamizh Chelvam Raja <[email protected]> wrote:

> Set the WMI_SCAN_FLAG_EXT_PASSIVE_SCAN_START_TIME_ENHANCE flag
> while sending the scan command. If this flag is enabled when the
> incoming scan request comes with a strict start time and its duration
> overlaps with next TBTT, then target adjust the start time accordingly
> for passive scan. Target supporting this feature will advertise
> WMI_TLV_SERVICE_PASSIVE_SCAN_START_TIME_ENHANCE.
>
> Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-01467-QCAHKSWPL_SILICONZ-1
>
> Signed-off-by: Tamizh Chelvam Raja <[email protected]>
> Signed-off-by: Kalle Valo <[email protected]>

Patch applied to ath-next branch of ath.git, thanks.

cf8f3d4deb02 wifi: ath11k: Set ext passive scan flag to adjust passive scan start time

--
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches