Commit Graph

9405 Commits

Author SHA1 Message Date
Sridhar Selvaraj
b257b236b0 qcacmn: Enable data path polling mode based on INI
Enable data path polling mode based on INI
dp_poll_mode_enable. Configure all data path
interfacing rings (UMAC/LMAC) and Monitor rings
in polling mode when NSS offload is disabled.
By default, poll mode is disabled.

Change-Id: I0e51207042811f517a423eb7276e3f33c5313450
2020-09-03 01:58:50 -07:00
Balaganapathy Palanisamy
e5b0acba4d qcacmn: Add config option for each WMI log buffer size
Make each WMI debug log buffer size configurable through
compile time config option. Now memory constraint platforms
can use these config options. Use default values if no
values are configured.

Change-Id: Ibc924e12a56ae7d529aea91e55bcc0bbce72ac7e
CRs-Fixed: 2741465
2020-09-03 01:58:47 -07:00
Min Liu
0e80359c3e qcacmn: Additional stats through QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO
This commit introduces additional stats to query through
QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO.

Change-Id: Ibc713d1da81a5bf8fa267a205680aec5539630ce
CRs-Fixed: 2758484
2020-09-03 01:58:42 -07:00
Rakesh Pillai
6b95713d00 qcacmn: Skip history record if memory allocation fails
Skip the recording of rx error ring and rx reinject
history if the memory allocation for the history
fails during the attach.

Change-Id: Ifa74937d0c37e6013ccaec851dab7d9e53057ac2
CRs-Fixed: 2767579
2020-09-03 01:58:39 -07:00
suresh
a8d0770765 qcacmn: Remove direct attach reference in makefile
Remove direct attach directory references in Kbuild
of spectral source code.

Also, remove DA_SUPPORT macro specific code changes

Change-Id: I5a06e9bd3f40ee6d177951562836c4ea7647f98b
2020-09-03 01:58:36 -07:00
suresh
0ddf3353fd qcacmn: Remove DA source code dependency
Remove DA header file reference and other DA
dependent code changes.

Change-Id: I49804f753390b8952e45679b178162dd60bb43f6
2020-09-03 01:58:32 -07:00
gaurank kathpalia
a34d51b747 qcacmn: Add get API for assoc disallowed param
Add public API to get the value of assoc disallowed
param.

Change-Id: Id97219be71a54a2edc5fb266026710387dfee143
CRs-Fixed: 2767492
2020-09-02 23:52:00 -07:00
Linux Build Service Account
8f922f5286 Merge "qcacmn: Avoid peer free notification for self peer" 2020-09-02 16:36:34 -07:00
Linux Build Service Account
d1c20a8502 Merge "qcacmn: Map IPA tx buffers as part of IPA ready callback" 2020-09-02 16:36:34 -07:00
Linux Build Service Account
fe88e92fa2 Merge "qcacmn: Don't take peer ref by id on AST cleanup in unmap handling" 2020-09-02 16:36:33 -07:00
Vivek
7f45fb6521 qcacmn: Avoid peer free notification for self peer
The peer free notification is sent for all peers
including self peer. The primiary intent of using this notification
is to make sure all the connected peers are disconnected.

Also when the peer free notification is sent, the peer is already
freed and we cannot identify if the peer free is for self peer

The self peer free notification for STA is causing issues
where BSS peer delete is skipped as part of bringing down the VDEV SM.

CRs-Fixed: 2755824
Change-Id: I276177788a51dcdd948caeb734eaa896edf520dd
2020-09-02 15:47:35 -07:00
Nisha Menon
d95c9bb377 qcacmn: Map IPA tx buffers as part of IPA ready callback
Register IPA ready callback with IPA driver. The callback
sets ipa_is_ready flag in the host driver and kick starts
the ipa init sequence as part of which the Tx buffers are
mapped to IPA.
None of the IPA APIs are invoked until IPA ready registration
is complete.

Change-Id: I6570b2b347052164a274fbc22358ebf0719dcabf
CRs-Fixed: 2735107
2020-09-02 13:51:44 -07:00
Yeshwanth Sriram Guntuka
004e29eceb qcacmn: Don't take peer ref by id on AST cleanup in unmap handling
In the scanerio where peer teardown and peer map happen
in parallel, AST entries could get added to the peer AST
list after cleanup happens as part of peer teardown. AST
cleanup as part of peer unmap handling would not remove
the entry from the peer AST list. This is because
dp_peer_get_ref_by_id returns NULL as peer state is moved
to logically deleted state.

Fix is to not take peer ref by id and use the peer
argument passed in which already holds ref in the
peer unmap handling.

