Commit Graph

3319 Commits

Author SHA1 Message Date
Chris Guo
33d5173722 qcacmn: Enable Bus bundle for both TX and RX
Because of the sequence of macro defination, the HTX bundle is
not enabled at all. This fix made the macro defination into the
correct sequence.

CRs-Fixed: 2070642
Change-Id: Idc62b091057da9873874f54f09ca8b76d3658516
2017-08-31 14:48:38 -07:00
Balamurugan Mahalingam
dcb5226baf qcacmn: Fix PACKET_LOG_SVC service to ce_map for QCA8074
Add a new entry for PACKET_LOG_SVC. FW needs this entry
for initializing packet log CE pipe.

CRs-Fixed: 2094058
Change-Id: I496a2bdf78dd79cc17a60b4f0d227d4e570c93e6
2017-08-31 13:21:38 -07:00
Sathish Kumar
e7b4922f93 qcacmn: Populate pdev params that are enabled in target header
Few pdev params are populated as unavailable param in the TLV layer.
Some of them are now enabled by the target. Populate the right pdev
param enum as per the definition in the converged WMI header.

Change-Id: Ia06498da9023f53035abde31c3aef2749f6b65b9
CRs-Fixed: 1115239
2017-08-31 08:54:41 -07:00
Amar Singhal
9fef21a8ce qcacmn: Add INI for 11d scan interval
The default 11d scan interval is 1 hour. But make the 11D scan interval
programmable by user to test different intervals. Therefore provide INI
for the same.

Change-Id: I36dbe8b87d4175e51bf2f275b8203ba9609a0625
CRs-Fixed: 2088739
2017-08-31 08:07:59 -07:00
Houston Hoffman
9b55b5fbb9 qcacmn: Fix ce ring timeout interrupt hw work arround
Interrupt was constantly firing because the low_threshold was
improperly configured.  The low threshold needs to be 1 less than
the number of buffers posted when the CE is fully posted.  The
srng backed CE's are setup with nentries - 2 buffers as the fully
posted amount, therefore the threshold needs to be nentries - 3.

Also fixes a bug where a reused variable is not cleared.  This
bug could result in the threshold being set to a garbages value.

Change-Id: Iac840bfd6677683bf2feb42d8bdbd050f42e895d
CRs-Fixed: 2090603
2017-08-31 06:27:43 -07:00
Venkateswara Swamy Bandaru
1fecd15636 qcacmn: Add stats and filtering support in delivering of unencrypted frames
Addded stats and filtering support in delivering of unencrypted frames
in mesh mode.

Change-Id: I2fd72f766660e500affeccda9aad03a0313d0659
CRs-Fixed: 2004658
2017-08-31 06:27:38 -07:00
Tallapragada Kalyan
dbbb0c8085 qcacmn: Add support for Hash based steering in RX PATH
Add support for hash based steering in RX path, also
considered cases where a particular radio or both radios
are handled by NSS offload.
CRs-Fixed: 2092357

Change-Id: Ib0e88c28eecd7bfdb52c7337d4485ac41371be68
2017-08-31 02:11:15 -07:00
Sathish Kumar
7f9408bacc qcacmn: Add timestamp param and enable foreign channel exit in scan event
Add timestamp parameter in scan event received from FW to aid
in calculating dwell time and overall channel switch time in
off-channel operations.

Enable foreign channel exit event inorder to be notified
by FW through the scan event.

Change-Id: I4ba028756ee7db35f6528c0554b09c73087184a7
CRs-Fixed: 2056330
2017-08-31 00:20:20 -07:00
Abhishek Singh
7d30bf7ecb qcacmn: Use min rest time same as max rest time in SAP+STA case
In SAP+STA case the min rest time is 50 and thus during scan
possibility increases that the device is not present in base channel
during the time of beacon transmission and thus beacons are not
transmitted.

Thus if SAP is present the min rest time should be 100ms
max rest time), so that during scan device can come to base channel
and transmit beacons.

Change-Id: I6fa2ee57771d093fce7d63089797528f8f4bc409
CRs-Fixed: 2079803
2017-08-30 22:47:59 -07:00
Govind Singh
c505cdc689 qcacmn: Fix race condition in tx lookup queue during tx completion
Tx lookup queue holds the reference of the packet that is successfully
transmitted via CE pipe. Tx lookup queue  method can be called from
tx path and from tasklet simultaneously for the same endpoint.
One context can get the packet reference in its local lookup Queue and the
other context may not find the reference as this is not brought back
from lookupQueue to TxLookupQueue.

Fix this by adding a per endpoint lookup queue lock.

Change-Id: I0f4872f695e9ab15c27c91e733449f03871f4262
CRs-Fixed: 2047390
2017-08-30 22:06:17 -07:00
Pamidipati, Vijay
899e775769 qcacmn: Add support to dump Host AST table
Add support to print Host AST table contents and
AST statistics

