Commit Graph

10064 Commits

Author SHA1 Message Date
Dustin Newman
d667adc719 qcacmn: hal: Initialize hal_hw_txrx_ops for 8074v1
Change hal_hw_txrx_ops struct to designated initializer syntax for
structs for 8074v1.

Change-Id: I1c9657c3a7d642f676167a7ce1026acb6e8db056
CRs-Fixed: 2837917
2021-01-11 04:06:45 -08:00
Dustin Newman
05bc154f2a qcacmn: hal: Initialize hal_hw_txrx_ops for 6750
Change hal_hw_txrx_ops struct to designated initializer syntax for
structs for 6750.

Change-Id: I6a6728eb9d5f7f9c3256a087726abd9a627fd14d
CRs-Fixed: 2837917
2021-01-11 04:06:41 -08:00
Dustin Newman
09bb264b52 qcacmn: hal: Initialize hal_hw_txrx_ops for 6390
Change hal_hw_txrx_ops struct to designated initializer syntax for
structs for 6390.

Change-Id: I0dc5abcee8787977970a2956181a413eb44fa3cb
CRs-Fixed: 2837917
2021-01-11 04:06:37 -08:00
Dustin Newman
5ad75b2f38 qcacmn: hal: Initialize hal_hw_txrx_ops for 9000
Change hal_hw_txrx_ops struct to designated initializer syntax for
structs for qcn9000.

Change-Id: I3144d5f184d196365e49d6afae843316fef0f1e2
CRs-Fixed: 2837917
2021-01-11 04:06:33 -08:00
Dustin Newman
549f0d8015 qcacmn: hal: Initialize hal_hw_txrx_ops for 6290
Change hal_hw_txrx_ops struct to designated initializer syntax for
structs for 6290.

Change-Id: I33f467b411c7695a838646bd7e370a75370b898c
CRs-Fixed: 2837917
2021-01-11 04:06:29 -08:00
Dustin Newman
b9ccb9248a qcacmn: hal: Initialize hal_hw_txrx_ops for 6490
Change hal_hw_txrx_ops struct to designated initializer syntax for
structs for 6490.

Change-Id: Icd72cd5e20f1ba88920f4a2bc8e1bc714959e9b7
CRs-Fixed: 2837917
2021-01-11 04:06:25 -08:00
Dustin Newman
d3ac31aacc qcacmn: hal: Initialize hal_hw_txrx_ops for 9100
Change hal_hw_txrx_ops struct to designated initializer syntax for
struct for qcn 9100.

Change-Id: Id2dda43e876f842dc969358c61c06cd85b800723
CRs-Fixed: 2837917
2021-01-11 04:06:21 -08:00
gaurank kathpalia
99e2ae6712 qcacmn: Fix compilation errors for roaming in connection manager
Fix compilation errors for roaming in connection manager.

Change-Id: If154b1b0ca4adfe9f398b37f6d4485de40e2e351
CRs-Fixed: 2849276
2021-01-11 01:52:52 -08:00
Santosh Anbu
45a300ce7b qcacmn: Support roaming request to connection manager
Add change to support roaming request to connection manager.

Change-Id: I7f580e042522a245fc6a263d0e8f8b32b2f693f7
CRs-Fixed: 2845076
2021-01-11 01:52:47 -08:00
Santosh Anbu
d788ea076d qcacmn: Add reassoc changes related to host roaming
Support reassoc request for host roaming

Change-Id: Iacb2950e314561c22ed1900de6522dd192cda12e
CRs-Fixed: 2845076
2021-01-11 01:52:41 -08:00
Vevek Venkatesan
bae1042f1c qcacmn: add wake_irq_type in HIF for power management
Add wake_irq_type in HIF layer for power management,
this helps in deciding to enable sync-up between
runtime suspend and wow resume in case of moselle.

Change-Id: I23a4d02d3ae7ec543a28174461996b84b18fd95d
CRs-Fixed: 2851265
2021-01-09 09:43:52 -08:00
Alan Chen
8db987a33c qcacmn: Define VENDOR_NLA_POLICY_IPVXXX_ADDR for IPV4/IPV6
Define VENDOR_NLA_POLICY_IPVXXX_ADDR for IPV4/IPV6 to address kernel
version dependency.