Change-Id: I844d3f07e9eec962d44bbfba851ad46f350e4f97
CRs-Fixed: 2766779
2020-09-02 13:51:40 -07:00
Linux Build Service Account
b6a978ce42 Merge "qcacmn: Define feature flag for broadcast TWT" 2020-09-02 12:07:15 -07:00
Linux Build Service Account
3b3644f6a2 Merge "qcacmn: populate vdev extension statistics" 2020-09-02 12:07:15 -07:00
Gerrit - the friendly Code Review server
4bc9d9a8d9 Merge changes into wlan-cmn.driver.lnx.2.0 2020-09-02 12:00:02 -07:00
Shashikala Prabhu
99d3131912 qcacmn: Define feature flag for broadcast TWT
Define feature flag for broadcast TWT.

Change-Id: I629aefb384773c875881eb5d1d78349e1574e409
CRs-Fixed: 2766013
2020-09-02 10:46:56 -07:00
nobelj
908218f1fa qcacmn: populate vdev extension statistics
populated fils discovery, unsolicited probe response from
vdev extension stats and populated to APSTATS.

Change-Id: I762d7f36fa45f9048cf591bde3550a415e23bdcb
2020-09-02 10:46:52 -07:00
Debasis Das
ec3e25bf03 qcacmn: Fix array index out of bounds
The 2nd argument passed to the function is_primaryseg_expected
is used to index the array spectral->rparams.fragmentation_160 which
is of size 2.If the value of the argument is greater than or equal
to 2, the indexing will lead to array-out-of-bounds access.
The fix is adding the relevant validation check.

Change-Id: Iccf98b06c0546ad11ec67e93e14183214100107f
2020-09-02 08:48:31 -07:00
Mainak Sen
14543e310a qcacmn: Add qdf and DP module id for MSCS
Add MSCS module id in QDF and DP
Change-Id: I1b5186828c2ef236bb1f05c8d54850ed37719926

Change-Id: I5049cd17e5e1ad73adc6a1d881e7882e3947796f
2020-09-02 08:48:28 -07:00
Srinivas Girigowda
67d43c98ee qcacmn: qdf: Remove QDF_MAC_ADDR_STR and QDF_MAC_ADDR_ARRAY
These two macros are obsolete and removed.
Use the below new macros
1. For logging MAC address in kernel or driver logs, use QDF_MAC_ADDR_FMT
   in combination with QDF_MAC_ADDR_REF
2. For other management interfaces like debugfs, sysfs, ioctl, wext,
   unit test code, non-production simulation SW use
   QDF_FULL_MAC_FMT and QDF_FULL_MAC_REF

Change-Id: I366ceddfbb86526ebf24366b18b9e847fc5e4cea
CRs-Fixed: 2767703
2020-09-02 06:52:53 -07:00
wadesong
173c0315d8 qcacmn: Fix some whunt build errors
In function __scm_handle_bcn_probe the two macros
QDF_MAC_ADDR_FMT and QDF_MAC_ADDR_REF should appear or
disappear together.

Change-Id: I8510de0b14903f788ec3183d6cc014d061715fcf
CRs-Fixed: 2767031
2020-09-02 06:52:49 -07:00
gaurank kathpalia
96fb5eb625 qcacmn: Take care of hw mode change in Connection mgr
Set hw mode before initiating connection request
and send vdev start to FW.

Change-Id: I658f0f03a68da923dbfa1213e278490bc1e874cf
CRs-Fixed: 2763364
2020-09-02 00:21:11 -07:00
Chaithanya Garrepalli
354d64f366 qcacmn: fix MCL WHUNT compilation error
Remove comma from dp_alert to avoid compilation issue

Change-Id: Iea6bf230855d0e931fc306284db4f7a368406ba8
2020-09-01 18:14:58 -07:00
Vinay Adella
87858900ba qcacmn: Add num freq, num nfdbr/dbm fields to WMI struct
wmi_host_pdev_nfcal_power_all_channels_event is updated to have
number of freq, nfdbr/nfdbm.
It is assumed that number of nfdbr & nfdbm are the same.

Change-Id: I23279bde55ee42744c50b23e199b04fbc070a87f
2020-09-01 05:37:37 -07:00
Abhishek Singh
78dc32e86c qcacmn: Fix the connection manager state machine init failure
The state machine infra require the states in sequence and addition
of if define in the wlan_sm_state_info will lead to state machine
init failure.

Fix this by removing the if define from the wlan_sm_state_info and
adding the dummy func for not define cases.