Change-Id: I669d547657fe9d826d2aed59cf8dbb06bc100996
CRs-Fixed: 2099205
2017-08-29 23:41:34 -07:00
Pamidipati, Vijay
9e34025ada qcacmn: Add option to enable or disable accounting of Tx in NAPI budget
Add a division factor for number of tx completions to be accounted for in NAPI
budget. Fix the data type of budget to int to account for negative values.

Change-Id: I620af5537c5c1cdf3161da3a3c053a2c8bf777e8
CRs-Fixed: 2092526
2017-08-29 23:41:33 -07:00
Karunakar Dasineni
6bcbdd5a27 qcacmn: Use HP instead of loop count in dst rings
SRNG loop count is not restored after LMAC resets, and hence can't
be used to reap entries from destination rings. Modify the SRNG API
to use head pointer instead.

Change-Id: I3b05948d531cc3d1a5ccb7f01e38f8f36ae69da9
CRs-Fixed: 2091809
2017-08-29 20:59:02 -07:00
Soumya Bhat
3eec5f3273 qcacmn: WMI support for EXT NSS Signaling
Add required WMI commands to communicate support of
EXT NSS Signaling between host and FW. Also, if
EXT NSS Signaling is supported the use new WMI to
communicate the required information between host and FW.

Change-Id: If3e1ef11a55f8fbdffddb3b10963878a6a2ca415
CRs-Fixed: 2089043
2017-08-29 20:58:30 -07:00
Tallapragada Kalyan
cc5d7b8ff7 qcacmn: tail fragment nbuf next is not set to NULL in RAW Mode
Th tail fragment nbuf->next is not set to NULL which is causing
host crash in RAW mode RX path for bigger size pkts (AMSDU)

Change-Id: Id0a16419988f72e5d8dfb8e942063f9d797abfab
2017-08-29 20:58:13 -07:00
Liangwei Dong
f45a0df7e2 qcacmn: Fix hotspot starting failure
When softap is stopping, there are two threads
accessing the "conc_connection_list".
hostapd thread (__wlan_hdd_cfg80211_stop_ap) read
and modify it by cds_decr_session_set_pcl.
cds_mc_thread thread (cds_get_valid_chan_weights)
read and modify it by cds_store_and_del_conn_info
and cds_restore_deleted_conn_info.

They are not protected,which causes two same
station connection info saved to the
"conc_connection_list".

This fix is to acquire lock before read/modify
the list.

Change-Id: I5f1becef711363f659044c46e69fab1cd6d07d81
CRs-Fixed: 2038000
2017-08-29 20:57:54 -07:00
Om Prakash Tripathi
7c31ec678c qcacmn: Add support for TID stats v1 tlv
Add support for htt_tx_tid_stats_v1_tlv in extended htt stats

Change-Id: If5ec3399931069c25c2ad6b00cb57b303493387c
CRs-Fixed: 2094292
2017-08-29 20:57:30 -07:00
Chris Guo
37cf36d2e6 qcacmn: Fix TX Bus bundle error for SDIO WLAN
For SDIO WLAN, the creditsize is different for data EP than other
EPs. This change using alt credit size to replace of original
credit size.

CRs-Fixed: 2072158
Change-Id: I105db55da66e6123b2a53326d53758c24eca21ec
2017-08-29 20:57:12 -07:00
Sridhar Selvaraj
f8c766c957 qcacmn: Add support for action id bitmask in allowed action frames
Currently only action category is specified to be dropped/allowed
by fw. Add support for action id bitmask per category.

Change-Id: I208af7827532740104afbb3d0e9b8dda3a8b2d47
CRs-Fixed: 2072125
2017-08-29 20:56:46 -07:00
Dustin Brown
24c31020a2 qcacmn: Use refcount APIs for sk_buff.users with 4.13+ kernels
The 4.13 Linux kernel changed the sk_buff.users type to refcount_t from
atomic_t. Add conditional compilation based on kernel version to use
appropriate refcount APIs for kernels 4.13+.

Change-Id: I6918b4f45ffa247c74e54d8653a80821ceab1a86
CRs-Fixed: 2092031
2017-08-29 20:56:28 -07:00
Tushnim Bhattacharyya
ddfe26635d qcacmn: Save the unsafe channels in policy manager
Save the list of unsafe channels in policy manager to be used on PCL.

Change-Id: Ibb705830e878d1cc03dfbc76e49c169d2febd75d
CRs-Fixed: 2095290
2017-08-29 20:56:02 -07:00
Tallapragada Kalyan
71cc01bb11 qcacmn: Do Multicast Echo Check for Multicast pkts only
Add a check to ensure MEC happens only for multicast
and broadcast pkts only. Also added additional check to
drop the mcbc pkt whose src MAC addr matches to the rx vdev.
This is in addition to the other MEC checks already in place.
CRs-Fixed: 2097918