Change-Id: If73fe24dc29a65c043af6cf3d797a756a264f602
CRs-Fixed: 2851486
2021-01-09 04:46:50 -08:00
Deeksha Gupta
21ce9cf146 qcacmn: Prevent link down for SAP on non DFS channel
In SAP on non DFS channel, there are double votes for PCIe
link down and later if there is PCIe link up, this counter
sends D3 WoW case instead of D0 WoW case to firmware.

To fix this, In vdev restart case, if SAP is on non DFS
channel and previously it was on DFS channel then vote
for PCIe link down and if SAP is on DFS channel and
previously it was on non DFS channel then vote for PCIe
link up. Also, the PCIe link down should be needed if
vdev stop response is for DFS channel.

Change-Id: I817ffceb482091b8d9c5441d80abb43b7d0f866b
CRs-Fixed: 2849706
2021-01-09 01:36:51 -08:00
Ashish Kumar Dhanotiya
7ae06586a2 qcacmn: Resolve compilation issue for connection manager UTF
Currently there are few compilation issues for connection
manager UTF, with this change fix these compilation issues.

Change-Id: I974b336594685cf584090074365c749b6e1271b2
CRs-Fixed: 2851111
2021-01-08 18:46:50 -08:00
Jingxiang Ge
aad342aeb5 qcacmn: Cancel runtime suspend if acquired wakelock
Issue happens when
step 1: kernel pm core start to runtime suspend
step 2: host get wma_acquire_wakelock & send PDEV_SET_HW_MODE.
step 3: host send wow_enable cmd
step 4: wow suspend finished and wow resume happens as step2
	send pm_runtime_get
step 5: fw dop PDEV_SET_HW_MODE as enter wow mode

so host can't get PDEV_SET_HW_MODE_RESP from fw.

Fix is:
   Don't allow suspend if sending PDEV_SET_HW_MODE.

After change logical will be:
   1 if PDEV_SET_HW_MODE before send hif_pre_runtime_suspend->
   hif_runtime_pm_set_state_suspending, then wow suspend
   will return failure.
   2 if PDEV_SET_HW_MODE send after hif_pre_runtime_suspend->
   hif_runtime_pm_set_state_suspending, it will request resume
   and send after wow resume.

Change-Id: I91eea70f841cf9e5d6767f6005eb9662515657a6
CRs-Fixed: 2850561
2021-01-08 16:37:33 -08:00
Ashish Kumar Dhanotiya
7513cfccd4 qcacmn: Set WMI_CHAN_FLAG_DFS flag only in ap mode
Currently on vdev start WMI_CHAN_FLAG_DFS flag is being set
irrespective of the device mode which may lead to unexpected
behavior in FW.

To address above issue set WMI_CHAN_FLAG_DFS flag in vdev
start only if vdev is operating in ap mode.

Change-Id: I96b291ad137b96e40c6620c86f50860670595ae0
CRs-Fixed: 2808013
2021-01-08 14:32:28 -08:00
Yeshwanth Sriram Guntuka
cdd58a5a2d qcacmn: Change QDF per packet proto log level to info
QDF per packet proto log level is set to debug due to
which the info is not logged to console.

Fix is to change QDF per packet proto log level to info.

Change-Id: I64b6d577475ea6133ec0565ae459629b81c0929c
CRs-Fixed: 2847863
2021-01-08 09:57:12 -08:00
Rhythm Patwa
1ef2be6f05 qcacmn: Add support for Mesh mode WMI
Add support for Mesh mode configuration WMI.

Change-Id: I5954f44168cde7b2acb58a04b6b009ddbad1d90d
CRs-fixed: 2849073
2021-01-08 09:57:08 -08:00
sheenam monga
b9d73b5beb qcacmn: Add support to handle BIG_DATA_P2_EVENTID
Fw advertise big data stats in response of host
command WMI_VDEV_GET_BIG_DATA_P2_CMDID.

Add interface change to handle BIG_DATA_P2_EVENTID.

Change-Id: I906afb71eb7f6bf95cd967a69d56fa333ecae177
CRs-Fixed: 2848445
2021-01-08 04:09:21 -08:00
Tallapragada Kalyan
3ae6e993b4 qcacmn: add support for multi soc htt logger
add support for multi soc htt logger