Change-Id: I5c5cb7837774954183a8ea1683c401441fb48bab
CRs-Fixed: 2764953
2020-09-01 05:37:34 -07:00
Hariharan Basuthkar
cad70ccae2 qcacmn: Add an API to get max TxPower for 6G TPE
Add an API wlan_reg_get_max_txpower_for_6g_tpe, to get the max tx-power
in PSD or EIRP format, based on the client type as follows:

 =======|===============================================
| S No. |      Default Client       | Subordinate Client|
|=======|===============================================|
| EIRP  | reg_get_channel_reg_power |       24 dBm      |
|       | _for_freq(pdev, freq)     |                   |
|-------------------------------------------------------|
| PSD   |          (-1) dBm         |        5 dBm      |
 =======================================================

Change-Id: Ic4946cd3e3f2e13469b0d5e2020e3fcda5040c2f
CRs-Fixed: 2765566
2020-09-01 05:37:31 -07:00
Ashish Kumar Dhanotiya
4fd0241eff qcacmn: Add os_if callbacks for connection manager
Add support for osif callbacks for connection manager.

Change-Id: Ibe86c94ac86e17f7ac42ad4c62426225f32c382e
CRs-Fixed: 2758023
2020-09-01 05:37:28 -07:00
Pavankumar Nandeshwar
857e8a7579 qcacmn: Reset the mask for rx err ring
Reset the mask for rx error ring when wlan nss
offload is enabled

Change-Id: Ieebcb9c1b6f47f255c8d193c8c0068b1cab9b22f
2020-09-01 01:50:07 -07:00
Pavankumar Nandeshwar
864714139c qcacmn: Use right register name
Use correct register name WFSS_CE_COMMON_REG_REG_BASE
for qcn9100

Change-Id: Ie7bc5bf66d9cda2b1a5603a5fc5b4a032efe29ce
2020-09-01 01:50:04 -07:00
Pavankumar Nandeshwar
a50e6800e9 qcacmn: Use correct headers for qcn9100
Use right headers files for qcn9100

Change-Id: I743b32e9fa1c7c3377462d55ca2b6d737af5f713
2020-09-01 01:50:01 -07:00
Pavankumar Nandeshwar
9e00273fe7 qcacmn: HIF layer changes for QCN9100 bringup
Initial changes made for bring up of
QCN9100 in HIF layer

Change-Id: I60c5f7e8d5456e6f2bfda8f99d873a30ca979ada
2020-09-01 01:49:57 -07:00
Pavankumar Nandeshwar
42c974a68d qcacmn: Target_if changes for QCN9100 bringup
Initial changes for bring up of QCN9100 in
target_if layer

Change-Id: I216cb52001b6e0c87a1c4b45990aad0ea83b4933
2020-09-01 01:49:54 -07:00
Pavankumar Nandeshwar
6756b1a5aa qcacmn: Data path changes for QCN9100 bringup
Initial changes made for bring up of
QCN9100 in data path and hal

Change-Id: I6cbe90428b552b6ff5733bc0f60bfb9f7933bc9a
2020-09-01 01:49:51 -07:00
Pavankumar Nandeshwar
52ea4c89d9 qcacmn: Add hal files for QCN9100
Create hal specific files for QCN9100

Change-Id: Ia752fc6bae8948184894d37984f54f8931b66d58
2020-09-01 01:49:48 -07:00
Uraj Sasan
0ba27943fb Revert "qcacmn: Hex dump generation for WMI events and cmds"
This reverts Change-Id: I18e46f683e35912cad717ca3b9cc3d1885315362

Change-Id: I2fffecdee294f08e694b12a744d35cf18d3fd66b
2020-09-01 01:49:45 -07:00
Gerrit - the friendly Code Review server
67de60051b Merge changes into wlan-cmn.driver.lnx.2.0 2020-08-31 23:29:35 -07:00
Linux Build Service Account
729a5d82e4 Merge "qcacmn: Return error incase of hif bus runtime resume" 2020-08-31 21:36:34 -07:00
Gerrit - the friendly Code Review server
546579689c Merge changes into wlan-cmn.driver.lnx.2.0 2020-08-31 21:33:40 -07:00
Arun Kumar Khandavalli
211a0c13bc qcacmn: Return error incase of hif bus runtime resume
For hif_bus_resume till now driver does panic whenever there is
failure. This is now handled in the cnss driver which will collect
the required dump to debug the link down.

Remove the bug_on, just log and return the status.

Change-Id: Ief4d86dd76c0bbde361b69b38894a944eec05aae
CRs-Fixed: 2765117
2020-08-31 20:02:17 -07:00
Bapiraju Alla
cc025bf48c qcacmn: Access scan_req_q under lock
Currently, list empty checks for scan_req_q is done outside the lock.
This is causing synchronization issue during scan and SSR/vdev delete
in parallel.

