Commit Graph

1868 Commits

Author SHA1 Message Date
Anirban Sirkhell
16f17a6cb1 qca-wifi: Add commands to get max users for MU
Provide commands to retrieve the max users
per-PPDU for Uplink and Downlink MU transmissions

Change-Id: Ic26e0bb2fb082750c1d99fdcc9c742ecde76c7f6
2020-08-15 23:21:20 -07:00
Linux Build Service Account
4a52c19662 Merge "qca-wifi: Make the initialization of dfs->dfs_soc_obj unconditional" 2020-08-15 14:06:11 -07:00
Linux Build Service Account
7f866aa936 Merge "qca-wifi: use the generic peer iterate API" 2020-08-15 06:10:14 -07:00
Linux Build Service Account
22d1f03d21 Merge "qca-wifi: remove DP peer back pointer in DP AST entry" 2020-08-15 06:10:13 -07:00
Linux Build Service Account
14af85a120 Merge "qca-wifi: Access wlanstats context using CDP API" 2020-08-14 21:07:16 -07:00
Linux Build Service Account
8c5584a701 Merge "qca-wifi: Add versions for RDK Plume Stats" 2020-08-14 21:07:15 -07:00
Linux Build Service Account
f9d66ccb65 Merge "qca-wifi: Display new metrics in peerstats tool" 2020-08-14 21:07:15 -07:00
Linux Build Service Account
370b6735d6 Merge "qca-wifi: FR 61891 Per Client Link Quality Metrics" 2020-08-14 21:07:15 -07:00
Ananya Barat
74a849e197 qca-wifi: Make the initialization of dfs->dfs_soc_obj unconditional
With the current implementation dfs->dfs_soc_obj was initialized in
function dfs_agile_soc_obj_init under the macro QCA_SUPPORT_AGILE_DFS
and ATH_SUPPORT_ZERO_CAC_DFS both of which are disabled for the low
memory profiles. Remove the initialization from here and unconditionally
initialize it in wlan_dfs_pdev_obj_create_notification.

Change-Id: I207ed4e7d5cb42100e5bf1cbf55cdd9de13f35b8
2020-08-14 08:24:17 -07:00
Linux Build Service Account
ad2999e347 Merge "qca-wifi: Add cmd support for MBSSID control frame configuration" 2020-08-13 21:36:19 -07:00
Linux Build Service Account
6de65a6236 Merge "qca-wifi: Add Puncture Band command support" 2020-08-13 21:36:19 -07:00
phadiman
24f86413a4 qca-wifi: Access wlanstats context using CDP API
Peer wlanstats context was accessed directly
without any protection, if peer was deleted
there was no way to know if PPDU cookie holds
correct wlanstats ctx

Hence to protect the peer wlanstats ctx access
it using CDP API using stats context protection

CRs-Fixed: 2740231
Change-Id: I9b07970c691099f3c9b0175d550508b50db9ac8a
2020-08-13 07:24:20 -07:00
Linux Build Service Account
1c9444af72 Merge "qca-wifi: Add print before clearing MVR pdev flag" 2020-08-13 07:06:51 -07:00
phadiman
c16f1049e2 qca-wifi: Add versions for RDK Plume Stats
Currently there is only a provision to enable
and disable RDK stats with enable_rdk_stats
INI configuration

Since there are new set of statistic metrics added
as part of RDK stats, add version information into
CFG INI configuration such as

0. For disabling stats (By default)
1. For enabling peer rate stats only
2. For enabling peer link metrics only
3. For enabling both statistics

This is done to avoid unncessary CPU consumption
and memory consumption for each peer, depending on
the requirement the version can be enabled

CRs-Fixed: 2740231
Change-Id: I1cfd8c75dd4f3236a5b07263573fd5ddbe1dc1c3
2020-08-13 04:37:46 -07:00
Rhythm Patwa
1c5cbefadc qca-wifi: Add cmd support for MBSSID control frame configuration
Add cmd support for MBSSID control frame configuration.