Change-Id: Ic007fb2cdf8a504991b3e1b98cc49cb2a8246c52
2021-01-08 01:37:33 -08:00
Chaithanya Garrepalli
3ab152450d qcacmn: fix print format compilation errors
Fix print format compilation errors and remove
no-format compilation flag

Change-Id: I69cd0c2eedaa4f2b4189275bf639f48a2fa6b80b
2021-01-07 23:29:09 -08:00
Abhishek Ambure
4fb0c8fccb qcacmn: Add support to save gtk and set hlp data
Host add support to save gtk and set hlp data from fils ie of connect
response.

Change-Id: I5e6b9882359697f09a0935a9c07f3427dbe04cc2
CRs-Fixed: 2849123
2021-01-07 23:29:05 -08:00
gaurank kathpalia
5431b5345c qcacmn: Add legacy pointer in connection manager context
Add legacy pointer in connection manager context to use for RSO
and other connection manager legacy operations.

Change-Id: If3fdfc7d830fb15f6c2ef56cdd0b7b3dde7f5f36
CRs-Fixed: 2845981
2021-01-07 23:29:02 -08:00
Yu Tian
ab67bf289d qcacmn: Fix the error statistics field for CNE
rx_mpdu_missed statistics used by CNE records instances
of BA hole happens, not duplicated frames instances.
Fix this field with correct value to avoid incorrect
VOLTE switching.

Change-Id: I815b9a4caeb6eedf36be66f8650ca98d00542c60
CRs-Fixed: 2848460
2021-01-07 21:13:55 -08:00
Jyoti Kumari
82a2d30a28 qcacmn: Fix out of bound read issue in ESP ie parse
During esp ie parse from beacon/probe response, the data pointer
is getting read from esp ie and it's not validate while updating
to esp params which may cause out of bound read issue.

Validate data pointer before updating to esp params.

Change-Id: I1167b82248613cc65fcd7c70cdcfe57595de6b21
CRs-Fixed: 2842234
2021-01-07 19:11:32 -08:00
Mainak Sen
37a91751be qcacmn: Enable Peer authorization support in RX path
In security mode, allow only EAPOL frames in receive path
when peer is not authorized. This feature is enabled per VAP
based on vdev flag and will be applicable for all peers in that
VAP

Change-Id: Ic5dea09c2083f31e8cd301a0cdc3565f247b735c
2021-01-07 16:48:52 -08:00
Jinwei Chen
6676daab7d qcacmn: fix incorrect radiotap rssi for monitor frame
For lithium based chip, the rssi_comb value fetched from monitor
buffer TLV is in unit dBm already, if plus noise_floor value in
qdf_nbuf_update_radiotap() again, then the rssi showed in wireshark
will be incorrect.

Convert rssi_comb to unit dB and not impact legacy chip in
qdf_nbuf_update_radiotap().

Change-Id: I889a15f39ebc639386405fb0aae1909c0cce75e0
CRs-Fixed: 2844896
2021-01-07 14:36:08 -08:00
Vignesh Mohan
7bf41957c0 qcacmn: Use 160MHz center while calculating subchannels
Use 160MHz center while calculating subchannels.

Change-Id: I2059ebce90624a5bddfc8787380de6c59625d44e
2021-01-07 14:36:04 -08:00
Rajasekaran Kalidoss
d7ec7b4010 qcacmn: Add support to handle twt notify event
Add support to handle twt notify event from firmware.

Change-Id: Ia4a84b0f3cfb76401681707c08e8169d07dacdbd
CRs-Fixed: 2847179
2021-01-07 10:29:02 -08:00
Shwetha G K
d384cff416 qcacmn: Populate additional parameters from CFR capture event
Add CFO, agc_gain and rx start timestamp related parameters
to wmi_cfr_peer_tx_event_param and populate the same with
data from FW peer tx event.

Change-Id: I462fa56a854b18d1f9b46d1e14eea85da0d45f23
2021-01-07 08:18:07 -08:00
Shwetha G K
13349de3b8 qcacmn: Populate additional params to CFR info
HAL changes to populate agc gain info, CFO and rx_start_ts
parameters to CFR info