To avoid this, check for scan_req_q empty inside the lock.

This change also updates the return type of
wlan_schedule_scan_start_request to QDF_STATUS, which is expected by
caller API.

Change-Id: I8b6febdd98af7856fb047b1c9d852e4944a137b5
CRs-Fixed: 2763173
2020-08-31 17:21:33 -07:00
Hariharan Basuthkar
09a17690e8 qcacmn: Modify tx-power in Regdomain FCC15 and FCC16
The max txpower allowed in reg domain FCC15 (24dBm) and FCC16 (30 dBm)
as per the regulatory update #32 xls is applicable for 320 mhz. For
160 MHz,the powers need to be reduced by 3dbm.

This was missed in the change-id
I1b1bdaceb4fa48973fb33fca17465a25d05ae040, and the power values
applicable for 320MHz were added.

Therefore, modify the max txpower allowed in regdomain FCC15 as 21 dBm
and the max txpower allowed in regdomain FCC16 as 27 dBm.

Change-Id: I5f5fa4ce1ba17deedfd367d7d07ad6c27fe91aa0
CRs-Fixed: 2763480
2020-08-31 17:21:29 -07:00
Yeshwanth Sriram Guntuka
aefb2ac3d4 qcacmn: Free nbuf from htt misc list only when magic pattern is set
In the scenario where htt packets fail to be transmitted to
FW, they are added in both endpoint tx queue and misc list.
On receiving FW down indication before these packets are sent
to FW, endpoint tx queue is flushed and nbufs are freed. Post
this, the aforementioned nbufs would be unmapped/freed again in
htt_htc_misc_pkt_pool_free causing panic.

Fix is to free the nbuf via misc pool free only when the magic
pattern is set.

Change-Id: Ie523a7ca0054eb4104a107b3bddd50cb9b585275
CRs-Fixed: 2762829
2020-08-31 17:21:26 -07:00
Shivani Soni
466f147d05 qcacmn: Debugfs support for HTT stats
Debugfs support for HTT stats under compile
time flag "HTT_STATS_DEBUGFS_SUPPORT".

Change-Id: I44c4f11265fdb3b9d53a9ac545e2945854bb9a57
CRs-Fixed: 2760947
2020-08-31 17:21:22 -07:00
Pragaspathi Thilagaraj
4545f87402 qcacmn: Add support for num of chains configuration nl command
Add support to configure the number of chains over the nl
vendor command
QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_TX_CHAINS
QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_RX_CHAINS.

Change-Id: I81eeda348efe36e03620687e81c082d3869fcd35
CRs-Fixed: 2756676
2020-08-31 17:21:18 -07:00
Mohit Khanna
83aab371c4 qcacmn: Add support to use pre-alloc mem
Add logic to pre-allocate DP consistent memory and reuse later
on wifi on/off. This prevents memory fragmentation.

Change-Id: I1e5eb0da39950a5d028dd46d38ff715f283e53ff
CRs-Fixed: 2740889
2020-08-31 03:32:45 -07:00
Chaithanya Garrepalli
21787e51de qcacmn: remove the assert for DP peer state
Remove the ASSERTs added for DP peer state tranistion

Change-Id: I3fdf355fc6a79642b5527a35015f96d04e4272c0
2020-08-31 03:32:42 -07:00
Abhishek Ambure
4d5fb39e3e qcacmn: Add support for ocv support in RSN capability
WLAN_CRYPTO_RSN_CAP_OCV_SUPPORTED i.e. 0x4000 bit in RSN capability
is set to 1 to indicate that the STA supports operating channel
validation by including Operating Channel Information (OCI) in RSNA
exchanges and validates the information when received from another
STA that indicated this capability.

Change-Id: I8cbe640772c95573461ef2ef54c9e86778fe970f
CRs-Fixed: 2765802
2020-08-31 03:32:38 -07:00
Surya Prakash Raajen
ca1a15192f qcacmn: Update format and index for CE latency buffer
Update formate and index to traverse CE Latency stats circular buffer
and print them in more user readable format.

CRs-Fixed: 2676241
Change-Id: I7b3464cd00227dfcf98bbfa63a407055dd7cbf57
2020-08-31 03:32:35 -07:00
Jia Ding
e26d537266 qcacmn: Properly remove affinity hint for CE irqs
IRQ affinity for CE IRQs has been set to gold cores.
But affinity hint is not removed when freeing CE irqs.

Therefore remove affinity hint for CE irqs before freeing
them.

Change-Id: I7385a90955bc7e357badcd784e40d89022542d1a
CRs-Fixed: 2765373
2020-08-29 07:07:34 -07:00