Change-Id: I3ebc8b226d9fb33d4eefb24102f0afe9d80c28ff
2020-08-13 02:17:17 -07:00
Rhythm Patwa
e1333ed1dd qca-wifi: Add Puncture Band command support
Add 'puncture_band' commmand support to configure the Punctured band
setting for AP. The command takes a bitmap argument, where each
bit corresponds to a 20MHz band. For instance for AP configured
for 80MHz BW the least 4 bits will be valid bits.

Change-Id: Ic3ce03776477c63af8c1d735a7eacd5aa19dd51f
CRs-fixed: 2749137
2020-08-13 02:15:33 -07:00
Linux Build Service Account
3e19daeeca Merge "qca-wifi: Support to add get_call_map to get dump" 2020-08-12 21:06:28 -07:00
phadiman
d88a0fb009 qca-wifi: Display new metrics in peerstats tool
Display new metrics in peerstats tool

Tx Stats
1. num_ppdus
2. num_bytes
3. phy_rate_actual_su
4. phy_rate_actual_mu
5. ofdma_usage
6. mu_mimo_usage
7. bw_usage_avg
8. bw_usage_max
9. pkt_error_rate

Rx Stats
1. num_ppdus
2. num_bytes
3. phy_rate_actual_su
4. phy_rate_actual_mu
5. ofdma_usage
6. mu_mimo_usage
7. bw_usage_avg
8. bw_usage_max
9. pkt_error_rate

This tool runs as daemon and listens to netlink
events sent by driver

CRs-Fixed: 2740231
Change-Id: I3f967ac2beae61ed60f0262352b72fe2d9ec1e4d
2020-08-12 10:08:36 -07:00
phadiman
8ad7491fdd qca-wifi: FR 61891 Per Client Link Quality Metrics
Adding new metrics to existing RDK Plume statistics

PHY Metrics Tx

1. phy_rate_actual_su - Single User Rate
2. phy_rate_actual_mu - Multi User Rate
3. ofdma_usage -  OFDMA Usage count
4. mu_mimo_usage - MU MIMO Usage count
5. bw_usage_avg - Average BW
6. bw_usage_max - Max BW Ratio to total PPDUs
7. pkt_error_rate(mpdu) - MPDU packet error rate
8. num_ppdus - Number of PPDUs
9. num_bytes - Number of PPDU bytes

PHY Metrics Rx

1. phy_rate_actual_su - Single User Rate
2. phy_rate_actual_mu - Multi User Rate
3. ofdma_usage -  OFDMA Usage count
4. mu_mimo_usage - MU MIMO Usage count
5. bw_usage_avg - Average BW
6. bw_usage_max - Max BW Ratio to total PPDUs
7. pkt_error_rate(mpdu) - MPDU packet error rate
8. num_ppdus - Number of PPDUs
9. num_bytes - Number of PPDU bytes

RSSI
1. su_rssi - Single user Rx RSSI
2. ack_rssi - ACK RSSI

CRs-Fixed: 2740231
Change-Id: Ie62157195d87f61640aa7bc65b2f02f629ff195d
2020-08-12 09:54:08 -07:00
Himanshu Batra
c0960491d8 qca-wifi: Add print before clearing MVR pdev flag
Add print before clearing MVR pdev flag

Change-Id: I28ff2747874f95aaa0a9b5b1e025c23603354de0
CRs-Fixed: 2751336
2020-08-12 18:45:24 +05:30
Linux Build Service Account
5b50c70f81 Merge "qca-wifi: Added condition checks for pdev to avoid deference issue." 2020-08-12 05:36:38 -07:00
Jhalak Naik
d6380797ea qca-wifi: Support to add get_call_map to get dump
Required for Instrumentation of code using cc_func() to find errors
and trace function calls.
This supports printing dump of functions that are called during
test case execution for CBT.

