qcacmn: Add QCA vendor attribute to configure priority of vendor scan

Add the attribute QCA_WLAN_VENDOR_ATTR_SCAN_PRIORITY to configure the
priority of vendor scan relative to other scan requests.
Add the valid values that this attribute can take.
Also, add an API to convert NL80211-based scan priority value to internal
scan priority value.

Change-Id: I6c62166c2dd6ea0880b332496b1e4bb0b41840c6
CRs-Fixed: 3044332
This commit is contained in:
Shiva Krishna Pittala
2021-10-25 13:40:55 +05:30
committed by Madan Koyyalamudi
parent ba2cb6d084
commit d0624dedd6
3 changed files with 57 additions and 0 deletions

View File

@@ -451,4 +451,14 @@ void wlan_config_sched_scan_plans_to_wiphy(struct wiphy *wiphy,
void wlan_cfg80211_scan_done(struct net_device *netdev,
struct cfg80211_scan_request *req,
bool aborted);
/**
* convert_nl_scan_priority_to_internal() - Convert NL80211 based scan prioirty
* value to internal scan priority value
* @nl_scan_priority : Scan priority value received in vendor attribute
*
* Return: Internal scan priority value
*/
enum scan_priority convert_nl_scan_priority_to_internal(
enum qca_wlan_vendor_scan_priority nl_scan_priority);
#endif

View File

@@ -1345,6 +1345,30 @@ wlan_cfg80211_allow_simultaneous_scan(struct wlan_objmgr_psoc *psoc)
}
#endif
enum scan_priority convert_nl_scan_priority_to_internal(
enum qca_wlan_vendor_scan_priority nl_scan_priority)
{
switch (nl_scan_priority) {
case QCA_WLAN_VENDOR_SCAN_PRIORITY_VERY_LOW:
return SCAN_PRIORITY_VERY_LOW;
case QCA_WLAN_VENDOR_SCAN_PRIORITY_LOW:
return SCAN_PRIORITY_LOW;
case QCA_WLAN_VENDOR_SCAN_PRIORITY_MEDIUM:
return SCAN_PRIORITY_MEDIUM;
case QCA_WLAN_VENDOR_SCAN_PRIORITY_HIGH:
return SCAN_PRIORITY_HIGH;
case QCA_WLAN_VENDOR_SCAN_PRIORITY_VERY_HIGH:
return SCAN_PRIORITY_VERY_HIGH;
default:
return SCAN_PRIORITY_COUNT;
}
}
int wlan_cfg80211_scan(struct wlan_objmgr_vdev *vdev,
struct cfg80211_scan_request *request,
struct scan_params *params)