Commit graph

9,026 commits

Author SHA1 Message Date
Aniruddha Paul
9088f48e99 qcacmn: Print the DP delay histogram
Prints the dp delay histogram on peer basis. This stats
are print as part of the fc_peer_delay command.

Change-Id: I9be971f5b5aa42f40741ee403a0f82dae97981c3
2020-07-15 03:52:22 -07:00
Aniruddha Paul
b07ed991ec qcacmn: Alloc/Dealloc the peer extended stats
Allocate/Deallocated the peer extended object in the
peer_create() and peer_del() paths respectively.

Change-Id: I3e93e1ec85aefb22d3fb40d1b01bbd07d660aff5
2020-07-15 03:52:18 -07:00
Aditya Kodukula
e99b7c2a82 qcacmn: Remove unused PMC status
There is no user for PMC related status codes in the CLD.
So remove them.

Change-Id: Iba307a80b15caacbe0bc7890c89acbb57b716b72
CRs-Fixed: 2729642
2020-07-15 01:46:43 -07:00
Neha Bisht
b22b0751c0 qcacmn: Remove redundant member from dp_vdev structure
Removing pointer to struct cdp_ctrl_objmgr_vdev from dp_vdev struct

Change-Id: Ifdbbbe565902a098a754c539733e763e72a6160d
2020-07-15 01:46:40 -07:00
Lincoln Tran
7a0d8efdaa qcacmn: Update regulatory to use bitmap for band
Setband changes require support for 6G band. Using a bitmap
better supports the addition of new bands. Changes to support
this include:
	1. Update band_capability in regulatory pdev priv obj
	   to be a bitmap.
	2. Add API to convert between the bitmap and
	   enum band_info.
	3. Update channel list modifying function to include
	   case for 6G band.
	4. Update the get and set APIs to use uint32_t instead
	   of band_info.

Change-Id: Iff38fdd7cc540a0e471647de349d7fa57b3a8467
CRs-fixed: 2726285
2020-07-14 22:45:42 -07:00
Lincoln Tran
caa1688c1b qcacmn: Vendor command to get the configured band
This commit introduces the vendor command to get the configured band
through QCA_NL80211_VENDOR_SUBCMD_GETBAND.

Change-Id: I3f3de10a3bd32eda2634b400d5191bf67a46eaaa
CRs-fixed: 2729768
2020-07-14 22:45:39 -07:00
Lincoln Tran
ab9b3ce1e0 qcacmn: Vendor command to configure TWT
This commit defines a new vendor interface
QCA_NL80211_VENDOR_SUBCMD_CONFIG_TWT to configure TWT.

Change-Id: I077c26e56dccbcead9d5e770700813b65bb8aff4
CRs-fixed: 2729753
2020-07-14 22:45:36 -07:00
Lincoln Tran
de9b5409c9 qcacmn: Enhance the qca_set_band enum value to BITMAP
Also introduce a new attribute QCA_WLAN_VENDOR_ATTR_SETBAND_MASK
to carry this new bitmask enum. This attribute shall consider the
bitmask combinations to define the respective Band combinations
and substitutes QCA_WLAN_VENDOR_ATTR_SETBAND_VALUE.

Change-Id: Ib00d93147e19593f24bd317c3962e6454e4eafc2
CRs-fixed: 2726283
2020-07-14 22:45:32 -07:00
Lincoln Tran
b5e2eeb87d qcacmn: Remove reg_get_curr_band
Remove reg_get_curr_band because it has the same functionality
as reg_get_band.

Change-Id: I7fa5abfe6a552cc617cd810b41b152c70b3429b8
CRs-fixed: 2726300
2020-07-14 22:45:29 -07:00
Manjunathappa Prakash
5c488639b8 qcacmn: Add fisa_sw_ft entry member to hold cumulative frag len
Add fisa_sw_ft entry member to hold the cumulative non head
frag lengths. This is used to do head_skb->data_len sanity check.

Change-Id: Ied65327c027dd60357ed1dc062655bfb903a12bb
CRs-Fixed: 2728319
2020-07-14 02:02:41 -07:00
Amar Singhal
df1414b0f6 qcacmn: Compute correct channel width for freq
Compute correct channel width for a given frequency by calling
the regulatory channel bonding API.