Change-Id: Idbf5e84deb8538dc85dadcbca9ad07bb57a67db9
2020-08-12 13:48:03 +05:30
Linux Build Service Account
1e7f66ac00 Merge "qca-wifi: Correcting the Stats decrement logic" 2020-08-11 21:37:37 -07:00
Linux Build Service Account
9d9f55737e Merge "qcawifi: Process full mon via nr_frags" 2020-08-11 19:37:03 -07:00
Linux Build Service Account
ebb3f586b5 Merge "qca-wifi: Add support to set DCS wideband policy" 2020-08-11 11:06:10 -07:00
Linux Build Service Account
d8c0ea1da3 Merge "qca-wifi: Define radar found action on agile channel" 2020-08-11 06:43:00 -07:00
Chaithanya Garrepalli
fe5cbcd4ab qca-wifi: use the generic peer iterate API
Use the peer iterate APIs to iterate through peers
in vdev list at vdev, pdev, soc level

Change-Id: I983d825a780d76370ecb652e5151029df0334a26
2020-08-11 03:35:15 -07:00
Chaithanya Garrepalli
1052e4d52b qca-wifi: remove DP peer back pointer in DP AST entry
Remove peer pointer in AST entry and store peer_id instead
to avoid access of peer memory without taking reference

Change-Id: I1e9c2a6880b3582866b821bf56a8400e056665f2
2020-08-11 16:04:23 +05:30
Aditya Sathish
a0e771746c qca-wifi: Add support to set DCS wideband policy
Add support to set the DCS wideband policy through
cfg80211tool.

CRs-Fixed: 2750494
Change-Id: If6c8b5a32f9af6f41adb752b19a2a3d7b0221a65
2020-08-11 01:48:00 -07:00
Ankit Kumar
3976ff66ae qca-wifi: Correcting the Stats decrement logic
Correcting cp stats macro to call decrement api to do
decrement stats operation.

Change-Id: I3202ed20974cadde6dce27e2cf5ba187ec538ce0
2020-08-11 14:07:28 +05:30
Linux Build Service Account
cef47fb1c8 Merge "qca-wifi: Add cmd support to MSCS Procedures" 2020-08-07 14:36:07 -07:00
Linux Build Service Account
41523bb610 Merge "qca-wifi: use dp_vdev_bss_peer_get API to get bss peer" 2020-08-07 04:36:26 -07:00
Vignesh U
84f43ea5df qca-wifi: Define radar found action on agile channel
The radar found action on a agile channel is a WIN specific action. It was
combined with the current channel radar detection making the function huge
and difficult to read.

Separate the WIN specific agile radar action and define in it as WIN
specific.

Change-Id: I79ed61ae80a2870dff9775b9435069c50584ca83
CRs-fixed: 2738015
2020-08-07 02:30:48 -07:00
Ankit Kumar
f7e514b4df qcawifi: Process full mon via nr_frags
process mon destination buffer via nr_frags if
RX_MON_MEM_FRAG is enabled.

Change-Id: I3c191a13a3a3be01ad4205702f5dcaebe02f9270
CRs-Fixed: 2741793
2020-08-07 01:48:17 -07:00
Linux Build Service Account
2c3cc885c5 Merge "qca-wifi-oss: Fix compilation for 16M flash profile" 2020-08-06 19:07:51 -07:00
Linux Build Service Account
cc33811c9f Merge "qca-wifi-oss: Adapt Agile DFS for Wideband (5G-6G)" 2020-08-06 15:06:54 -07:00
Ramanathan Choodamani
7c51af3006 qca-wifi: Add cmd support to MSCS Procedures
Adds support to enable/disable Mirrored Streaming
Classification Service Procedure in vap level.

Change-Id: I2e27f0be294e1792ba9a6ad7a0354515c5ee6cc0
CRs-Fixed: 2687735
2020-08-06 11:04:39 -07:00
suresh
9efded8eb1 qca-wifi: Added condition checks for pdev to avoid deference issue.
In few scenarios,dp_get_pdev_lmac_id shall returns null.
To avoid this added a null pointer check to avoid the dereference issues.