Change-Id: I71ae6bf94095e82053d59114a6ae4bdb6b4586d2
2021-01-07 08:18:03 -08:00
Shwetha G K
ff664f8bb9 qcacmn: Populate additional cfr parameters to cfr info
Populate agc gain info, CFO and rx_start_ts to cfr info

Change-Id: I5f841b25ee55a9ca890012ebddfaa8c57f606add
2021-01-07 08:17:59 -08:00
Shwetha G K
42a2faa714 qcacmn: Extract additional info to cfr metadata
Extract agc gain information, CFO & rx_start_ts from
rx status and cfr peer capture event to CFR host metadata

Change-Id: Id896554f1da6920bd3eeced1298b07857d41a68b
2021-01-07 08:17:56 -08:00
Shwetha G K
44d132cc27 qcacmn: Add additional parameters to CFR meta data
Add per chain agc gain in dB information, CFO & rx_start_ts
fields to CFR metadata

Change-Id: I6af9c4212fe5a0bed6e51516d1c446155cea63aa
2021-01-07 08:17:52 -08:00
Shwetha G K
d11c7baf48 qcacmn: Update the cfr_metadata_len of cfr header
Update the cfr_metadata_len of cfr header

Change-Id: I85f0d4c1637b93608cebb77d6e8ea41b3d1cb713
2021-01-07 08:17:48 -08:00
Pragaspapthi Thilagaraj
d5cfa3829a qcacmn: Reduce excessive kmsg logging in roaming path
Reduce excessive data path logging to kmsg during roaming and
change the logging level for such prints to debug/info
high.

Change-Id: I1e6506de83e59a31304234905a3dd38f6d8b03f3
CRs-Fixed: 2848624
2021-01-07 08:17:44 -08:00
Karthik Kantamneni
dcba7b8baf qcacmn: Maintain counter for nbuf tracker nodes memory allocation failures
During nbuf free if entry is not found in debug tracker list
it is treated as double free or unallocated buffer free
which is not correct because there is possibility of nbuf
entry not being present in debug tracker list due to memory
allocation failures for tracker nodes in system low memory state.

Maintaian counter for nbuf debug tracker node memory
allocation failures, during nbuf free if entry is not found
in debug tracker list and tracker memory allocation failures
are present then don't raise issue for nbuf free.

Change-Id: I770cfc23bad35af7e7dbec34852a31cc68300ca5
CRs-Fixed: 2844059
2021-01-06 21:55:11 -08:00
Rakesh Pillai
f1aa992998 qcacmn: Pre-alloc rx rings history when feature is enabled
Currently the rx rings history is allocated dynamically
on load time. The memory requirement for saving these
history are more than a page (order 5 to 6 allocations).
Such big memory allocation can fail due to various
reasons, one of them being memory fragmentation.

Fix this by pre-allocating the rx ring history memory.
Also allocate the rx reinject history memory when the
HW accelerated path is used.

Change-Id: Id957cd5df91a2ca7f182dea691a0557b4e386f55
CRs-Fixed: 2844388
2021-01-06 21:55:07 -08:00
Jyoti Kumari
a7cc077a26 qcacmn: Fix out of bound read issue in util_scan_parse_rnr_ie()
During ie parse from beacon/probe response, the variable
tbtt_count and tbtt_length in util_scan_parse_rnr_ie() getting
read from ie and the value is not checked before using it which
may cause out of bound read issue

Validate tbtt_count and tbtt_length before using it

Change-Id: I51cfb2356fb16feda8a70c4b76c7f76c90b1393b
CRs-Fixed: 2836205
2021-01-06 21:55:03 -08:00
Liangwei Dong
22151e9f26 qcacmn: Iterate vdev with "Create" state check
Use safe API - wlan_objmgr_iterate_obj_list to enumerate
vdev. It will check vdev in "create" state by
wlan_objmgr_vdev_try_get_ref.

Change-Id: I650801c07846e22f1863925ed4316c0a24bd9cae
CRs-Fixed: 2849177
2021-01-06 21:54:59 -08:00
Wu Gao
f9ead26a48 qcacmn: Add dfs macros to avoid compilation issue
There is compilation issue since dfs macros only defined with
WLAN_COMP_CHAN_MODE. So adds related definitions for the case without
WLAN_COMP_CHAN_MODE.

