qcacmn: Replace blacklist/whitelist with denylist/allowlist

Replace blacklist/whitelist with denylist/allowlist
in qca-wifi-host-cmn.

Change-Id: I1a27d025ccb9d5fcc3c573d47a84f9667a229c9b
CRs-Fixed: 3098934
This commit is contained in:
chunquan
2022-01-17 16:51:01 +08:00
committed by Madan Koyyalamudi
parent 24174b7be8
commit 19cc13911c
19 changed files with 243 additions and 230 deletions

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2015-2021 The Linux Foundation. All rights reserved. * Copyright (c) 2015-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -80,10 +81,10 @@ static void hnc_dump_cpus(struct qca_napi_data *napid) { /* no-op */ };
* + In some cases (roaming peer management is the only case so far), a * + In some cases (roaming peer management is the only case so far), a
* a client can trigger a "SERIALIZE" event. Basically, this means that the * a client can trigger a "SERIALIZE" event. Basically, this means that the
* users is asking NAPI to go into a truly single execution context state. * users is asking NAPI to go into a truly single execution context state.
* So, NAPI indicates to msm-irqbalancer that it wants to be blacklisted, * So, NAPI indicates to msm-irqbalancer that it wants to be denylisted,
* (if called for the first time) and then moves all IRQs (for NAPI * (if called for the first time) and then moves all IRQs (for NAPI
* instances) to be collapsed to a single core. If called multiple times, * instances) to be collapsed to a single core. If called multiple times,
* it will just re-collapse the CPUs. This is because blacklist-on() API * it will just re-collapse the CPUs. This is because denylist-on() API
* is reference-counted, and because the API has already been called. * is reference-counted, and because the API has already been called.
* *
* Such a user, should call "DESERIALIZE" (NORMAL) event, to set NAPI to go * Such a user, should call "DESERIALIZE" (NORMAL) event, to set NAPI to go
@@ -106,10 +107,10 @@ int hif_exec_event(struct hif_opaque_softc *hif_ctx, enum qca_napi_event event,
struct qca_napi_data *napid = &(hif->napi_data); struct qca_napi_data *napid = &(hif->napi_data);
enum qca_napi_tput_state tput_mode = QCA_NAPI_TPUT_UNINITIALIZED; enum qca_napi_tput_state tput_mode = QCA_NAPI_TPUT_UNINITIALIZED;
enum { enum {
BLACKLIST_NOT_PENDING, DENYLIST_NOT_PENDING,
BLACKLIST_ON_PENDING, DENYLIST_ON_PENDING,
BLACKLIST_OFF_PENDING DENYLIST_OFF_PENDING
} blacklist_pending = BLACKLIST_NOT_PENDING; } denylist_pending = DENYLIST_NOT_PENDING;
NAPI_DEBUG("%s: -->(event=%d, aux=%pK)", __func__, event, data); NAPI_DEBUG("%s: -->(event=%d, aux=%pK)", __func__, event, data);
@@ -150,7 +151,7 @@ int hif_exec_event(struct hif_opaque_softc *hif_ctx, enum qca_napi_event event,
/* from TPUT_HI -> TPUT_LO */ /* from TPUT_HI -> TPUT_LO */
NAPI_DEBUG("%s: Moving to napi_tput_LO state", NAPI_DEBUG("%s: Moving to napi_tput_LO state",
__func__); __func__);
blacklist_pending = BLACKLIST_OFF_PENDING; denylist_pending = DENYLIST_OFF_PENDING;
/* /*
* Ideally we should "collapse" interrupts here, since * Ideally we should "collapse" interrupts here, since
* we are "dispersing" interrupts in the "else" case. * we are "dispersing" interrupts in the "else" case.
@@ -158,7 +159,7 @@ int hif_exec_event(struct hif_opaque_softc *hif_ctx, enum qca_napi_event event,
* still be on the perf cluster the next time we enter * still be on the perf cluster the next time we enter
* high tput mode. However, the irq_balancer is free * high tput mode. However, the irq_balancer is free
* to move our interrupts to power cluster once * to move our interrupts to power cluster once
* blacklisting has been turned off in the "else" case. * denylisting has been turned off in the "else" case.
*/ */
} else { } else {
/* from TPUT_LO -> TPUT->HI */ /* from TPUT_LO -> TPUT->HI */
@@ -168,7 +169,7 @@ int hif_exec_event(struct hif_opaque_softc *hif_ctx, enum qca_napi_event event,
HNC_ANY_CPU, HNC_ANY_CPU,
HNC_ACT_DISPERSE); HNC_ACT_DISPERSE);
blacklist_pending = BLACKLIST_ON_PENDING; denylist_pending = DENYLIST_ON_PENDING;
} }
napid->napi_mode = tput_mode; napid->napi_mode = tput_mode;
break; break;
@@ -184,13 +185,13 @@ int hif_exec_event(struct hif_opaque_softc *hif_ctx, enum qca_napi_event event,
HNC_ANY_CPU, HNC_ANY_CPU,
HNC_ACT_COLLAPSE); HNC_ACT_COLLAPSE);
if ((users == 0) && (rc == 0)) if ((users == 0) && (rc == 0))
blacklist_pending = BLACKLIST_ON_PENDING; denylist_pending = DENYLIST_ON_PENDING;
break; break;
} }
case NAPI_EVT_USR_NORMAL: { case NAPI_EVT_USR_NORMAL: {
NAPI_DEBUG("%s: User forced DE-SERIALIZATION", __func__); NAPI_DEBUG("%s: User forced DE-SERIALIZATION", __func__);
if (!napid->user_cpu_affin_mask) if (!napid->user_cpu_affin_mask)
blacklist_pending = BLACKLIST_OFF_PENDING; denylist_pending = DENYLIST_OFF_PENDING;
/* /*
* Deserialization timeout is handled at hdd layer; * Deserialization timeout is handled at hdd layer;
* just mark current mode to uninitialized to ensure * just mark current mode to uninitialized to ensure
@@ -207,18 +208,18 @@ int hif_exec_event(struct hif_opaque_softc *hif_ctx, enum qca_napi_event event,
}; /* switch */ }; /* switch */
switch (blacklist_pending) { switch (denylist_pending) {
case BLACKLIST_ON_PENDING: case DENYLIST_ON_PENDING:
/* assume the control of WLAN IRQs */ /* assume the control of WLAN IRQs */
hif_napi_cpu_blacklist(napid, BLACKLIST_ON); hif_napi_cpu_denylist(napid, DENYLIST_ON);
break; break;
case BLACKLIST_OFF_PENDING: case DENYLIST_OFF_PENDING:
/* yield the control of WLAN IRQs */ /* yield the control of WLAN IRQs */
hif_napi_cpu_blacklist(napid, BLACKLIST_OFF); hif_napi_cpu_denylist(napid, DENYLIST_OFF);
break; break;
default: /* nothing to do */ default: /* nothing to do */
break; break;
} /* switch blacklist_pending */ } /* switch denylist_pending */
qdf_spin_unlock_bh(&(napid->lock)); qdf_spin_unlock_bh(&(napid->lock));
@@ -425,11 +426,11 @@ hncm_return:
/** /**
* hif_exec_bl_irq() - calls irq_modify_status to enable/disable blacklisting * hif_exec_bl_irq() - calls irq_modify_status to enable/disable denylisting
* @napid: pointer to qca_napi_data structure * @napid: pointer to qca_napi_data structure
* @bl_flag: blacklist flag to enable/disable blacklisting * @bl_flag: denylist flag to enable/disable denylisting
* *
* The function enables/disables blacklisting for all the copy engine * The function enables/disables denylisting for all the copy engine
* interrupts on which NAPI is enabled. * interrupts on which NAPI is enabled.
* *
* Return: None * Return: None
@@ -464,23 +465,23 @@ static inline void hif_exec_bl_irq(struct qca_napi_data *napid, bool bl_flag)
} }
/** /**
* hif_napi_cpu_blacklist() - en(dis)ables blacklisting for NAPI RX interrupts. * hif_napi_cpu_denylist() - en(dis)ables denylisting for NAPI RX interrupts.
* @napid: pointer to qca_napi_data structure * @napid: pointer to qca_napi_data structure
* @op: blacklist operation to perform * @op: denylist operation to perform
* *
* The function enables/disables/queries blacklisting for all CE RX * The function enables/disables/queries denylisting for all CE RX
* interrupts with NAPI enabled. Besides blacklisting, it also enables/disables * interrupts with NAPI enabled. Besides denylisting, it also enables/disables
* core_ctl_set_boost. * core_ctl_set_boost.
* Once blacklisting is enabled, the interrupts will not be managed by the IRQ * Once denylisting is enabled, the interrupts will not be managed by the IRQ
* balancer. * balancer.
* *
* Return: -EINVAL, in case IRQ_BLACKLISTING and CORE_CTL_BOOST is not enabled * Return: -EINVAL, in case IRQ_DENYLISTING and CORE_CTL_BOOST is not enabled
* for BLACKLIST_QUERY op - blacklist refcount * for DENYLIST_QUERY op - denylist refcount
* for BLACKLIST_ON op - return value from core_ctl_set_boost API * for DENYLIST_ON op - return value from core_ctl_set_boost API
* for BLACKLIST_OFF op - return value from core_ctl_set_boost API * for DENYLIST_OFF op - return value from core_ctl_set_boost API
*/ */
int hif_exec_cpu_blacklist(struct qca_napi_data *napid, int hif_exec_cpu_denylist(struct qca_napi_data *napid,
enum qca_blacklist_op op) enum qca_denylist_op op)
{ {
int rc = 0; int rc = 0;
static int ref_count; /* = 0 by the compiler */ static int ref_count; /* = 0 by the compiler */
@@ -496,10 +497,10 @@ int hif_exec_cpu_blacklist(struct qca_napi_data *napid,
} }
switch (op) { switch (op) {
case BLACKLIST_QUERY: case DENYLIST_QUERY:
rc = ref_count; rc = ref_count;
break; break;
case BLACKLIST_ON: case DENYLIST_ON:
ref_count++; ref_count++;
rc = 0; rc = 0;
if (ref_count == 1) { if (ref_count == 1) {
@@ -509,7 +510,7 @@ int hif_exec_cpu_blacklist(struct qca_napi_data *napid,
hif_exec_bl_irq(napid, true); hif_exec_bl_irq(napid, true);
} }
break; break;
case BLACKLIST_OFF: case DENYLIST_OFF:
if (ref_count) if (ref_count)
ref_count--; ref_count--;
rc = 0; rc = 0;
@@ -521,7 +522,7 @@ int hif_exec_cpu_blacklist(struct qca_napi_data *napid,
} }
break; break;
default: default:
NAPI_DEBUG("Invalid blacklist op: %d", op); NAPI_DEBUG("Invalid denylist op: %d", op);
rc = -EINVAL; rc = -EINVAL;
} /* switch */ } /* switch */
out: out:

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2015-2021 The Linux Foundation. All rights reserved. * Copyright (c) 2015-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -29,12 +30,12 @@
#include <hif.h> /* struct hif_opaque_softc; */ #include <hif.h> /* struct hif_opaque_softc; */
#include <hif_napi.h> #include <hif_napi.h>
struct hif_opaque_softc; struct hif_opaque_softc;
enum qca_blacklist_op; enum qca_denylist_op;
int hif_exec_cpu_migrate(struct qca_napi_data *napid, int cpu, int action); int hif_exec_cpu_migrate(struct qca_napi_data *napid, int cpu, int action);
int hif_exec_cpu_blacklist(struct qca_napi_data *napid, int hif_exec_cpu_denylist(struct qca_napi_data *napid,
enum qca_blacklist_op op); enum qca_denylist_op op);
#ifdef HIF_IRQ_AFFINITY #ifdef HIF_IRQ_AFFINITY
int hif_exec_event(struct hif_opaque_softc *hif, int hif_exec_event(struct hif_opaque_softc *hif,

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2015-2021 The Linux Foundation. All rights reserved. * Copyright (c) 2015-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -480,10 +481,10 @@ struct qca_napi_info *hif_get_napi(int napi_id, struct qca_napi_data *napid)
* + In some cases (roaming peer management is the only case so far), a * + In some cases (roaming peer management is the only case so far), a
* a client can trigger a "SERIALIZE" event. Basically, this means that the * a client can trigger a "SERIALIZE" event. Basically, this means that the
* users is asking NAPI to go into a truly single execution context state. * users is asking NAPI to go into a truly single execution context state.
* So, NAPI indicates to msm-irqbalancer that it wants to be blacklisted, * So, NAPI indicates to msm-irqbalancer that it wants to be denylisted,
* (if called for the first time) and then moves all IRQs (for NAPI * (if called for the first time) and then moves all IRQs (for NAPI
* instances) to be collapsed to a single core. If called multiple times, * instances) to be collapsed to a single core. If called multiple times,
* it will just re-collapse the CPUs. This is because blacklist-on() API * it will just re-collapse the CPUs. This is because denylist-on() API
* is reference-counted, and because the API has already been called. * is reference-counted, and because the API has already been called.
* *
* Such a user, should call "DESERIALIZE" (NORMAL) event, to set NAPI to go * Such a user, should call "DESERIALIZE" (NORMAL) event, to set NAPI to go
@@ -509,10 +510,10 @@ int hif_napi_event(struct hif_opaque_softc *hif_ctx, enum qca_napi_event event,
struct qca_napi_data *napid = &(hif->napi_data); struct qca_napi_data *napid = &(hif->napi_data);
enum qca_napi_tput_state tput_mode = QCA_NAPI_TPUT_UNINITIALIZED; enum qca_napi_tput_state tput_mode = QCA_NAPI_TPUT_UNINITIALIZED;
enum { enum {
BLACKLIST_NOT_PENDING, DENYLIST_NOT_PENDING,
BLACKLIST_ON_PENDING, DENYLIST_ON_PENDING,
BLACKLIST_OFF_PENDING DENYLIST_OFF_PENDING
} blacklist_pending = BLACKLIST_NOT_PENDING; } denylist_pending = DENYLIST_NOT_PENDING;
NAPI_DEBUG("%s: -->(event=%d, aux=%pK)", __func__, event, data); NAPI_DEBUG("%s: -->(event=%d, aux=%pK)", __func__, event, data);
@@ -580,7 +581,7 @@ int hif_napi_event(struct hif_opaque_softc *hif_ctx, enum qca_napi_event event,
/* from TPUT_HI -> TPUT_LO */ /* from TPUT_HI -> TPUT_LO */
NAPI_DEBUG("%s: Moving to napi_tput_LO state", NAPI_DEBUG("%s: Moving to napi_tput_LO state",
__func__); __func__);
blacklist_pending = BLACKLIST_OFF_PENDING; denylist_pending = DENYLIST_OFF_PENDING;
/* /*
* Ideally we should "collapse" interrupts here, since * Ideally we should "collapse" interrupts here, since
* we are "dispersing" interrupts in the "else" case. * we are "dispersing" interrupts in the "else" case.
@@ -588,7 +589,7 @@ int hif_napi_event(struct hif_opaque_softc *hif_ctx, enum qca_napi_event event,
* still be on the perf cluster the next time we enter * still be on the perf cluster the next time we enter
* high tput mode. However, the irq_balancer is free * high tput mode. However, the irq_balancer is free
* to move our interrupts to power cluster once * to move our interrupts to power cluster once
* blacklisting has been turned off in the "else" case. * denylisting has been turned off in the "else" case.
*/ */
} else { } else {
/* from TPUT_LO -> TPUT->HI */ /* from TPUT_LO -> TPUT->HI */
@@ -598,7 +599,7 @@ int hif_napi_event(struct hif_opaque_softc *hif_ctx, enum qca_napi_event event,
HNC_ANY_CPU, HNC_ANY_CPU,
HNC_ACT_DISPERSE); HNC_ACT_DISPERSE);
blacklist_pending = BLACKLIST_ON_PENDING; denylist_pending = DENYLIST_ON_PENDING;
} }
napid->napi_mode = tput_mode; napid->napi_mode = tput_mode;
break; break;
@@ -614,13 +615,13 @@ int hif_napi_event(struct hif_opaque_softc *hif_ctx, enum qca_napi_event event,
HNC_ANY_CPU, HNC_ANY_CPU,
HNC_ACT_COLLAPSE); HNC_ACT_COLLAPSE);
if ((users == 0) && (rc == 0)) if ((users == 0) && (rc == 0))
blacklist_pending = BLACKLIST_ON_PENDING; denylist_pending = DENYLIST_ON_PENDING;
break; break;
} }
case NAPI_EVT_USR_NORMAL: { case NAPI_EVT_USR_NORMAL: {
NAPI_DEBUG("%s: User forced DE-SERIALIZATION", __func__); NAPI_DEBUG("%s: User forced DE-SERIALIZATION", __func__);
if (!napid->user_cpu_affin_mask) if (!napid->user_cpu_affin_mask)
blacklist_pending = BLACKLIST_OFF_PENDING; denylist_pending = DENYLIST_OFF_PENDING;
/* /*
* Deserialization timeout is handled at hdd layer; * Deserialization timeout is handled at hdd layer;
* just mark current mode to uninitialized to ensure * just mark current mode to uninitialized to ensure
@@ -637,18 +638,18 @@ int hif_napi_event(struct hif_opaque_softc *hif_ctx, enum qca_napi_event event,
}; /* switch */ }; /* switch */
switch (blacklist_pending) { switch (denylist_pending) {
case BLACKLIST_ON_PENDING: case DENYLIST_ON_PENDING:
/* assume the control of WLAN IRQs */ /* assume the control of WLAN IRQs */
hif_napi_cpu_blacklist(napid, BLACKLIST_ON); hif_napi_cpu_denylist(napid, DENYLIST_ON);
break; break;
case BLACKLIST_OFF_PENDING: case DENYLIST_OFF_PENDING:
/* yield the control of WLAN IRQs */ /* yield the control of WLAN IRQs */
hif_napi_cpu_blacklist(napid, BLACKLIST_OFF); hif_napi_cpu_denylist(napid, DENYLIST_OFF);
break; break;
default: /* nothing to do */ default: /* nothing to do */
break; break;
} /* switch blacklist_pending */ } /* switch denylist_pending */
/* we want to perform the comparison in lock: /* we want to perform the comparison in lock:
* there is a possiblity of hif_napi_event get called * there is a possiblity of hif_napi_event get called
@@ -810,9 +811,9 @@ bool hif_napi_correct_cpu(struct qca_napi_info *napi_info)
if (napid->flags & QCA_NAPI_FEATURE_CPU_CORRECTION) { if (napid->flags & QCA_NAPI_FEATURE_CPU_CORRECTION) {
cpu = qdf_get_cpu(); cpu = qdf_get_cpu();
if (unlikely((hif_napi_cpu_blacklist(napid, if (unlikely((hif_napi_cpu_denylist(napid,
BLACKLIST_QUERY) > 0) && DENYLIST_QUERY) > 0) &&
(cpu != napi_info->cpu))) { cpu != napi_info->cpu)) {
right_cpu = false; right_cpu = false;
NAPI_DEBUG("interrupt on wrong CPU, correcting"); NAPI_DEBUG("interrupt on wrong CPU, correcting");
@@ -1633,11 +1634,11 @@ hncm_return:
/** /**
* hif_napi_bl_irq() - calls irq_modify_status to enable/disable blacklisting * hif_napi_bl_irq() - calls irq_modify_status to enable/disable denylisting
* @napid: pointer to qca_napi_data structure * @napid: pointer to qca_napi_data structure
* @bl_flag: blacklist flag to enable/disable blacklisting * @bl_flag: denylist flag to enable/disable denylisting
* *
* The function enables/disables blacklisting for all the copy engine * The function enables/disables denylisting for all the copy engine
* interrupts on which NAPI is enabled. * interrupts on which NAPI is enabled.
* *
* Return: None * Return: None
@@ -1668,23 +1669,23 @@ static inline void hif_napi_bl_irq(struct qca_napi_data *napid, bool bl_flag)
} }
/** /**
* hif_napi_cpu_blacklist() - en(dis)ables blacklisting for NAPI RX interrupts. * hif_napi_cpu_denylist() - en(dis)ables denylisting for NAPI RX interrupts.
* @napid: pointer to qca_napi_data structure * @napid: pointer to qca_napi_data structure
* @op: blacklist operation to perform * @op: denylist operation to perform
* *
* The function enables/disables/queries blacklisting for all CE RX * The function enables/disables/queries denylisting for all CE RX
* interrupts with NAPI enabled. Besides blacklisting, it also enables/disables * interrupts with NAPI enabled. Besides denylisting, it also enables/disables
* core_ctl_set_boost. * core_ctl_set_boost.
* Once blacklisting is enabled, the interrupts will not be managed by the IRQ * Once denylisting is enabled, the interrupts will not be managed by the IRQ
* balancer. * balancer.
* *
* Return: -EINVAL, in case IRQ_BLACKLISTING and CORE_CTL_BOOST is not enabled * Return: -EINVAL, in case IRQ_DENYLISTING and CORE_CTL_BOOST is not enabled
* for BLACKLIST_QUERY op - blacklist refcount * for DENYLIST_QUERY op - denylist refcount
* for BLACKLIST_ON op - return value from core_ctl_set_boost API * for DENYLIST_ON op - return value from core_ctl_set_boost API
* for BLACKLIST_OFF op - return value from core_ctl_set_boost API * for DENYLIST_OFF op - return value from core_ctl_set_boost API
*/ */
int hif_napi_cpu_blacklist(struct qca_napi_data *napid, int hif_napi_cpu_denylist(struct qca_napi_data *napid,
enum qca_blacklist_op op) enum qca_denylist_op op)
{ {
int rc = 0; int rc = 0;
static int ref_count; /* = 0 by the compiler */ static int ref_count; /* = 0 by the compiler */
@@ -1700,10 +1701,10 @@ int hif_napi_cpu_blacklist(struct qca_napi_data *napid,
} }
switch (op) { switch (op) {
case BLACKLIST_QUERY: case DENYLIST_QUERY:
rc = ref_count; rc = ref_count;
break; break;
case BLACKLIST_ON: case DENYLIST_ON:
ref_count++; ref_count++;
rc = 0; rc = 0;
if (ref_count == 1) { if (ref_count == 1) {
@@ -1713,7 +1714,7 @@ int hif_napi_cpu_blacklist(struct qca_napi_data *napid,
hif_napi_bl_irq(napid, true); hif_napi_bl_irq(napid, true);
} }
break; break;
case BLACKLIST_OFF: case DENYLIST_OFF:
if (ref_count) { if (ref_count) {
ref_count--; ref_count--;
rc = 0; rc = 0;
@@ -1726,7 +1727,7 @@ int hif_napi_cpu_blacklist(struct qca_napi_data *napid,
} }
break; break;
default: default:
NAPI_DEBUG("Invalid blacklist op: %d", op); NAPI_DEBUG("Invalid denylist op: %d", op);
rc = -EINVAL; rc = -EINVAL;
} /* switch */ } /* switch */
out: out:
@@ -1742,7 +1743,7 @@ out:
* hif_napi_serialize(hif, 1) can be called multiple times. It will perform the * hif_napi_serialize(hif, 1) can be called multiple times. It will perform the
* following steps (see hif_napi_event for code): * following steps (see hif_napi_event for code):
* - put irqs of all NAPI instances on the same CPU * - put irqs of all NAPI instances on the same CPU
* - only for the first serialize call: blacklist * - only for the first serialize call: denylist
* *
* hif_napi_serialize(hif, 0): * hif_napi_serialize(hif, 0):
* - start a timer (multiple of BusBandwidthTimer -- default: 100 msec) * - start a timer (multiple of BusBandwidthTimer -- default: 100 msec)

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2015-2019 The Linux Foundation. All rights reserved. * Copyright (c) 2015-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -74,7 +75,7 @@ enum qca_napi_event {
* These flags need to be enabled in the qca_napi_data->flags variable for the * These flags need to be enabled in the qca_napi_data->flags variable for the
* feature to kick in. * feature to kick in.
.* QCA_NAPI_FEATURE_CPU_CORRECTION - controls CPU correction logic .* QCA_NAPI_FEATURE_CPU_CORRECTION - controls CPU correction logic
.* QCA_NAPI_FEATURE_IRQ_BLACKLISTING - controls call to irq_blacklist_on API .* QCA_NAPI_FEATURE_IRQ_BLACKLISTING - controls call to irq_denylist_on API
.* QCA_NAPI_FEATURE_CORE_CTL_BOOST - controls call to core_ctl_set_boost API .* QCA_NAPI_FEATURE_CORE_CTL_BOOST - controls call to core_ctl_set_boost API
*/ */
#define QCA_NAPI_FEATURE_CPU_CORRECTION BIT(1) #define QCA_NAPI_FEATURE_CPU_CORRECTION BIT(1)
@@ -120,10 +121,10 @@ void hif_napi_rx_offld_flush_cb_deregister(struct hif_opaque_softc *hif_hdl);
*/ */
void *hif_napi_get_lro_info(struct hif_opaque_softc *hif_hdl, int napi_id); void *hif_napi_get_lro_info(struct hif_opaque_softc *hif_hdl, int napi_id);
enum qca_blacklist_op { enum qca_denylist_op {
BLACKLIST_QUERY, DENYLIST_QUERY,
BLACKLIST_OFF, DENYLIST_OFF,
BLACKLIST_ON DENYLIST_ON
}; };
#ifdef FEATURE_NAPI #ifdef FEATURE_NAPI
@@ -289,8 +290,8 @@ int hif_napi_cpu_deinit(struct hif_opaque_softc *hif);
int hif_napi_cpu_migrate(struct qca_napi_data *napid, int cpu, int action); int hif_napi_cpu_migrate(struct qca_napi_data *napid, int cpu, int action);
int hif_napi_serialize(struct hif_opaque_softc *hif, int is_on); int hif_napi_serialize(struct hif_opaque_softc *hif, int is_on);
int hif_napi_cpu_blacklist(struct qca_napi_data *napid, int hif_napi_cpu_denylist(struct qca_napi_data *napid,
enum qca_blacklist_op op); enum qca_denylist_op op);
/* not directly related to irq affinity, but oh well */ /* not directly related to irq affinity, but oh well */
void hif_napi_stats(struct qca_napi_data *napid); void hif_napi_stats(struct qca_napi_data *napid);
@@ -317,8 +318,8 @@ static inline void hif_napi_update_yield_stats(struct CE_state *ce_state,
bool time_limit_reached, bool time_limit_reached,
bool rxpkt_thresh_reached) { } bool rxpkt_thresh_reached) { }
static inline int hif_napi_cpu_blacklist(struct qca_napi_data *napid, static inline int hif_napi_cpu_denylist(struct qca_napi_data *napid,
enum qca_blacklist_op op) enum qca_denylist_op op)
{ return 0; } { return 0; }
#endif /* HIF_IRQ_AFFINITY */ #endif /* HIF_IRQ_AFFINITY */

View File

@@ -614,8 +614,8 @@ int wlan_cfg80211_sched_scan_start(struct wlan_objmgr_vdev *vdev,
if (req->scan_random.randomize) if (req->scan_random.randomize)
wlan_pno_scan_rand_attr(vdev, request, req); wlan_pno_scan_rand_attr(vdev, request, req);
if (ucfg_ie_whitelist_enabled(psoc, vdev)) if (ucfg_ie_allowlist_enabled(psoc, vdev))
ucfg_copy_ie_whitelist_attrs(psoc, &req->ie_whitelist); ucfg_copy_ie_allowlist_attrs(psoc, &req->ie_allowlist);
osif_debug("Network count %d n_ssids %d fast_scan_period: %d msec slow_scan_period: %d msec, fast_scan_max_cycles: %d, relative_rssi %d band_pref %d, rssi_pref %d", osif_debug("Network count %d n_ssids %d fast_scan_period: %d msec slow_scan_period: %d msec, fast_scan_max_cycles: %d, relative_rssi %d band_pref %d, rssi_pref %d",
req->networks_cnt, request->n_ssids, req->fast_scan_period, req->networks_cnt, request->n_ssids, req->fast_scan_period,
@@ -1690,10 +1690,10 @@ int wlan_cfg80211_scan(struct wlan_objmgr_vdev *vdev,
if (!is_p2p_scan) { if (!is_p2p_scan) {
if (req->scan_req.scan_random.randomize) if (req->scan_req.scan_random.randomize)
wlan_scan_rand_attrs(vdev, request, req); wlan_scan_rand_attrs(vdev, request, req);
if (ucfg_ie_whitelist_enabled(psoc, vdev) && if (ucfg_ie_allowlist_enabled(psoc, vdev) &&
ucfg_copy_ie_whitelist_attrs(psoc, ucfg_copy_ie_allowlist_attrs(psoc,
&req->scan_req.ie_whitelist)) &req->scan_req.ie_allowlist))
req->scan_req.scan_f_en_ie_whitelist_in_probe = true; req->scan_req.scan_f_en_ie_allowlist_in_probe = true;
} }
if (request->flags & NL80211_SCAN_FLAG_FLUSH) if (request->flags & NL80211_SCAN_FLAG_FLUSH)

View File

@@ -1816,11 +1816,11 @@ void wlan_cm_calculate_bss_score(struct wlan_objmgr_pdev *pdev,
int pcl_chan_weight; int pcl_chan_weight;
QDF_STATUS status; QDF_STATUS status;
struct psoc_phy_config *config; struct psoc_phy_config *config;
enum cm_denylist_action blacklist_action; enum cm_denylist_action denylist_action;
struct wlan_objmgr_psoc *psoc; struct wlan_objmgr_psoc *psoc;
bool assoc_allowed; bool assoc_allowed;
struct scan_cache_node *force_connect_candidate = NULL; struct scan_cache_node *force_connect_candidate = NULL;
bool are_all_candidate_blacklisted = true; bool are_all_candidate_denylisted = true;
psoc = wlan_pdev_get_psoc(pdev); psoc = wlan_pdev_get_psoc(pdev);
@@ -1863,16 +1863,16 @@ void wlan_cm_calculate_bss_score(struct wlan_objmgr_pdev *pdev,
scan_entry->entry); scan_entry->entry);
if (assoc_allowed) if (assoc_allowed)
blacklist_action = wlan_denylist_action_on_bssid(pdev, denylist_action = wlan_denylist_action_on_bssid(pdev,
scan_entry->entry); scan_entry->entry);
else else
blacklist_action = CM_DLM_FORCE_REMOVE; denylist_action = CM_DLM_FORCE_REMOVE;
if (blacklist_action == CM_DLM_NO_ACTION || if (denylist_action == CM_DLM_NO_ACTION ||
blacklist_action == CM_DLM_AVOID) denylist_action == CM_DLM_AVOID)
are_all_candidate_blacklisted = false; are_all_candidate_denylisted = false;
if (blacklist_action == CM_DLM_NO_ACTION && if (denylist_action == CM_DLM_NO_ACTION &&
pcl_lst && pcl_lst->num_of_pcl_channels && pcl_lst && pcl_lst->num_of_pcl_channels &&
scan_entry->entry->rssi_raw > CM_PCL_RSSI_THRESHOLD && scan_entry->entry->rssi_raw > CM_PCL_RSSI_THRESHOLD &&
score_config->weight_config.pcl_weightage) { score_config->weight_config.pcl_weightage) {
@@ -1885,11 +1885,12 @@ void wlan_cm_calculate_bss_score(struct wlan_objmgr_pdev *pdev,
} }
} }
if (blacklist_action == CM_DLM_NO_ACTION || if (denylist_action == CM_DLM_NO_ACTION ||
(are_all_candidate_blacklisted && blacklist_action == CM_DLM_REMOVE)) { (are_all_candidate_denylisted && denylist_action ==
CM_DLM_REMOVE)) {
cm_calculate_bss_score(psoc, scan_entry->entry, cm_calculate_bss_score(psoc, scan_entry->entry,
pcl_chan_weight, bssid_hint); pcl_chan_weight, bssid_hint);
} else if (blacklist_action == CM_DLM_AVOID) { } else if (denylist_action == CM_DLM_AVOID) {
/* add min score so that it is added back in the end */ /* add min score so that it is added back in the end */
scan_entry->entry->bss_score = scan_entry->entry->bss_score =
CM_AVOID_CANDIDATE_MIN_SCORE; CM_AVOID_CANDIDATE_MIN_SCORE;
@@ -1902,15 +1903,15 @@ void wlan_cm_calculate_bss_score(struct wlan_objmgr_pdev *pdev,
/* /*
* The below logic is added to select the best candidate * The below logic is added to select the best candidate
* amongst the blacklisted candidates. This is done to * amongst the denylisted candidates. This is done to
* handle a case where all the BSSIDs become blacklisted * handle a case where all the BSSIDs become denylisted
* and hence there are continuous connection failures. * and hence there are continuous connection failures.
* With the below logic if the action on BSSID is to remove * With the below logic if the action on BSSID is to remove
* then we keep a backup node and restore the candidate * then we keep a backup node and restore the candidate
* list. * list.
*/ */
if (blacklist_action == CM_DLM_REMOVE && if (denylist_action == CM_DLM_REMOVE &&
are_all_candidate_blacklisted) { are_all_candidate_denylisted) {
if (!force_connect_candidate) { if (!force_connect_candidate) {
force_connect_candidate = force_connect_candidate =
qdf_mem_malloc( qdf_mem_malloc(
@@ -1942,17 +1943,17 @@ void wlan_cm_calculate_bss_score(struct wlan_objmgr_pdev *pdev,
} }
/* /*
* If CM_DLM_REMOVE ie blacklisted or assoc not allowed then * If CM_DLM_REMOVE ie denylisted or assoc not allowed then
* free the entry else add back to the list sorted * free the entry else add back to the list sorted
*/ */
if (blacklist_action == CM_DLM_REMOVE || if (denylist_action == CM_DLM_REMOVE ||
blacklist_action == CM_DLM_FORCE_REMOVE) { denylist_action == CM_DLM_FORCE_REMOVE) {
if (assoc_allowed) if (assoc_allowed)
mlme_nofl_debug("Candidate("QDF_MAC_ADDR_FMT" freq %d): rssi %d, blm action %d is in Blacklist, remove entry", mlme_nofl_debug("Candidate( " QDF_MAC_ADDR_FMT " freq %d): rssi %d, dlm action %d is in Denylist, remove entry",
QDF_MAC_ADDR_REF(scan_entry->entry->bssid.bytes), QDF_MAC_ADDR_REF(scan_entry->entry->bssid.bytes),
scan_entry->entry->channel.chan_freq, scan_entry->entry->channel.chan_freq,
scan_entry->entry->rssi_raw, scan_entry->entry->rssi_raw,
blacklist_action); denylist_action);
util_scan_free_cache_entry(scan_entry->entry); util_scan_free_cache_entry(scan_entry->entry);
qdf_mem_free(scan_entry); qdf_mem_free(scan_entry);
} else { } else {
@@ -1963,8 +1964,8 @@ void wlan_cm_calculate_bss_score(struct wlan_objmgr_pdev *pdev,
next_node = NULL; next_node = NULL;
} }
if (are_all_candidate_blacklisted && force_connect_candidate) { if (are_all_candidate_denylisted && force_connect_candidate) {
mlme_nofl_debug("All candidates in blacklist, Candidate("QDF_MAC_ADDR_FMT" freq %d): rssi %d, selected for connection", mlme_nofl_debug("All candidates in denylist, Candidate( " QDF_MAC_ADDR_FMT " freq %d): rssi %d, selected for connection",
QDF_MAC_ADDR_REF(force_connect_candidate->entry->bssid.bytes), QDF_MAC_ADDR_REF(force_connect_candidate->entry->bssid.bytes),
force_connect_candidate->entry->channel.chan_freq, force_connect_candidate->entry->channel.chan_freq,
force_connect_candidate->entry->rssi_raw); force_connect_candidate->entry->rssi_raw);

View File

@@ -786,7 +786,7 @@ static bool cm_is_any_other_vdev_disconnecting(struct cnx_mgr *cm_ctx,
} }
QDF_STATUS QDF_STATUS
cm_inform_blm_connect_complete(struct wlan_objmgr_vdev *vdev, cm_inform_dlm_connect_complete(struct wlan_objmgr_vdev *vdev,
struct wlan_cm_connect_resp *resp) struct wlan_cm_connect_resp *resp)
{ {
struct wlan_objmgr_pdev *pdev; struct wlan_objmgr_pdev *pdev;
@@ -1998,7 +1998,7 @@ QDF_STATUS cm_notify_connect_complete(struct cnx_mgr *cm_ctx,
mlme_cm_osif_connect_complete(cm_ctx->vdev, resp); mlme_cm_osif_connect_complete(cm_ctx->vdev, resp);
cm_if_mgr_inform_connect_complete(cm_ctx->vdev, cm_if_mgr_inform_connect_complete(cm_ctx->vdev,
resp->connect_status); resp->connect_status);
cm_inform_blm_connect_complete(cm_ctx->vdev, resp); cm_inform_dlm_connect_complete(cm_ctx->vdev, resp);
if (QDF_IS_STATUS_ERROR(resp->connect_status)) if (QDF_IS_STATUS_ERROR(resp->connect_status))
cm_clear_vdev_mlo_cap(cm_ctx->vdev); cm_clear_vdev_mlo_cap(cm_ctx->vdev);

View File

@@ -475,7 +475,7 @@ cm_disconnect_continue_after_rso_stop(struct wlan_objmgr_vdev *vdev,
#ifdef CONN_MGR_ADV_FEATURE #ifdef CONN_MGR_ADV_FEATURE
static void static void
cm_inform_blm_disconnect_complete(struct wlan_objmgr_vdev *vdev, cm_inform_dlm_disconnect_complete(struct wlan_objmgr_vdev *vdev,
struct wlan_cm_discon_rsp *resp) struct wlan_cm_discon_rsp *resp)
{ {
struct wlan_objmgr_pdev *pdev; struct wlan_objmgr_pdev *pdev;
@@ -494,7 +494,7 @@ cm_inform_blm_disconnect_complete(struct wlan_objmgr_vdev *vdev,
#else #else
static inline void static inline void
cm_inform_blm_disconnect_complete(struct wlan_objmgr_vdev *vdev, cm_inform_dlm_disconnect_complete(struct wlan_objmgr_vdev *vdev,
struct wlan_cm_discon_rsp *resp) struct wlan_cm_discon_rsp *resp)
{} {}
#endif #endif
@@ -527,7 +527,7 @@ QDF_STATUS cm_notify_disconnect_complete(struct cnx_mgr *cm_ctx,
mlo_sta_link_disconn_notify(cm_ctx->vdev, resp); mlo_sta_link_disconn_notify(cm_ctx->vdev, resp);
mlme_cm_osif_disconnect_complete(cm_ctx->vdev, resp); mlme_cm_osif_disconnect_complete(cm_ctx->vdev, resp);
cm_if_mgr_inform_disconnect_complete(cm_ctx->vdev); cm_if_mgr_inform_disconnect_complete(cm_ctx->vdev);
cm_inform_blm_disconnect_complete(cm_ctx->vdev, resp); cm_inform_dlm_disconnect_complete(cm_ctx->vdev, resp);
/* Clear MLO cap only when it is the last disconnect req /* Clear MLO cap only when it is the last disconnect req
* as osif would not have informed userspace for other disconnect * as osif would not have informed userspace for other disconnect

View File

@@ -565,14 +565,14 @@ void cm_store_wep_key(struct cnx_mgr *cm_ctx,
wlan_cm_id cm_id); wlan_cm_id cm_id);
/** /**
* cm_inform_blm_connect_complete() - inform bsl about connect complete * cm_inform_dlm_connect_complete() - inform bsl about connect complete
* @vdev: vdev * @vdev: vdev
* @resp: connect resp * @resp: connect resp
* *
* Return: QDF_STATUS * Return: QDF_STATUS
*/ */
QDF_STATUS QDF_STATUS
cm_inform_blm_connect_complete(struct wlan_objmgr_vdev *vdev, cm_inform_dlm_connect_complete(struct wlan_objmgr_vdev *vdev,
struct wlan_cm_connect_resp *resp); struct wlan_cm_connect_resp *resp);
static inline QDF_STATUS static inline QDF_STATUS
@@ -595,7 +595,7 @@ static inline void cm_store_wep_key(struct cnx_mgr *cm_ctx,
{} {}
static inline QDF_STATUS static inline QDF_STATUS
cm_inform_blm_connect_complete(struct wlan_objmgr_vdev *vdev, cm_inform_dlm_connect_complete(struct wlan_objmgr_vdev *vdev,
struct wlan_cm_connect_resp *resp) struct wlan_cm_connect_resp *resp)
{ {
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved. * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -367,7 +368,7 @@ struct extscan_def_config {
* @scan_f_add_ds_ie_in_probe: add DS ie in probe req frame * @scan_f_add_ds_ie_in_probe: add DS ie in probe req frame
* @scan_f_add_spoofed_mac_in_probe: use random mac address for TA in probe * @scan_f_add_spoofed_mac_in_probe: use random mac address for TA in probe
* @scan_f_add_rand_seq_in_probe: use random sequence number in probe * @scan_f_add_rand_seq_in_probe: use random sequence number in probe
* @scan_f_en_ie_whitelist_in_probe: enable ie whitelist in probe * @scan_f_en_ie_allowlist_in_probe: enable ie allowlist in probe
* @scan_f_forced: force scan even in presence of data traffic * @scan_f_forced: force scan even in presence of data traffic
* @scan_f_2ghz: scan 2.4 GHz channels * @scan_f_2ghz: scan 2.4 GHz channels
* @scan_f_5ghz: scan 5 GHz channels * @scan_f_5ghz: scan 5 GHz channels
@@ -461,7 +462,7 @@ struct scan_default_params {
scan_f_add_ds_ie_in_probe:1, scan_f_add_ds_ie_in_probe:1,
scan_f_add_spoofed_mac_in_probe:1, scan_f_add_spoofed_mac_in_probe:1,
scan_f_add_rand_seq_in_probe:1, scan_f_add_rand_seq_in_probe:1,
scan_f_en_ie_whitelist_in_probe:1, scan_f_en_ie_allowlist_in_probe:1,
scan_f_forced:1, scan_f_forced:1,
scan_f_2ghz:1, scan_f_2ghz:1,
scan_f_5ghz:1, scan_f_5ghz:1,
@@ -516,7 +517,7 @@ struct scan_cb {
* @pdev_info: pointer to pdev info * @pdev_info: pointer to pdev info
* @pno_cfg: default pno configuration * @pno_cfg: default pno configuration
* @extscan_cfg: default extscan configuration * @extscan_cfg: default extscan configuration
* @ie_whitelist: default ie whitelist attrs * @ie_allowlist: default ie allowlist attrs
* @bt_a2dp_enabled: if bt a2dp is enabled * @bt_a2dp_enabled: if bt a2dp is enabled
* @miracast_enabled: miracast enabled * @miracast_enabled: miracast enabled
* @disable_timeout: command timeout disabled * @disable_timeout: command timeout disabled
@@ -549,7 +550,7 @@ struct wlan_scan_obj {
#ifdef FEATURE_WLAN_EXTSCAN #ifdef FEATURE_WLAN_EXTSCAN
struct extscan_def_config extscan_cfg; struct extscan_def_config extscan_cfg;
#endif #endif
struct probe_req_whitelist_attr ie_whitelist; struct probe_req_allowlist_attr ie_allowlist;
bool bt_a2dp_enabled; bool bt_a2dp_enabled;
bool miracast_enabled; bool miracast_enabled;
bool disable_timeout; bool disable_timeout;

View File

@@ -889,14 +889,14 @@ struct scan_random_attr {
}; };
/** /**
* struct probe_req_whitelist_attr - holds probe req ie whitelist attrs * struct probe_req_allowlist_attr - holds probe req ie allowlist attrs
* @white_list: enable/disable whitelist * @allow_list: enable/disable allowlist
* @ie_bitmap: bitmap of IEs to be enabled * @ie_bitmap: bitmap of IEs to be enabled
* @num_vendor_oui: number of vendor OUIs * @num_vendor_oui: number of vendor OUIs
* @voui: vendor oui buffer * @voui: vendor oui buffer
*/ */
struct probe_req_whitelist_attr { struct probe_req_allowlist_attr {
bool white_list; bool allow_list;
uint32_t ie_bitmap[PROBE_REQ_BITMAP_LEN]; uint32_t ie_bitmap[PROBE_REQ_BITMAP_LEN];
uint32_t num_vendor_oui; uint32_t num_vendor_oui;
uint32_t voui[MAX_PROBE_REQ_OUIS]; uint32_t voui[MAX_PROBE_REQ_OUIS];
@@ -1032,7 +1032,7 @@ enum scan_request_type {
* @scan_f_add_ds_ie_in_probe: add DS ie in probe req frame * @scan_f_add_ds_ie_in_probe: add DS ie in probe req frame
* @scan_f_add_spoofed_mac_in_probe: use random mac address for TA in probe * @scan_f_add_spoofed_mac_in_probe: use random mac address for TA in probe
* @scan_f_add_rand_seq_in_probe: use random sequence number in probe * @scan_f_add_rand_seq_in_probe: use random sequence number in probe
* @scan_f_en_ie_whitelist_in_probe: enable ie whitelist in probe * @scan_f_en_ie_allowlist_in_probe: enable ie allowlist in probe
* @scan_f_forced: force scan even in presence of data traffic * @scan_f_forced: force scan even in presence of data traffic
* @scan_f_2ghz: scan 2.4 GHz channels * @scan_f_2ghz: scan 2.4 GHz channels
* @scan_f_5ghz: scan 5 GHz channels * @scan_f_5ghz: scan 5 GHz channels
@@ -1047,7 +1047,7 @@ enum scan_request_type {
* @ssid: ssid list * @ssid: ssid list
* @bssid_list: Lisst of bssid to scan * @bssid_list: Lisst of bssid to scan
* @scan_random: scan randomization params * @scan_random: scan randomization params
* @ie_whitelist: probe req IE whitelist attrs * @ie_allowlist: probe req IE allowlist attrs
* @extraie: list of optional/vendor specific ie's to be added in probe requests * @extraie: list of optional/vendor specific ie's to be added in probe requests
* @htcap: htcap ie * @htcap: htcap ie
* @vhtcap: vhtcap ie * @vhtcap: vhtcap ie
@@ -1119,7 +1119,7 @@ struct scan_req_params {
scan_f_add_ds_ie_in_probe:1, scan_f_add_ds_ie_in_probe:1,
scan_f_add_spoofed_mac_in_probe:1, scan_f_add_spoofed_mac_in_probe:1,
scan_f_add_rand_seq_in_probe:1, scan_f_add_rand_seq_in_probe:1,
scan_f_en_ie_whitelist_in_probe:1, scan_f_en_ie_allowlist_in_probe:1,
scan_f_forced:1, scan_f_forced:1,
scan_f_2ghz:1, scan_f_2ghz:1,
scan_f_5ghz:1, scan_f_5ghz:1,
@@ -1146,7 +1146,7 @@ struct scan_req_params {
struct wlan_ssid ssid[WLAN_SCAN_MAX_NUM_SSID]; struct wlan_ssid ssid[WLAN_SCAN_MAX_NUM_SSID];
struct qdf_mac_addr bssid_list[WLAN_SCAN_MAX_NUM_BSSID]; struct qdf_mac_addr bssid_list[WLAN_SCAN_MAX_NUM_BSSID];
struct scan_random_attr scan_random; struct scan_random_attr scan_random;
struct probe_req_whitelist_attr ie_whitelist; struct probe_req_allowlist_attr ie_allowlist;
struct element_info extraie; struct element_info extraie;
struct element_info htcap; struct element_info htcap;
struct element_info vhtcap; struct element_info vhtcap;
@@ -1456,7 +1456,7 @@ struct nlo_mawc_params {
* to be triggered. * to be triggered.
* @networks_list: Preferred network list * @networks_list: Preferred network list
* @scan_random: scan randomization params * @scan_random: scan randomization params
* @ie_whitelist: probe req IE whitelist attrs * @ie_allowlist: probe req IE allowlist attrs
* @relative_rssi_set: Flag to check whether realtive_rssi is set or not * @relative_rssi_set: Flag to check whether realtive_rssi is set or not
* @relative_rssi: Relative rssi threshold, used for connected pno * @relative_rssi: Relative rssi threshold, used for connected pno
* @band_rssi_pref: Band and RSSI preference that can be given to one BSS * @band_rssi_pref: Band and RSSI preference that can be given to one BSS
@@ -1488,7 +1488,7 @@ struct pno_scan_req_params {
uint32_t channel_prediction_full_scan; uint32_t channel_prediction_full_scan;
struct pno_nw_type networks_list[SCAN_PNO_MAX_SUPP_NETWORKS]; struct pno_nw_type networks_list[SCAN_PNO_MAX_SUPP_NETWORKS];
struct scan_random_attr scan_random; struct scan_random_attr scan_random;
struct probe_req_whitelist_attr ie_whitelist; struct probe_req_allowlist_attr ie_allowlist;
bool relative_rssi_set; bool relative_rssi_set;
int8_t relative_rssi; int8_t relative_rssi;
struct cpno_band_rssi_pref band_rssi_pref; struct cpno_band_rssi_pref band_rssi_pref;
@@ -1498,11 +1498,11 @@ struct pno_scan_req_params {
/** /**
* struct scan_user_cfg - user configuration required for for scan * struct scan_user_cfg - user configuration required for for scan
* @ie_whitelist: probe req IE whitelist attrs * @ie_allowlist: probe req IE allowlist attrs
* @sta_miracast_mcc_rest_time: sta miracast mcc rest time * @sta_miracast_mcc_rest_time: sta miracast mcc rest time
*/ */
struct scan_user_cfg { struct scan_user_cfg {
struct probe_req_whitelist_attr ie_whitelist; struct probe_req_allowlist_attr ie_allowlist;
uint32_t sta_miracast_mcc_rest_time; uint32_t sta_miracast_mcc_rest_time;
}; };

View File

@@ -643,30 +643,31 @@ QDF_STATUS ucfg_scan_psoc_close(struct wlan_objmgr_psoc *psoc);
uint32_t ucfg_scan_get_max_active_scans(struct wlan_objmgr_psoc *psoc); uint32_t ucfg_scan_get_max_active_scans(struct wlan_objmgr_psoc *psoc);
/** /**
* ucfg_ie_whitelist_enabled() - Checks for IE whitelisting enable * ucfg_ie_allowlist_enabled() - Checks for IE allowlisting enable
* @psoc: pointer to psoc object * @psoc: pointer to psoc object
* @vdev: pointer to vdev * @vdev: pointer to vdev
* *
* This function is used to check whether IE whitelisting is enabled or not * This function is used to check whether IE allowlisting is enabled or not
* *
* Return: If enabled returns true else returns false * Return: If enabled returns true else returns false
*/ */
bool ucfg_ie_whitelist_enabled(struct wlan_objmgr_psoc *psoc, bool ucfg_ie_allowlist_enabled(struct wlan_objmgr_psoc *psoc,
struct wlan_objmgr_vdev *vdev); struct wlan_objmgr_vdev *vdev);
/** /**
* ucfg_copy_ie_whitelist_attrs() - Populate probe req IE whitelist attrs * ucfg_copy_ie_allowlist_attrs() - Populate probe req IE allowlist attrs
* @psoc: pointer to psoc object * @psoc: pointer to psoc object
* @ie_whitelist: output parameter to hold ie whitelist attrs * @ie_allowlist: output parameter to hold ie allowlist attrs
* *
* If IE whitelisting is enabled then invoke this function to copy * If IE allowlisting is enabled then invoke this function to copy
* IE whitelisting attrs from wlan scan object * IE allowlisting attrs from wlan scan object
* *
* Return: true - successful copy * Return: true - successful copy
* false - copy failed * false - copy failed
*/ */
bool ucfg_copy_ie_whitelist_attrs(struct wlan_objmgr_psoc *psoc, bool
struct probe_req_whitelist_attr *ie_whitelist); ucfg_copy_ie_allowlist_attrs(struct wlan_objmgr_psoc *psoc,
struct probe_req_allowlist_attr *ie_allowlist);
/** /**
* ucfg_scan_set_bt_activity() - API to set bt activity * ucfg_scan_set_bt_activity() - API to set bt activity

View File

@@ -1201,7 +1201,7 @@ QDF_STATUS ucfg_scan_update_user_config(struct wlan_objmgr_psoc *psoc,
} }
scan_def = &scan_obj->scan_def; scan_def = &scan_obj->scan_def;
scan_obj->ie_whitelist = scan_cfg->ie_whitelist; scan_obj->ie_allowlist = scan_cfg->ie_allowlist;
scan_def->sta_miracast_mcc_rest_time = scan_def->sta_miracast_mcc_rest_time =
scan_cfg->sta_miracast_mcc_rest_time; scan_cfg->sta_miracast_mcc_rest_time;
@@ -1450,8 +1450,8 @@ ucfg_scan_get_max_active_scans(struct wlan_objmgr_psoc *psoc)
return scan_params->max_active_scans_allowed; return scan_params->max_active_scans_allowed;
} }
bool ucfg_copy_ie_whitelist_attrs(struct wlan_objmgr_psoc *psoc, bool ucfg_copy_ie_allowlist_attrs(struct wlan_objmgr_psoc *psoc,
struct probe_req_whitelist_attr *ie_whitelist) struct probe_req_allowlist_attr *ie_allowlist)
{ {
struct wlan_scan_obj *scan_obj = NULL; struct wlan_scan_obj *scan_obj = NULL;
@@ -1459,13 +1459,13 @@ bool ucfg_copy_ie_whitelist_attrs(struct wlan_objmgr_psoc *psoc,
if (!scan_obj) if (!scan_obj)
return false; return false;
qdf_mem_copy(ie_whitelist, &scan_obj->ie_whitelist, qdf_mem_copy(ie_allowlist, &scan_obj->ie_allowlist,
sizeof(*ie_whitelist)); sizeof(*ie_allowlist));
return true; return true;
} }
bool ucfg_ie_whitelist_enabled(struct wlan_objmgr_psoc *psoc, bool ucfg_ie_allowlist_enabled(struct wlan_objmgr_psoc *psoc,
struct wlan_objmgr_vdev *vdev) struct wlan_objmgr_vdev *vdev)
{ {
struct wlan_scan_obj *scan_obj = NULL; struct wlan_scan_obj *scan_obj = NULL;
@@ -1478,7 +1478,7 @@ bool ucfg_ie_whitelist_enabled(struct wlan_objmgr_psoc *psoc,
wlan_vdev_is_up(vdev) == QDF_STATUS_SUCCESS) wlan_vdev_is_up(vdev) == QDF_STATUS_SUCCESS)
return false; return false;
if (!scan_obj->ie_whitelist.white_list) if (!scan_obj->ie_allowlist.allow_list)
return false; return false;
return true; return true;

View File

@@ -1719,13 +1719,13 @@ struct set_key_params {
* @oui: oui parameters * @oui: oui parameters
* @vdev_id: interface id * @vdev_id: interface id
* @enb_probe_req_sno_randomization: control probe req sequence no randomization * @enb_probe_req_sno_randomization: control probe req sequence no randomization
* @ie_whitelist: probe req IE whitelist attrs * @ie_allowlist: probe req IE allowlist attrs
*/ */
struct scan_mac_oui { struct scan_mac_oui {
uint8_t oui[WMI_WIFI_SCANNING_MAC_OUI_LENGTH]; uint8_t oui[WMI_WIFI_SCANNING_MAC_OUI_LENGTH];
uint32_t vdev_id; uint32_t vdev_id;
bool enb_probe_req_sno_randomization; bool enb_probe_req_sno_randomization;
struct probe_req_whitelist_attr ie_whitelist; struct probe_req_allowlist_attr ie_allowlist;
}; };
#define WMI_PASSPOINT_REALM_LEN 256 #define WMI_PASSPOINT_REALM_LEN 256
@@ -4021,7 +4021,7 @@ typedef struct {
* @last_tx_power: Tx power latest * @last_tx_power: Tx power latest
* @atf_tokens_allocated: atf tokens allocated * @atf_tokens_allocated: atf tokens allocated
* @atf_tokens_utilized: atf tokens utilized * @atf_tokens_utilized: atf tokens utilized
* @num_mu_tx_blacklisted: Blacklisted MU Tx count * @num_mu_tx_denylisted: Denylisted MU Tx count
* @sgi_count: sgi count of the peer * @sgi_count: sgi count of the peer
* @rx_mc_bc_cnt: Total number of received multicast & broadcast data frames * @rx_mc_bc_cnt: Total number of received multicast & broadcast data frames
* corresponding to this peer, 1 in the MSB of rx_mc_bc_cnt represents a * corresponding to this peer, 1 in the MSB of rx_mc_bc_cnt represents a
@@ -4038,7 +4038,7 @@ typedef struct {
uint32_t last_tx_power; uint32_t last_tx_power;
uint32_t atf_tokens_allocated; uint32_t atf_tokens_allocated;
uint32_t atf_tokens_utilized; uint32_t atf_tokens_utilized;
uint32_t num_mu_tx_blacklisted; uint32_t num_mu_tx_denylisted;
uint32_t sgi_count; uint32_t sgi_count;
uint32_t rx_mc_bc_cnt; uint32_t rx_mc_bc_cnt;
uint32_t rx_retry_cnt; uint32_t rx_retry_cnt;
@@ -4835,7 +4835,7 @@ typedef enum {
wmi_esp_estimate_event_id, wmi_esp_estimate_event_id,
wmi_pdev_ctl_failsafe_check_event_id, wmi_pdev_ctl_failsafe_check_event_id,
wmi_vdev_bcn_reception_stats_event_id, wmi_vdev_bcn_reception_stats_event_id,
wmi_roam_blacklist_event_id, wmi_roam_denylist_event_id,
wmi_wlm_stats_event_id, wmi_wlm_stats_event_id,
wmi_peer_cfr_capture_event_id, wmi_peer_cfr_capture_event_id,
wmi_pdev_cold_boot_cal_event_id, wmi_pdev_cold_boot_cal_event_id,
@@ -6126,7 +6126,7 @@ typedef enum {
* @WMI_HOST_PEER_EXT_STATS_ENABLE: Enable extended peer stats * @WMI_HOST_PEER_EXT_STATS_ENABLE: Enable extended peer stats
* @WMI_HOST_PEER_USE_FIXED_PWR: Use FIXED Pwr, * @WMI_HOST_PEER_USE_FIXED_PWR: Use FIXED Pwr,
* @WMI_HOST_PEER_PARAM_FIXED_RATE: Set peer fixed rate * @WMI_HOST_PEER_PARAM_FIXED_RATE: Set peer fixed rate
* @WMI_HOST_PEER_SET_MU_WHITELIST: Whitelist peer TIDs * @WMI_HOST_PEER_SET_MU_ALLOWLIST: Allowlist peer TIDs
* @WMI_HOST_PEER_MEMBERSHIP: set group membership status * @WMI_HOST_PEER_MEMBERSHIP: set group membership status
* @WMI_HOST_PEER_USERPOS: User POS * @WMI_HOST_PEER_USERPOS: User POS
* @WMI_HOST_PEER_CRIT_PROTO_HINT_ENABLED: Critical Protocol Hint enabled * @WMI_HOST_PEER_CRIT_PROTO_HINT_ENABLED: Critical Protocol Hint enabled
@@ -6156,7 +6156,7 @@ enum {
WMI_HOST_PEER_EXT_STATS_ENABLE, WMI_HOST_PEER_EXT_STATS_ENABLE,
WMI_HOST_PEER_USE_FIXED_PWR, WMI_HOST_PEER_USE_FIXED_PWR,
WMI_HOST_PEER_PARAM_FIXED_RATE, WMI_HOST_PEER_PARAM_FIXED_RATE,
WMI_HOST_PEER_SET_MU_WHITELIST, WMI_HOST_PEER_SET_MU_ALLOWLIST,
WMI_HOST_PEER_MEMBERSHIP, WMI_HOST_PEER_MEMBERSHIP,
WMI_HOST_PEER_USERPOS, WMI_HOST_PEER_USERPOS,
WMI_HOST_PEER_CRIT_PROTO_HINT_ENABLED, WMI_HOST_PEER_CRIT_PROTO_HINT_ENABLED,
@@ -7912,10 +7912,10 @@ struct wmi_roam_wtc_btm_trigger_data {
* @rssi_score: AP RSSI score * @rssi_score: AP RSSI score
* @total_score: Total score of the candidate AP. * @total_score: Total score of the candidate AP.
* @etp: Estimated throughput value of the AP in Mbps * @etp: Estimated throughput value of the AP in Mbps
* @bl_reason: Blacklist reason * @bl_reason: Denylist reason
* @bl_source: Source of adding AP to BL * @bl_source: Source of adding AP to BL
* @bl_timestamp:This timestamp indicates the time when AP added * @bl_timestamp:This timestamp indicates the time when AP added
* to blacklist. * to denylist.
* @bl_original_timeout: Original timeout value in milli seconds * @bl_original_timeout: Original timeout value in milli seconds
* when AP added to BL * when AP added to BL
*/ */

View File

@@ -431,7 +431,7 @@ QDF_STATUS
QDF_STATUS QDF_STATUS
(*extract_btm_bl_event)(wmi_unified_t wmi_handle, (*extract_btm_bl_event)(wmi_unified_t wmi_handle,
uint8_t *event, uint32_t data_len, uint8_t *event, uint32_t data_len,
struct roam_blacklist_event **dst_list); struct roam_denylist_event **dst_list);
QDF_STATUS QDF_STATUS
(*extract_vdev_disconnect_event)(wmi_unified_t wmi_handle, (*extract_vdev_disconnect_event)(wmi_unified_t wmi_handle,
uint8_t *event, uint32_t data_len, uint8_t *event, uint32_t data_len,
@@ -3367,10 +3367,10 @@ void wmi_policy_mgr_attach_tlv(struct wmi_unified *wmi_handle)
#endif #endif
#if defined(WLAN_FEATURE_ROAM_OFFLOAD) && defined(FEATURE_DENYLIST_MGR) #if defined(WLAN_FEATURE_ROAM_OFFLOAD) && defined(FEATURE_DENYLIST_MGR)
void wmi_blacklist_mgr_attach_tlv(struct wmi_unified *wmi_handle); void wmi_denylist_mgr_attach_tlv(struct wmi_unified *wmi_handle);
#else #else
static inline static inline
void wmi_blacklist_mgr_attach_tlv(struct wmi_unified *wmi_handle) void wmi_denylist_mgr_attach_tlv(struct wmi_unified *wmi_handle)
{ {
} }
#endif #endif

View File

@@ -76,7 +76,7 @@ wmi_unified_vdev_set_gtx_cfg_cmd(wmi_unified_t wmi_handle, uint32_t if_id,
#if defined(WLAN_FEATURE_ROAM_OFFLOAD) && defined(FEATURE_DENYLIST_MGR) #if defined(WLAN_FEATURE_ROAM_OFFLOAD) && defined(FEATURE_DENYLIST_MGR)
/** /**
* wmi_unified_send_reject_ap_list() - send the reject ap list maintained by * wmi_unified_send_reject_ap_list() - send the reject ap list maintained by
* BLM to FW for roaming cases. * DLM to FW for roaming cases.
* @wmi_handle: wmi handle * @wmi_handle: wmi handle
* @reject_params: This contains the reject ap list, and the num of BSSIDs. * @reject_params: This contains the reject ap list, and the num of BSSIDs.
* *

View File

@@ -1,6 +1,6 @@
/* /*
* Copyright (c) 2013-2019 The Linux Foundation. All rights reserved. * Copyright (c) 2013-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved. * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -1168,7 +1168,7 @@ wmi_versions_are_compatible(wmi_abi_version *vers1, wmi_abi_version *vers2)
* Return: 0 if success. Return < 0 if failure. * Return: 0 if success. Return < 0 if failure.
*/ */
static int static int
wmi_versions_can_downgrade(int num_whitelist, wmi_versions_can_downgrade(int num_allowlist,
wmi_whitelist_version_info *version_whitelist_table, wmi_whitelist_version_info *version_whitelist_table,
wmi_abi_version *my_vers, wmi_abi_version *my_vers,
wmi_abi_version *opp_vers, wmi_abi_version *opp_vers,
@@ -1197,7 +1197,9 @@ wmi_versions_can_downgrade(int num_whitelist,
/* Opposite party is newer. Incompatible and cannot downgrade. */ /* Opposite party is newer. Incompatible and cannot downgrade. */
can_try_to_downgrade = false; can_try_to_downgrade = false;
} else if (my_minor_vers > opp_minor_vers) { } else if (my_minor_vers > opp_minor_vers) {
/* Opposite party is older. Check whitelist if we can downgrade */ /* Opposite party is older. Check allowlist if
* we can downgrade
*/
can_try_to_downgrade = true; can_try_to_downgrade = true;
} else { } else {
/* Same version */ /* Same version */
@@ -1219,26 +1221,26 @@ wmi_versions_can_downgrade(int num_whitelist,
uint8_t downgraded = false; uint8_t downgraded = false;
int i; int i;
for (i = 0; i < num_whitelist; i++) { for (i = 0; i < num_allowlist; i++) {
if (version_whitelist_table[i].major != my_major_vers) { if (version_whitelist_table[i].major != my_major_vers)
continue; /* skip */ continue; /* skip */
} if (version_whitelist_table[i].namespace_0 !=
if ((version_whitelist_table[i].namespace_0 != my_vers->abi_version_ns_0 ||
my_vers->abi_version_ns_0) version_whitelist_table[i].namespace_1 !=
|| (version_whitelist_table[i].namespace_1 != my_vers->abi_version_ns_1 ||
my_vers->abi_version_ns_1) version_whitelist_table[i].namespace_2 !=
|| (version_whitelist_table[i].namespace_2 != my_vers->abi_version_ns_2 ||
my_vers->abi_version_ns_2) version_whitelist_table[i].namespace_3 !=
|| (version_whitelist_table[i].namespace_3 != my_vers->abi_version_ns_3) {
my_vers->abi_version_ns_3)) {
continue; /* skip */ continue; /* skip */
} }
if (version_whitelist_table[i].minor == if (version_whitelist_table[i].minor ==
downgraded_minor_vers) { downgraded_minor_vers) {
/* Found the next version that I can downgrade */ /* Found the next version that I can downgrade */
wmi_tlv_print_error wmi_tlv_print_error
("%s: Note: found a whitelist entry to downgrade. wh. list ver: %d,%d,0x%x 0x%x 0x%x 0x%x\n", ("%s: Note: found a allowlist entry to downgrade. wh. list ver: %d,%d,0x%x 0x%x 0x%x 0x%x\n",
__func__, version_whitelist_table[i].major, __func__,
version_whitelist_table[i].major,
version_whitelist_table[i].minor, version_whitelist_table[i].minor,
version_whitelist_table[i].namespace_0, version_whitelist_table[i].namespace_0,
version_whitelist_table[i].namespace_1, version_whitelist_table[i].namespace_1,
@@ -1250,7 +1252,9 @@ wmi_versions_can_downgrade(int num_whitelist,
} }
} }
if (!downgraded) { if (!downgraded) {
break; /* Done since we did not find any whitelist to downgrade version */ break; /* Done since we did not find any allowlist
* to downgrade version
*/
} }
} }
wmi_tlv_OS_MEMCPY(out_vers, my_vers, sizeof(wmi_abi_version)); wmi_tlv_OS_MEMCPY(out_vers, my_vers, sizeof(wmi_abi_version));
@@ -1275,7 +1279,7 @@ wmi_versions_can_downgrade(int num_whitelist,
* *
* This routine will compare and set the WMI ABI version. * This routine will compare and set the WMI ABI version.
* First, compare my version with the opposite side's version. * First, compare my version with the opposite side's version.
* If incompatible, then check the whitelist to see if our side can downgrade. * If incompatible, then check the allowlist to see if our side can downgrade.
* Finally, fill in the final ABI version into the output, out_vers. * Finally, fill in the final ABI version into the output, out_vers.
* Return 0 if the output version is compatible * Return 0 if the output version is compatible
* Else return 1 if the output version is incompatible * Else return 1 if the output version is incompatible
@@ -1283,7 +1287,7 @@ wmi_versions_can_downgrade(int num_whitelist,
* Return: 0 if the output version is compatible else < 0. * Return: 0 if the output version is compatible else < 0.
*/ */
int int
wmi_cmp_and_set_abi_version(int num_whitelist, wmi_cmp_and_set_abi_version(int num_allowlist,
wmi_whitelist_version_info * wmi_whitelist_version_info *
version_whitelist_table, version_whitelist_table,
struct _wmi_abi_version *my_vers, struct _wmi_abi_version *my_vers,
@@ -1309,9 +1313,11 @@ wmi_cmp_and_set_abi_version(int num_whitelist,
wmi_tlv_OS_MEMCPY(out_vers, my_vers, sizeof(wmi_abi_version)); wmi_tlv_OS_MEMCPY(out_vers, my_vers, sizeof(wmi_abi_version));
if (!wmi_versions_are_compatible(my_vers, opp_vers)) { if (!wmi_versions_are_compatible(my_vers, opp_vers)) {
/* Our host version and the given firmware version are incompatible. */ /* Our host version and the given firmware version are incompatible. */
if (wmi_versions_can_downgrade if (wmi_versions_can_downgrade(num_allowlist,
(num_whitelist, version_whitelist_table, my_vers, opp_vers, version_whitelist_table,
out_vers)) { my_vers,
opp_vers,
out_vers)) {
/* We can downgrade our host versions to match firmware. */ /* We can downgrade our host versions to match firmware. */
wmi_tlv_print_error wmi_tlv_print_error
("%s: Host downgraded WMI Versions to match fw. Ret version: Mj=%d, Mn=%d, bd=%d, ns0=0x%x ns1:0x%x ns2:0x%x ns3:0x%x\n", ("%s: Host downgraded WMI Versions to match fw. Ret version: Mj=%d, Mn=%d, bd=%d, ns0=0x%x ns1:0x%x ns2:0x%x ns3:0x%x\n",

View File

@@ -1223,7 +1223,7 @@ error:
return status; return status;
} }
void wmi_blacklist_mgr_attach_tlv(struct wmi_unified *wmi_handle) void wmi_denylist_mgr_attach_tlv(struct wmi_unified *wmi_handle)
{ {
struct wmi_ops *ops = wmi_handle->ops; struct wmi_ops *ops = wmi_handle->ops;
@@ -2444,6 +2444,6 @@ void wmi_sta_attach_tlv(wmi_unified_t wmi_handle)
wmi_tdls_attach_tlv(wmi_handle); wmi_tdls_attach_tlv(wmi_handle);
wmi_policy_mgr_attach_tlv(wmi_handle); wmi_policy_mgr_attach_tlv(wmi_handle);
wmi_blacklist_mgr_attach_tlv(wmi_handle); wmi_denylist_mgr_attach_tlv(wmi_handle);
} }

View File

@@ -107,7 +107,7 @@ static const uint32_t peer_param_tlv[] = {
[WMI_HOST_PEER_PHYMODE] = WMI_PEER_PHYMODE, [WMI_HOST_PEER_PHYMODE] = WMI_PEER_PHYMODE,
[WMI_HOST_PEER_USE_FIXED_PWR] = WMI_PEER_USE_FIXED_PWR, [WMI_HOST_PEER_USE_FIXED_PWR] = WMI_PEER_USE_FIXED_PWR,
[WMI_HOST_PEER_PARAM_FIXED_RATE] = WMI_PEER_PARAM_FIXED_RATE, [WMI_HOST_PEER_PARAM_FIXED_RATE] = WMI_PEER_PARAM_FIXED_RATE,
[WMI_HOST_PEER_SET_MU_WHITELIST] = WMI_PEER_SET_MU_WHITELIST, [WMI_HOST_PEER_SET_MU_ALLOWLIST] = WMI_PEER_SET_MU_WHITELIST,
[WMI_HOST_PEER_SET_MAC_TX_RATE] = WMI_PEER_SET_MAX_TX_RATE, [WMI_HOST_PEER_SET_MAC_TX_RATE] = WMI_PEER_SET_MAX_TX_RATE,
[WMI_HOST_PEER_SET_MIN_TX_RATE] = WMI_PEER_SET_MIN_TX_RATE, [WMI_HOST_PEER_SET_MIN_TX_RATE] = WMI_PEER_SET_MIN_TX_RATE,
[WMI_HOST_PEER_SET_DEFAULT_ROUTING] = WMI_PEER_SET_DEFAULT_ROUTING, [WMI_HOST_PEER_SET_DEFAULT_ROUTING] = WMI_PEER_SET_DEFAULT_ROUTING,
@@ -3091,7 +3091,7 @@ static inline void copy_scan_event_cntrl_flags(
cmd->scan_ctrl_flags |= WMI_SCAN_ADD_SPOOFED_MAC_IN_PROBE_REQ; cmd->scan_ctrl_flags |= WMI_SCAN_ADD_SPOOFED_MAC_IN_PROBE_REQ;
if (param->scan_f_add_rand_seq_in_probe) if (param->scan_f_add_rand_seq_in_probe)
cmd->scan_ctrl_flags |= WMI_SCAN_RANDOM_SEQ_NO_IN_PROBE_REQ; cmd->scan_ctrl_flags |= WMI_SCAN_RANDOM_SEQ_NO_IN_PROBE_REQ;
if (param->scan_f_en_ie_whitelist_in_probe) if (param->scan_f_en_ie_allowlist_in_probe)
cmd->scan_ctrl_flags |= cmd->scan_ctrl_flags |=
WMI_SCAN_ENABLE_IE_WHTELIST_IN_PROBE_REQ; WMI_SCAN_ENABLE_IE_WHTELIST_IN_PROBE_REQ;
@@ -3153,27 +3153,27 @@ void wmi_fill_vendor_oui(uint8_t *buf_ptr, uint32_t num_vendor_oui,
} }
/* /*
* wmi_fill_ie_whitelist_attrs() - fill IE whitelist attrs * wmi_fill_ie_allowlist_attrs() - fill IE allowlist attrs
* @ie_bitmap: output pointer to ie bit map in cmd * @ie_bitmap: output pointer to ie bit map in cmd
* @num_vendor_oui: output pointer to num vendor OUIs * @num_vendor_oui: output pointer to num vendor OUIs
* @ie_whitelist: input parameter * @ie_allowlist: input parameter
* *
* This function populates the IE whitelist attrs of scan, pno and * This function populates the IE allowlist attrs of scan, pno and
* scan oui commands for ie_whitelist parameter. * scan oui commands for ie_allowlist parameter.
* *
* Return: None * Return: None
*/ */
static inline static inline
void wmi_fill_ie_whitelist_attrs(uint32_t *ie_bitmap, void wmi_fill_ie_allowlist_attrs(uint32_t *ie_bitmap,
uint32_t *num_vendor_oui, uint32_t *num_vendor_oui,
struct probe_req_whitelist_attr *ie_whitelist) struct probe_req_allowlist_attr *ie_allowlist)
{ {
uint32_t i = 0; uint32_t i = 0;
for (i = 0; i < PROBE_REQ_BITMAP_LEN; i++) for (i = 0; i < PROBE_REQ_BITMAP_LEN; i++)
ie_bitmap[i] = ie_whitelist->ie_bitmap[i]; ie_bitmap[i] = ie_allowlist->ie_bitmap[i];
*num_vendor_oui = ie_whitelist->num_vendor_oui; *num_vendor_oui = ie_allowlist->num_vendor_oui;
} }
/** /**
@@ -3197,7 +3197,7 @@ static QDF_STATUS send_scan_start_cmd_tlv(wmi_unified_t wmi_handle,
size_t len = sizeof(*cmd); size_t len = sizeof(*cmd);
uint16_t extraie_len_with_pad = 0; uint16_t extraie_len_with_pad = 0;
uint8_t phymode_roundup = 0; uint8_t phymode_roundup = 0;
struct probe_req_whitelist_attr *ie_whitelist = &params->ie_whitelist; struct probe_req_allowlist_attr *ie_allowlist = &params->ie_allowlist;
wmi_hint_freq_short_ssid *s_ssid = NULL; wmi_hint_freq_short_ssid *s_ssid = NULL;
wmi_hint_freq_bssid *hint_bssid = NULL; wmi_hint_freq_bssid *hint_bssid = NULL;
@@ -3225,8 +3225,8 @@ static QDF_STATUS send_scan_start_cmd_tlv(wmi_unified_t wmi_handle,
len += extraie_len_with_pad; len += extraie_len_with_pad;
len += WMI_TLV_HDR_SIZE; /* Length of TLV for array of wmi_vendor_oui */ len += WMI_TLV_HDR_SIZE; /* Length of TLV for array of wmi_vendor_oui */
if (ie_whitelist->num_vendor_oui) if (ie_allowlist->num_vendor_oui)
len += ie_whitelist->num_vendor_oui * sizeof(wmi_vendor_oui); len += ie_allowlist->num_vendor_oui * sizeof(wmi_vendor_oui);
len += WMI_TLV_HDR_SIZE; /* Length of TLV for array of scan phymode */ len += WMI_TLV_HDR_SIZE; /* Length of TLV for array of scan phymode */
if (params->scan_f_wide_band) if (params->scan_f_wide_band)
@@ -3290,10 +3290,10 @@ static QDF_STATUS send_scan_start_cmd_tlv(wmi_unified_t wmi_handle,
&cmd->mac_addr, &cmd->mac_addr,
&cmd->mac_mask); &cmd->mac_mask);
if (ie_whitelist->white_list) if (ie_allowlist->allow_list)
wmi_fill_ie_whitelist_attrs(cmd->ie_bitmap, wmi_fill_ie_allowlist_attrs(cmd->ie_bitmap,
&cmd->num_vendor_oui, &cmd->num_vendor_oui,
ie_whitelist); ie_allowlist);
buf_ptr += sizeof(*cmd); buf_ptr += sizeof(*cmd);
tmp_ptr = (uint32_t *) (buf_ptr + WMI_TLV_HDR_SIZE); tmp_ptr = (uint32_t *) (buf_ptr + WMI_TLV_HDR_SIZE);
@@ -3351,15 +3351,15 @@ static QDF_STATUS send_scan_start_cmd_tlv(wmi_unified_t wmi_handle,
buf_ptr += WMI_TLV_HDR_SIZE + extraie_len_with_pad; buf_ptr += WMI_TLV_HDR_SIZE + extraie_len_with_pad;
/* probe req ie whitelisting */ /* probe req ie allowlisting */
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC, WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC,
ie_whitelist->num_vendor_oui * sizeof(wmi_vendor_oui)); ie_allowlist->num_vendor_oui * sizeof(wmi_vendor_oui));
buf_ptr += WMI_TLV_HDR_SIZE; buf_ptr += WMI_TLV_HDR_SIZE;
if (cmd->num_vendor_oui) { if (cmd->num_vendor_oui) {
wmi_fill_vendor_oui(buf_ptr, cmd->num_vendor_oui, wmi_fill_vendor_oui(buf_ptr, cmd->num_vendor_oui,
ie_whitelist->voui); ie_allowlist->voui);
buf_ptr += cmd->num_vendor_oui * sizeof(wmi_vendor_oui); buf_ptr += cmd->num_vendor_oui * sizeof(wmi_vendor_oui);
} }
@@ -4880,10 +4880,10 @@ static QDF_STATUS send_scan_probe_setoui_cmd_tlv(wmi_unified_t wmi_handle,
uint32_t len; uint32_t len;
uint8_t *buf_ptr; uint8_t *buf_ptr;
uint32_t *oui_buf; uint32_t *oui_buf;
struct probe_req_whitelist_attr *ie_whitelist = &psetoui->ie_whitelist; struct probe_req_allowlist_attr *ie_allowlist = &psetoui->ie_allowlist;
len = sizeof(*cmd) + WMI_TLV_HDR_SIZE + len = sizeof(*cmd) + WMI_TLV_HDR_SIZE +
ie_whitelist->num_vendor_oui * sizeof(wmi_vendor_oui); ie_allowlist->num_vendor_oui * sizeof(wmi_vendor_oui);
wmi_buf = wmi_buf_alloc(wmi_handle, len); wmi_buf = wmi_buf_alloc(wmi_handle, len);
if (!wmi_buf) if (!wmi_buf)
@@ -4907,22 +4907,22 @@ static QDF_STATUS send_scan_probe_setoui_cmd_tlv(wmi_unified_t wmi_handle,
if (psetoui->enb_probe_req_sno_randomization) if (psetoui->enb_probe_req_sno_randomization)
cmd->flags |= WMI_SCAN_PROBE_OUI_RANDOM_SEQ_NO_IN_PROBE_REQ; cmd->flags |= WMI_SCAN_PROBE_OUI_RANDOM_SEQ_NO_IN_PROBE_REQ;
if (ie_whitelist->white_list) { if (ie_allowlist->allow_list) {
wmi_fill_ie_whitelist_attrs(cmd->ie_bitmap, wmi_fill_ie_allowlist_attrs(cmd->ie_bitmap,
&cmd->num_vendor_oui, &cmd->num_vendor_oui,
ie_whitelist); ie_allowlist);
cmd->flags |= cmd->flags |=
WMI_SCAN_PROBE_OUI_ENABLE_IE_WHITELIST_IN_PROBE_REQ; WMI_SCAN_PROBE_OUI_ENABLE_IE_WHITELIST_IN_PROBE_REQ;
} }
buf_ptr += sizeof(*cmd); buf_ptr += sizeof(*cmd);
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC, WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC,
ie_whitelist->num_vendor_oui * sizeof(wmi_vendor_oui)); ie_allowlist->num_vendor_oui * sizeof(wmi_vendor_oui));
buf_ptr += WMI_TLV_HDR_SIZE; buf_ptr += WMI_TLV_HDR_SIZE;
if (cmd->num_vendor_oui != 0) { if (cmd->num_vendor_oui != 0) {
wmi_fill_vendor_oui(buf_ptr, cmd->num_vendor_oui, wmi_fill_vendor_oui(buf_ptr, cmd->num_vendor_oui,
ie_whitelist->voui); ie_allowlist->voui);
buf_ptr += cmd->num_vendor_oui * sizeof(wmi_vendor_oui); buf_ptr += cmd->num_vendor_oui * sizeof(wmi_vendor_oui);
} }
@@ -5288,7 +5288,7 @@ static QDF_STATUS send_pno_start_cmd_tlv(wmi_unified_t wmi_handle,
uint8_t *buf_ptr; uint8_t *buf_ptr;
uint8_t i; uint8_t i;
int ret; int ret;
struct probe_req_whitelist_attr *ie_whitelist = &pno->ie_whitelist; struct probe_req_allowlist_attr *ie_allowlist = &pno->ie_allowlist;
connected_nlo_rssi_params *nlo_relative_rssi; connected_nlo_rssi_params *nlo_relative_rssi;
connected_nlo_bss_band_rssi_pref *nlo_band_rssi; connected_nlo_bss_band_rssi_pref *nlo_band_rssi;
@@ -5308,7 +5308,7 @@ static QDF_STATUS send_pno_start_cmd_tlv(wmi_unified_t wmi_handle,
QDF_MIN(pno->networks_cnt, WMI_NLO_MAX_SSIDS); QDF_MIN(pno->networks_cnt, WMI_NLO_MAX_SSIDS);
len += sizeof(nlo_channel_prediction_cfg); len += sizeof(nlo_channel_prediction_cfg);
len += sizeof(enlo_candidate_score_params); len += sizeof(enlo_candidate_score_params);
len += sizeof(wmi_vendor_oui) * ie_whitelist->num_vendor_oui; len += sizeof(wmi_vendor_oui) * ie_allowlist->num_vendor_oui;
len += sizeof(connected_nlo_rssi_params); len += sizeof(connected_nlo_rssi_params);
len += sizeof(connected_nlo_bss_band_rssi_pref); len += sizeof(connected_nlo_bss_band_rssi_pref);
@@ -5425,20 +5425,20 @@ static QDF_STATUS send_pno_start_cmd_tlv(wmi_unified_t wmi_handle,
WMITLV_GET_STRUCT_TLVLEN(enlo_candidate_score_params)); WMITLV_GET_STRUCT_TLVLEN(enlo_candidate_score_params));
buf_ptr += sizeof(enlo_candidate_score_params); buf_ptr += sizeof(enlo_candidate_score_params);
if (ie_whitelist->white_list) { if (ie_allowlist->allow_list) {
cmd->flags |= WMI_NLO_CONFIG_ENABLE_IE_WHITELIST_IN_PROBE_REQ; cmd->flags |= WMI_NLO_CONFIG_ENABLE_IE_WHITELIST_IN_PROBE_REQ;
wmi_fill_ie_whitelist_attrs(cmd->ie_bitmap, wmi_fill_ie_allowlist_attrs(cmd->ie_bitmap,
&cmd->num_vendor_oui, &cmd->num_vendor_oui,
ie_whitelist); ie_allowlist);
} }
/* ie white list */ /* ie allow list */
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC, WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC,
ie_whitelist->num_vendor_oui * sizeof(wmi_vendor_oui)); ie_allowlist->num_vendor_oui * sizeof(wmi_vendor_oui));
buf_ptr += WMI_TLV_HDR_SIZE; buf_ptr += WMI_TLV_HDR_SIZE;
if (cmd->num_vendor_oui != 0) { if (cmd->num_vendor_oui != 0) {
wmi_fill_vendor_oui(buf_ptr, cmd->num_vendor_oui, wmi_fill_vendor_oui(buf_ptr, cmd->num_vendor_oui,
ie_whitelist->voui); ie_allowlist->voui);
buf_ptr += cmd->num_vendor_oui * sizeof(wmi_vendor_oui); buf_ptr += cmd->num_vendor_oui * sizeof(wmi_vendor_oui);
} }
@@ -8105,10 +8105,10 @@ static inline uint8_t *copy_hw_mode_in_init_cmd(struct wmi_unified *wmi_handle,
static inline void copy_fw_abi_version_tlv(wmi_unified_t wmi_handle, static inline void copy_fw_abi_version_tlv(wmi_unified_t wmi_handle,
wmi_init_cmd_fixed_param *cmd) wmi_init_cmd_fixed_param *cmd)
{ {
int num_whitelist; int num_allowlist;
wmi_abi_version my_vers; wmi_abi_version my_vers;
num_whitelist = sizeof(version_whitelist) / num_allowlist = sizeof(version_whitelist) /
sizeof(wmi_whitelist_version_info); sizeof(wmi_whitelist_version_info);
my_vers.abi_version_0 = WMI_ABI_VERSION_0; my_vers.abi_version_0 = WMI_ABI_VERSION_0;
my_vers.abi_version_1 = WMI_ABI_VERSION_1; my_vers.abi_version_1 = WMI_ABI_VERSION_1;
@@ -8117,8 +8117,8 @@ static inline void copy_fw_abi_version_tlv(wmi_unified_t wmi_handle,
my_vers.abi_version_ns_2 = WMI_ABI_VERSION_NS_2; my_vers.abi_version_ns_2 = WMI_ABI_VERSION_NS_2;
my_vers.abi_version_ns_3 = WMI_ABI_VERSION_NS_3; my_vers.abi_version_ns_3 = WMI_ABI_VERSION_NS_3;
wmi_cmp_and_set_abi_version(num_whitelist, version_whitelist, wmi_cmp_and_set_abi_version(num_allowlist, version_whitelist,
&my_vers, &my_vers,
(struct _wmi_abi_version *)&wmi_handle->fw_abi_version, (struct _wmi_abi_version *)&wmi_handle->fw_abi_version,
&cmd->host_abi_vers); &cmd->host_abi_vers);
@@ -17900,7 +17900,7 @@ static void populate_tlv_events_id(uint32_t *event_ids)
WMI_PDEV_CTL_FAILSAFE_CHECK_EVENTID; WMI_PDEV_CTL_FAILSAFE_CHECK_EVENTID;
event_ids[wmi_vdev_bcn_reception_stats_event_id] = event_ids[wmi_vdev_bcn_reception_stats_event_id] =
WMI_VDEV_BCN_RECEPTION_STATS_EVENTID; WMI_VDEV_BCN_RECEPTION_STATS_EVENTID;
event_ids[wmi_roam_blacklist_event_id] = WMI_ROAM_BLACKLIST_EVENTID; event_ids[wmi_roam_denylist_event_id] = WMI_ROAM_BLACKLIST_EVENTID;
event_ids[wmi_wlm_stats_event_id] = WMI_WLM_STATS_EVENTID; event_ids[wmi_wlm_stats_event_id] = WMI_WLM_STATS_EVENTID;
event_ids[wmi_peer_cfr_capture_event_id] = WMI_PEER_CFR_CAPTURE_EVENTID; event_ids[wmi_peer_cfr_capture_event_id] = WMI_PEER_CFR_CAPTURE_EVENTID;
event_ids[wmi_pdev_cold_boot_cal_event_id] = event_ids[wmi_pdev_cold_boot_cal_event_id] =