Change-Id: I5a859c81295a49afd3fc083c6611eceec414d2ca
2020-08-06 19:47:54 +05:30
Ananya Barat
20960a62c4 qca-wifi-oss: Adapt Agile DFS for Wideband (5G-6G)
In case of a current channel being a 5GHz DFS channel, a channel change
may be triggered by a radar detection. The next channel is automatically
selected by a random channel selection algorithm in this case. However,
if the current channel is a 6GHz channel and we need to switch to a 5GHz
channel then 5GHz channel should be provided a user or another channel
selection algorithm. At the time, when the device is starting its
operation on a 6GHz channel , the next 5GHz channel that a user
(or another another channel selection algorithm) is going to select
is unknown. Therefore, the probability that the next channel selected
by a user (or another channel selection algorithm) will match the RCAC
channel returned by random channel selection, is very low. Therefore,
do not select a random channel for RCAC if the current operating channel
is a 6G channel for now.

Change-Id: I9aef64cea1d442fc31b2314da08baba7769650f2 has the following
change :
The macro WLAN_IS_CHAN_MODE_x(_c) checked if mode is 'x' as well as if
the channel was a 5G channel. However with wideband changes this macro
will return true if mode is 'x' for both 5G and 6G channels. Hence adding
a separate 5G check for functions where the channel must be a 5G channel.

With WLAN_IS_CHAN_MODE_x(_c) now a 6G channel will pass
the checks in dfs_is_precac_done which would cause regression. Hence a
5G check has been added to prevent this.

Change-Id: Iee5e965f0bc99565cb5ea77d88998d5530f24153
2020-08-06 03:57:52 -07:00
Linux Build Service Account
3266f2044c Merge "qca-wifi: Introduce enums for DFS postNOL frequency and mode" 2020-08-06 03:36:43 -07:00
Ananya Barat
9df9627c7e qca-wifi-oss: Fix compilation for 16M flash profile
For the 16M low memory profile a few feature macros were disabled which
led to unavailability of a few APIs.

Add empty definitions for these APIs when the corresponding feature
macros are disabled.

Change-Id: I1f7790196ae8383eac40f5869992fd06ede3e5dc
2020-08-06 02:51:38 -07:00
Chaithanya Garrepalli
243000f513 qca-wifi: add module id for dp peer reference
Use appropriate module id while taking peer
reference

Change-Id: Ifd4c80ff304f599700192a340e60c7f65214f2b7
2020-08-06 12:02:22 +05:30
Chaithanya Garrepalli
78363d7d9c qca-wifi: use dp_peer_find_by_id API to get the peer
Use common dp_peer_find_by_id API as it is taking
peer refcount now

Change-Id: Ib2604f1f7d9acc9ffcc33969fc8900089cd245d2
2020-08-06 10:52:55 +05:30
Chaithanya Garrepalli
ccf15df948 qca-wifi: use peer_list_lock instead of peer_ref_mutex
Iterate vdev->peer_list under vdev->peer_list_lock

Change-Id: If69016109cf47681a9616adde59c5d73aaba5217
2020-08-06 10:42:59 +05:30
Chaithanya Garrepalli
a578134de9 qca-wifi: use dp_vdev_bss_peer_get API to get bss peer
Use dp_vdev_bss_peer_get to get the BSS peer instead of
using backpointer in vdev

Change-Id: Ic824b4a2bab044fb4f729bf507ac74f3a7e973a9
2020-08-06 10:33:53 +05:30
Linux Build Service Account
45a75f3aa5 Merge "qca-wifi: FR47702 TWT stats, add TWT stats in control path stats" 2020-08-05 06:06:20 -07:00
Vignesh Mohan
42c8cdafef qca-wifi: Introduce enums for DFS postNOL frequency and mode
Introduce enums for set DFS postNOL frequency and mode and add
the corresponding members in the set and get command structure.

Change-Id: I3e25ee3aaf0c165a2923667a3210f2cc8af0af4a
2020-08-05 16:16:20 +05:30
Linux Build Service Account
b39ac13e75 Merge "qca-wifi-oss: Design a unified SM for Agile PreCAC and RCAC" 2020-08-04 08:07:37 -07:00
Linux Build Service Account
e9e33d66c2 Merge "qca-wifi: Add a command to enable additional triplets" 2020-08-04 06:07:32 -07:00
Linux Build Service Account
cad01dda7d Merge "qca-wifi: add fix to send ppdu in sequential" 2020-08-03 18:40:24 -07:00