Change-Id: I4b9f16b5000304157067be565864cc79c510770f
CRs-Fixed: 2848979
2021-01-06 17:58:05 -08:00
Edayilliam Jayadev
8c199ecfc5 qcacmn: Fix compilation error when Spectral is disabled
Fix the compilation error which occurs when Spectral
feature is disabled.

CRs-Fixed: 2847001
Change-Id: I133aff14cc069864ca5b4ce3bc9c5a225c2b0c05
2021-01-06 17:58:01 -08:00
Adil Saeed Musthafa
13f9b12f6a qcacmn: ini setting for strict-channel-mode
Introduce ini setting to enable or disable strict_channel_mode. When
this mode is enabled, driver will no longer implicitly select a
different channel (or phymode) if the user configures a phymode (or
channel) which the existing channel (or phymode) does not support. Also
with this mode, the user cannot change country at runtime, if the existing
channel/phymode combination is not supported in the new country.

Change-Id: I8e6246530df5d125a91068d513b436fe71f68e5a
CRs-Fixed: 2842892
2021-01-06 13:52:49 -08:00
Yeshwanth Sriram Guntuka
871c29e8f2 qcacmn: Set IPA WBM2SW ring HP to DDR addr on disable pipes
WLAN HW can still access the IPA tx doorbell address post
disable pipes if there are any pending tx completions which
could result in a NOC error.

Fix is to reset the WBM2SW ring HP addr to shadow addr in
DDR before pipes are disabled.

Change-Id: I52900eb34530388487923a887354ef8839d8c728
CRs-Fixed: 2846421
2021-01-06 13:52:45 -08:00
Chaoli Zhou
4096046a47 qcacmn: Fix OOB issue for bwnss oui
If is_bwnss_oui return true in util_scan_parse_vendor_ie,
and it will run into below logical:
scan_params->ie_list.bwnss_map = (((uint8_t *)ie) + 8)
But in fact if ie->ie_len < 6, it will casue read out
of boundary issue. So add the length chekcing before
reading it

Change-Id: I0cdf723154eb808f8062efd897f9d67d54d4573b
CRs-Fixed: 2838849
2021-01-06 11:44:29 -08:00
Abhishek Singh
a945925ad3 qcacmn: Add APIs to check roam substate state in connection manager
Add APIs to check roam substate state in connection manager.

Change-Id: I1c91e4e0bcb971d66bdf5d44af96d4049f991dfd
CRs-Fixed: 2847369
2021-01-05 22:34:30 -08:00
Shashikala Prabhu
3a7cf8ca4a qcacmn: Move WIN only wmi structures to qca-wifi-oss repo
Move WIN only WMI structures from cmndev repo to oss repo.

Change-Id: I1d11f5573385e687a4ec25531cb87432e198f4af
CRs-Fixed: 2847337
2021-01-05 20:28:27 -08:00
Kai Liu
d7c8cf6738 qcacmn: Fix wrongly used wmi hang data event/cmd log buffer
WMI cmd and event use different log buffer, when trace the hang
data, proper wmi buffer should be used according to API's parameter.

Change-Id: Ic87482e92600b2bb579347447388a791dc2ca563
CRs-Fixed: 2847223
2021-01-05 18:14:44 -08:00
Manikanta Pubbisetty
a5c11aabcb qcacmn: avoid FSE cache flush messages during runtime suspend
When runtime power management is enabled, until the system is fully
resumed, we do not post any message to CE, instead they will be queued
in HTC. Once the device is fully resumed, all HTT messages in the queues
will be downloaded to CE at once. In some corner cases, it is found that
too many FSE caches flush messages getting queued during the runtime
resume; once the device is fully resumed, all these would be downloaded
to the FW/HW at once causing unintended crashes.

Avoid posting FSE cache flush messages until the device is fully resumed
to fix the issue.

Change-Id: I2be21406e8c7a9dcd86df3e93c2568797defcad0
CRs-Fixed: 2843541
2021-01-05 18:14:39 -08:00
Jinwei Chen
f3a732ed1c qcacmn: Add function to get gso_segs from skb
Add qdf function to get gso_segs from skb.

Change-Id: I92eca7fb4adf6d08454f27469a62f4d16ff1072c
CRs-Fixed: 2846442
2021-01-05 16:13:19 -08:00