Change-Id: Ie41fce0368cd6147c2a3678f8f4b31eb400f933c
2017-08-29 20:55:49 -07:00
Houston Hoffman
1ef0c77b45 qcacmn: remove QCA_WIFI_NAPIER_EMULATION from pci enable
Use srng based runtime check to bypass legacy register based fw handshakes.
Also remove deprecated emulation based io_remap hack

Change-Id: Idc599bec69a191131e866a2db36d6df3e8e8057f
2017-08-29 20:55:31 -07:00
Vishwajith Upendra
e098ebd3e0 qcacmn: FILS changes for scan path
Add changes to match FILS realm info present in FILS indication IE
with the connection info.

Change-Id: I1ed6081f3320ecee8f86f7d87597b343230923b3
CRs-Fixed: 2093637
2017-08-29 20:54:08 -07:00
Venkateswara Swamy Bandaru
4b0ee101ca qcacmn: Fix napi polling issue
Do not enable interrupts and continue polling when there is pending work
group napi poll function.

Change-Id: I51184bc5b97f44a65e0883eb614bc47b2b5ca428
CRs-Fixed: 2094313
2017-08-28 14:47:04 -07:00
Dustin Brown
c50a659932 qcacmn: Update calls to cds_trigger_recovery
cds_trigger_recovery no longer takes any arguments. Update calls to
cds_trigger_recovery accordingly.

Change-Id: I2d2f36c73baa2133496559bd8213aec8091e51b5
CRs-Fixed: 2073933
2017-08-28 14:47:01 -07:00
Vikram Kandukuri
6915956d4c qcacmn: Update WMM params per VAP for lithium onwards
Update WMM params per VAP for lithium onwards

Change-Id: I025d8f314b255f4fa2da5c83916a122733b36c27
CRs-Fixed: 2064780
2017-08-28 08:12:03 -07:00
Tallapragada Kalyan
85a1455795 qcacmn: Do WDS source port learning if it is a 4-addr pkt
Added one more check for wds source port learning only
if it is a 4-address pkt.

Change-Id: I85c7859008fd6e5c060c7bf444e49e86c96e32c4
2017-08-28 08:11:56 -07:00
Chaitanya Kiran Godavarthi
6228e3be66 qcacmn: Add CDP API for HK DP to get security type from peer handler
Add CDP API for HK to get security type for ucast and mcast from
peer handler. Add additional peer handler argument for raw mode
rx decap functions. The peer handler is needed in the raw mode
functions for getting the security type of the frame and process
it accordingly.

Change-Id: I3c2688f33ca36a5bd2a747699d5acaab3ba14cfe
2017-08-27 21:51:34 -07:00
Varun Reddy Yeturu
1d25d6d7fc qcacmn: Add sanity check to avoid len overflow issue in WMI event data
In WMI/WMA, data from event buffer from FW is used without
sanity checks for upper limit in multiple places. This might
lead to a potential integer overflow further leading to buffer
corruption

Add upper bound checks for max limit of event buffer (1536)
in all affected places to prevent the potential integer
overflow

Change-Id: Ic9194a27c4a4c63fc68ff7fc61165a53e66ca4f4
CRs-Fixed: 2095545
2017-08-26 02:17:06 -07:00
Om Prakash Tripathi
6af738bb71 qcacmn: Init average rssi with frames rssi on receipt
Initialize average rssi with instantaneous rssi in
util_scan_unpack_beacon_frame intead of marking it as
DUMMY.

Change-Id: Ie2fd577feeb46d61915c6974d8c627acb31e8b81
CRs-Fixed: 2096979
2017-08-25 23:27:37 -07:00
Kiran Venkatappa
fe1abe8c70 qcacmn: Add hw_mode_id for SBS_OR_DBS mode
Update hw_mode_id enum to add an entry for SBS_OR_DBS mode.

Change-Id: I642682dabc4b04e8d292a54995be17488e026093
CRs-Fixed: 2097571
2017-08-25 21:27:06 -07:00
Keyur Parekh
5e32fdec2b qcacmn: Add support for wmi pktlog disable
Add API to send WMI command to FW when pktlog disable
by user.

CRs-Fixed: 2095489
Change-Id: Id5960aa9447fbee534a3c1e8a21085bc6f12dc50
2017-08-25 20:06:29 -07:00
Varun Reddy Yeturu
34a374603c qcacmn: Configure MAWC NLO parameters to the firmware
Get the MAWC based NLO parameters from HDD/WMA and pass them
to firmware