Change-Id: I3627bc2a4f4c832887447bd6b28abd3432bffa73
CRS-Fixed: 2728810
2020-07-12 07:31:32 -07:00
Amar Singhal
91c8fbfde4 qcacmn: Reduce the level of logs for reg-domain
In regulatory offload case; customer may be using his own
customized regdb. In that case, the host regdb can be different
from firmware regdb. Therefore, reduce the log level.

Change-Id: I165745bd5cb22fe95ae96f387db4d65e39f446ec
CRs-Fixed: 2728587
2020-07-12 05:17:26 -07:00
Mohit Khanna
42a8d7ef31 qcacmn: Add P2P UDP/TCP checksum offload INI entry
Add support to enable disable TCP/UDP checksum offload for P2p modes.

CRs-Fixed: 2725395
Change-Id: Id482649e501a8f9a8900a92e3e03a48f0e99603c
2020-07-12 01:49:34 -07:00
Nisha Menon
a24579c66f qcacmn: Remove unnecessary msdu count check in mdpu desc
Remove uncessary msdu count check against msdu count in
mpdu desc info while processing REO Rx err pkts.
As per h/w team msdu count can be obtained from msdu link
desc instead of mpdu desc info.
SOC level Rx err stat rx.err.msdu_count_mismatch is
incremented to log this condition.

Change-Id: I4f7d2df7335778f2f2d28e542da17fc7f6970009
CRs-Fixed: 2729693
2020-07-11 15:08:42 -07:00
Gyanranjan Hazarika
3c585e695a qcacmn: Avoid sending fils_enable cmd to fw in case of non-tx vdev
In case of MBSSID, fils or 20tu unsolicited probe response frame
is required to be sent only by the tx-vdev. 20tu frames (fils or
probe response) sent by the tx-vdev carries the specified information
about the non-tx vdevs.

Currently, fils_enable wmi cmd is being sent by default to fw at
vdev_up of each vdev. Avoid sending this cmd in case of non-tx
vdev in MBSSID mode.

Change-Id: I6d6f85489baf34b282f012227f211388647fdb4e
CRs-fixed: 2727143
2020-07-10 21:55:54 -07:00
Harsh Kumar Bijlani
12f0270968 qcacmn: Align host TLV structures similar to FW TLV structures
FW keeps adding members to htt structure. In order to avoid overflow,
align host tlv structures similar to fw tlv structures and also
validate size of htt_stats tlv before memcpy.

Change-Id: I4719804cd1e65ad14dfcee36685ee2a4ae4f2379
CRs-Fixed: 2700191
2020-07-10 19:49:30 -07:00
Aditya Sathish
34c5877b8d qcacmn: Add NULL check for find IE API
Ensure that the IE pointer is not dereferenced if the pointer
passed to the function is NULL.

CRs-Fixed: 2724504
Change-Id: Ie6b4c633e252de5162c9f7ab72c2ea4a2cc058dd
2020-07-10 19:49:26 -07:00
sheenam monga
fe1e85068c qcacmn: Fix OOB issue in wlan_parse_rsn_ie
Issue: Currently, host doesn't validate pkid_count
before populating data in rsn->pmkid. rsn->pmkid array
can store only 4/MAX_PMKID pmkids which may cause OOB
write if host tries to copy pmkids more than MAX_PMKID.

Fix: validate pkid_count before populating rsn->pmkid
and return Failure in case pkid_count becomes greater
than MAX_PMKID to avoid OOB.

Change-Id: I211ea791a52ecb84872d139929f999a89db240d5
CRs-Fixed: 2724407
2020-07-10 07:45:46 -07:00
Vignesh Mohan
4b9b060974 qcacmn: Use dfs channel structure to store autoswitch channel
Use dfs channel structure to store autoswitch channel instead
of a single frequency value.

CRs-Fixed: 2726427
Change-Id: Ib592b75d4f87b4597510a1fc32717633b2b39e21
2020-07-10 05:38:57 -07:00
Kiran Venkatappa
ec5ee77d84 qcacmn: Use QDF_STATUS error code in hif_ahb_enable_bus
hif_ahb_enable_bus returns -EIO, PTR_ERR and QDF_STATUS. PTR_ERR can
return zero for NULL. This will get interpreted as success resulting in
invalid access later. Fix return status to QDF_STATUS so that caller can
cosistently use error codes for error handling.

Change-Id: Ibd4d6e52c930272febf9a8b76bcfd2df4a4a4705
CRs-Fixed: 2726180
2020-07-10 05:38:54 -07:00
Aditya Kodukula
b25366fa6f qcacmn: Check for NULL pointer before de-referencing it
Pointer 'hif_ctx' returned from call to function 'cds_get_context'
may be NULL. Check for NULL pointer before de-referencing it.

Change-Id: I6c909b2c62e1bf6945a4cc40315e8fdad4a0aa83
CRs-Fixed: 2726335
2020-07-10 01:43:25 -07:00
Kai Chen
2b3f9a1057 qcacmn: use host pdev id for wdi event handler
wdi event handler take host pdev id. Convert lmac/target pdev id to host
pdev id for wdi event handler.

Change-Id: Iaf1f3e77055be0178d810d960924ca618b334fd2
2020-07-10 01:43:22 -07:00
Ashish Kumar Dhanotiya
a54735abdd qcacmn: Change data type of the code for qdf trace to uint16_t
Currently for qdf trace api data type of code is uint8_t, some of
the modules are inserting message id of type uint16_t because of
which some information is getting lost and post processing cmm
script is not able to parse these messages correctly.

To address above issue, change the data type of code for
qdf trace function.

CRs-Fixed: 2719767
Change-Id: I4461dc9c2f45e691317d318870dfdbce93929e12
2020-07-09 21:39:40 -07:00
Basamma Yakkanahalli
81e70bb153 qcacmn: Enable Spectral feature for ipq5018 target
a. Enable DDMA support and FFT bin length adjustment SWARs
b. Similar to QCN9000,
Skip 16 bytes of unused padding added after Spectral summary report
FFT report header length is 24

Change-Id: I870f198511771dccbb0300ff62fc15ab0d64ee7f
2020-07-09 15:54:29 -07:00
Aniruddha Paul
915f53b12f qcacmn: Add INI support for peer ext stats
Add INI support for peer extended stats. The extended
stats as of now include per peer Tx/Rx delay per packet
path.

Change-Id: I20d3c7f81f65f4db5f111eb103945151a8cd83aa
2020-07-09 13:43:41 -07:00
Vevek Venkatesan
0b06fc4e7e qcacmn: fix the pointer access before NULL check errors
Fixing the errors of accessing pointer before NULL check.

Change-Id: Idaa4348e2f40b14eb391826cda37b027360fad72
CRs-Fixed: 2726351
2020-07-09 13:43:38 -07:00
Chaoli Zhou
7c40c9d475 qcacmn: Fix compile error while enable CONFIG_REMOVE_PKT_LOG
Cleanup the code to fix the compile error while setting
CONFIG_REMOVE_PKT_LOG=y & CONFIG_WDI_EVENT_ENABLE=n
with Hasting

Change-Id: I493fbddec865fe20789022445b0f155201772119
2020-07-09 09:24:09 -07:00
syed touqeer pasha
f2d33c938b qcacmn: Handle insufficient headroom
If headroom is insufficient during ppdu metadata receive,
reallocate headroom.

Change-Id: Ib3c5295ce73eaab5a5ff6b37f0f37361e7135b9c
2020-07-09 03:03:49 -07:00
Abhishek Singh
60f7ef7fb1 qcacmn: Remove unused filter params from scan filter
Remove unused filter params from scan filter. Also
change the type of few, to decrease the memory required.

Change-Id: I3f86d416805174b56c8998f5a4a4723d9ebdd90b
CRs-Fixed: 2723220
2020-07-08 21:02:39 -07:00
Srinivas Dasari
4e5cfb2ac9 qcacmn: Add vdev param to configure NAN feature bitmap to firmware
Define a new vdev param to set corresponding bit to enable/disable
a particular NAN feature.
Currently, Framework configures NAN DW as 4 seconds when the
device is in sync role and the screen is off. But customers might
want this to be 512ms always irrespective of screen off/on.
Send the vdev param on NAN vdev by setting the "bit 0" to 0 to
indicate firmware to ignore framework configured DW value and
consider the firmware default value.