Change-Id: I16ce12d36df7f3ccab4db32b4d7f72a0f9762795
CRs-Fixed: 2064837
2017-08-25 18:46:30 -07:00
Varun Reddy Yeturu
f0d90c7f28 qcacmn: Configure MAWC roaming parameters to firmware
Get the MAWC based roaming parameters from CSR/WMA and pass them
to firmware

Change-Id: I78a287a39715dbabcceb2cb5c4270726ba265d61
CRs-Fixed: 2064837
2017-08-25 18:46:28 -07:00
Gyanranjan Hazarika
b5d426d683 qcacmn: D1.3 support - Code changes for Ie-Id, Length and IE-Id Ext
D1.3 defines the IE Id, Length and IE ID Extension for HE CAP and HE OP.
Host changes to accommodate them.

Change-Id: Idc3848b5486d05807cdc2ca3fb45ac493243558e
CRs-fixed: 2095550
2017-08-25 16:46:27 -07:00
Pratik Gandhi
7613908cb9 qcacmn: SmartMesh add support for multi radio
Add support for multi-radio  to smart mesh feature

Change-Id: I21f1a59be419cf68b3c038a08c58f17c82df33bb
CRs-Fixed: 2017269
2017-08-24 17:07:24 -07:00
Linux Build Service Account
8b300c08c1 Merge "qcacmn: Fix race condition that Tx is paused by flow control forever" 2017-08-24 08:11:07 -07:00
Linux Build Service Account
a75fdd8b0c Merge "qcacmn: Fix the use of uninitialized variable in policy manager" 2017-08-24 08:11:07 -07:00
Linux Build Service Account
e18cb77f4e Merge "qcacmn: Reduce log spam from policy manager" 2017-08-24 08:11:06 -07:00
Linux Build Service Account
9472baa04e Merge "qcacmn: Add support for back to back htt stats" 2017-08-24 08:11:05 -07:00
Linux Build Service Account
39017b6b93 Merge "qcacmn: Fix DSCP to TID map table" 2017-08-24 08:11:04 -07:00
bings
4dcaf8b239 qcacmn: Fix race condition that Tx is paused by flow control forever
When hdd_get_tx_resource is called, if free Tx desc is lower than low water
mark, vdev->os_q_paused will be set as 1 and WLAN_STOP_ALL_NETIF_QUEUE will
be triggered after a while. Before WLAN_STOP_ALL_NETIF_QUEUE is triggered,
if ol_tx_flow_ct_unpause_os_q is called, WLAN_WAKE_ALL_NETIF_QUEUE will be
triggered and vdev->os_q_paused will be set as 0. In such case there will
be no flow control unpaused forever.

Tx should be paused by flow control when Tx desc is lower than low water
mark, and unpaused when Tx desc is bigger than high water mark or Tx is
already paused by flow control.

Change-Id: Ib60139fd94a4fb88c92a7f8aaf886ae9d3ca4c75
CRs-Fixed: 2090475
2017-08-23 22:07:26 -07:00
CNSS_WLAN Service
36aea6f563 Merge "qcacmn: Fix key index extraction for mesh rx stats" into wlan-cmn.driver.lnx.2.0-dev 2017-08-22 19:59:52 -07:00
Linux Build Service Account
418996a5ef Merge "qcacmn: Expand the use of gDualMacFeatureDisable INI" into wlan-cmn.driver.lnx.2.0-dev 2017-08-22 19:56:38 -07:00
Linux Build Service Account
51f59338d3 Merge "qcacmn: Fill rssi value in the mgmt rx event structure" 2017-08-22 13:11:59 -07:00
Tushnim Bhattacharyya
7c535ebbfa qcacmn: Reduce log spam from policy manager
Reduce log spam from policy manager by converting non essential & periodic
logs to debug level.

Change-Id: I3cb01b47dd56edcf141479b14ea1e51e89b0473a
CRs-Fixed: 2094743
2017-08-22 10:56:00 -07:00
Venkateswara Swamy Bandaru
348e125905 qcacmn: Fix key index extraction for mesh rx stats
Fixed key index extraction in hal api to get correct key index from
key id octet.

Change-Id: I342c05260b17c5baba868223e1b6e75d995823aa
CRs-Fixed: 2073737
2017-08-22 09:29:23 -07:00
Tushnim Bhattacharyya
3441a08f56 qcacmn: Expand the use of gDualMacFeatureDisable INI
Few OEMs want DBS to be disabled for connections while
keeping DBS scan enabled.
Few OEMs want advance DBS scan features to be disabled.
Provide different value to gDualMacFeatureDisable INI item
to achive the goal.

Change-Id: Iddf5df23575a2f907bb8dbd0c37e03ff4ebbdea8
CRs-Fixed: 2068779
2017-08-22 08:40:53 -07:00
Linux Build Service Account
5e29e77a44 Merge "qcacmn: Fix for kernel panic in wifi up path" 2017-08-22 08:06:12 -07:00