Change-Id: Idcbdae94bd6a96fbbe15ec103a0aa558cdfcd572
CRs-Fixed: 2721980
2020-07-08 18:55:57 -07:00
aloksing
093d940112 qcacmn: Add wmi support wifistats
Send WMI command to FW with provided tlv from wifistats

Change-Id: I80ac9f621c75429bdca18962423026c2008a71d0
2020-07-08 08:59:19 -07:00
Yu Tian
0b0c3e3c7a qcacmn: fix index overflow when tso seg large
In some cases, TSO segment may larger than 255.
If use uint8 as the loop index, tx logic will
overflow and sending the last segment repeatly,
then lead to buffer double free. Change index
variable to uint32

CRs-Fixed: 2722918

Change-Id: I156a5d8b8a3895e4f7bfc53cf5561f51ca8b06ca
2020-07-08 08:59:16 -07:00
Tallapragada Kalyan
b1a2f9fbad qcacmn: remove additional reap logic for SG buffers
remove additional reap logic for SG buffers, as we
are also maintaining a state for SG buffers in dp_soc
structure

CRs-Fixed: 2722245
Change-Id: Ibec3007036e78a2ec1c5055244b6518f889e16a4
2020-07-08 06:51:52 -07:00
Shwetha G K
1e31344702 qcacmn: Profile scan APIs to debug scheduler watch dog bite
Profile the scan APIs to debug the scheduler watch dog bite
due to callback scm_scan_event_handler exceeded its allotted
time of 10s

CRs-Fixed: 2713584
Change-Id: I494ce9df4cd6c7458c367527c8e5d47a9262739a
2020-07-08 00:09:47 -07:00
Pragaspathi Thilagaraj
81b14a586e qcacmn: Add API to get FILS pmksa entry cache id and SSID
Add new API to lookup the pmksa entry by fils cache id
and SSID.

Change-Id: I654d2b29b97a3b02ab6da7d2cfa0884bb8e5d2a1
CRs-Fixed: 2719643
2020-07-07 21:38:43 -07:00
Jinwei Chen
56060bf997 qcacmn: add more FISA related variable
Add last_hal_aggr_count, cur_aggr_gso_size, head_skb_udp_hdr
to FISA SW entry structure.

Change-Id: Ic26101d191ec5fbceb04861523aae000cd5dbe94
CRs-Fixed: 2724925
2020-07-07 18:58:33 -07:00
Ashish Kumar Dhanotiya
eba983ed1e qcacmn: Fix return type of auth type and akm
Currently api osif_nl_to_crypto_auth_type is trying to convert
the nl specific auth types to driver specific auth types but
it does not return the correct value, this api always returns
auth type as none as it never updates the return value after
the initialization.

While parsing WPA and WAPI, open authmode and cipher and akm are
set as none by default.

Thus return converted value of the auth type. Also fix the
return type of the akm conversion. Also avoid setting
open authmode and cipher and akm as none while parsing WPA
and WAPI ie.

Change-Id: I260e58a28ddbf6b20a290488e205586a624c9b46
CRs-Fixed: 2725323
2020-07-07 16:23:18 -07:00
phadiman
1fe461c320 qcacmn: Add WMI LOG for Set Peer parameter
Add WMI LOG for set peer parameter for debug
purposes like set peer_nss, peer_nss_160

CRs-Fixed: 2726041
Change-Id: Ib1a3d22cd101b76efc07121fc333d303b1a26377
2020-07-07 14:16:54 -07:00
Yeshwanth Sriram Guntuka
199e1831ab qcacmn: Rate limit rxdma decrypt error related log
Rxdma decrypt errors are observed when the association
is in progress as AP sends encrypted data packets to
DUT-STA. As part of the rxdma error handling, excessive
prints are logged to console resulting in an assert.

Fix is to rate limit rxdma decrypt error related log

Change-Id: I2ef28c635d77e3acafd067b921cdb13c277756c7
CRs-Fixed: 2725335
2020-07-07 14:16:50 -07:00
Surya Prakash Raajen
c4d6b4d9c5 qcacmn: Move support_11ax macro to buildcaps
Move support_11ax macro to buildcaps to remove dependency
on legacy FW headers and add it on Buildcaps to fix
redefine error.

CRs-Fixed: 2719782
Change-Id: Ic2902663083cda10e0a9e9b2da85ee1b267b6b7c
2020-07-07 07:25:06 -07:00
Surya Prakash Raajen
7e56ece9a9 qcacmn: Decouple legacy FW headers
Decouple legacy FW headers for lithium builds since
its not required for the same

CRs-Fixed: 2719782
Change-Id: Ibdfdec51c5379fe42e23bf04a228ae6fb1a3eac9
2020-07-07 07:25:03 -07:00
Lin Bai
21e9784822 qcacmn: Use sync method to wake device
Use sync wake when trying to awake device for register
accessing.
This can avoid device re-enter low power mode after
device_wake asserted.

Change-Id: Iba62f5753ccb7e11d9746a445db4cce48e5e3a14
CRs-Fixed: 2703609
2020-07-07 07:25:00 -07:00
Shwetha G K
7b80d55849 qcacmn: HAL change to fetch cfr info from PHYRX & RXPCU ppdu end tlv
HAL change to fetch cfr info from PHYRX_PPDU_END_TLV & RXPCU_PPDU_END TLV

Change-Id: I5fa52e9de776a0ea8394dacffac8331fac75eda2
2020-07-07 02:53:34 -07:00
Mainak Sen
219e27f9b2 qcacmn: Enable SG support in QCA5018
SG support in WBM release ring for QCA5018

Change-Id: I672b5fd3792c6712588c369bc4f15208c0a94004
2020-07-07 00:46:07 -07:00
Vevek Venkatesan
4196b69b64 qcacmn: add Runtime PM HIF changes for ipci interface
Add Runtime PM related HIF changes to enable it for
ipci interface.

Change-Id: I4af91c0e38130281cad3b39e555ec98716d027b8
CRs-Fixed: 2720823
2020-07-06 14:14:04 -07:00
Surabhi Vishnoi
20e9e49e70 qcacmn: Add support for WMI_VDEV_BCN_LATENCY event
Add interface changes for WMI_VDEV_BCN_LATENCY_EVENTID which
is sent by firmware to indicate the latency IE received from
connected AP in beacon.

Change-Id: Ia6cec01be89f13885b011414f0d77f64c6eb05ee
CRs-Fixed: 2723226
2020-07-06 11:23:14 -07:00
Ananya Gupta
5ecc8a6cbc qcacmn: Release peer ref count after handle usage is complete
Race condition is observed as dp_ipa_rx_intrabss_fwd is
accessing da_peer after releasing the ref count of the peer
while that peer is deleted parallelly.
To fix this, da_peer and sa_peer are only assigned if the
peers are found in the vdev.

Change-Id: Ib03835a509d656eb11946c075b820555b04934f8
CRs-Fixed: 2723448
2020-07-06 08:34:07 -07:00
Rakesh Pillai
2a46481ab9 qcacmn: Add vendor attribute to update QoS for UDP packets
Add a vendor command attribute to upgrade the QoS
for UDP packets

Change-Id: Ie29842bfe555aecce847b15f77493662ec491d55
CRs-Fixed: 2724039
2020-07-06 05:35:27 -07:00
gaolez
f4c326f721 qcacmn: Add length check in ndp event handler
qcacld-2.0 to qcacld-3.0 propagation

Add length check to prevent the data overflow the wmi buffer. The
length in the fixed_params and TLV hdr also need check.

Change-Id: I2bbf9f08b6c19062324dca420af08ff94835eaca
CRs-Fixed: 2248879
2020-07-03 15:00:41 -07:00
Samanth Manjunath
53ffdd36b9 qcacmn: WLAN SON related functions cleanup
Code clean up and removal of WLAN SON related functions
which were unused.

Change-Id: Icb4fddc9ca9dee8735e91f6772d9978b69a01726
CRs-Fixed: 2703210
2020-07-03 15:00:37 -07:00