Commit graph

3,118 commits

Author SHA1 Message Date
Bharat Kumar M
dd67f457f8 qcacmn: decrease the size of tx comp ring for nss
NSS requires the ring size to be power of 2.
The tx comp ring size is reduced to 4096
when nss is enabled.

Change-Id: Ied70faefdfe68eb2b7929ff6af4bed5a9e75068e
2017-07-19 09:42:37 -07:00
Manjunathappa Prakash
5f050a8187 qcacmn: Include cdp_txrx_flow_ctrl_v2.h only if V2 flow control enabled
Fix compilation error failing for V2 flow control data structures.

Change-Id: I6cca1f7183b483f5e2403d95cd6ec77a959e47a0
CRs-Fixed: 2078435
2017-07-19 00:40:54 -07:00
Rajeev Kumar
e501f2c62f qcacmn: Create WMI debugfs only if WLAN_DEBUGFS is defined
WMI FW log debug FS is created irrespective of WLAN_DEBUGFS is defined
or not. Make sure to only create WMI log debugfs only if WLAN_DEBUGFS
is defined.

Change-Id: I8d7d5ef160ce2674b3f01dc7afa3ac4761538cab
CRs-Fixed: 2066664
2017-07-18 23:46:22 -07:00
Varun Reddy Yeturu
b586792e63 qcacmn: Fix number of buffers in ROAM_INVOKE command
Fix the number of buffers being passed in ROAM_INVOKE command
to the firmware. Fill it only if there is a valid beacon or
probe response being sent to the firmware

Change-Id: I0f569b847091bb9eb92a92de949c90ace0ab51fe
CRs-Fixed: 2077075
2017-07-18 23:45:37 -07:00
Manjunathappa Prakash
133af812fb qcacmn: Do not include cds_api.h in dp_tx_desc.h
WIN compilation fix, cannot include cds_api.h in dp_tx_desc.h

Change-Id: Ia3a83a07f3353e72267daaf14a908c9144bb3e46
CRs-Fixed: 2078435
2017-07-18 23:35:17 -07:00
Varun Reddy Yeturu
aa4811806e qcacmn: Fix CLANG warnings in wmi_unified_tlv.c
Fix implicit conversion from enumeration type 'A_STATUS' to different
enumeration type 'QDF_STATUS'
Fix implicit conversion from enumeration type 'QDF_STATUS' to different
enumeration type 'A_STATUS'
Fix implicit conversion from enumeration type 'WMI_START_EVENT_PARAM' to
different enumeration type 'WMI_HOST_START_EVENT_PARAM'

Change-Id: I1d8c7781baaaf6461273298e8eb82ff841d3c8fc
CRs-Fixed: 2063149
2017-07-18 23:35:16 -07:00
Nachiket Kukade
13e5613615 qcacmn: Remove QDF_BUG from htc_wait_recv_ctrl_message
Currently if Firmware is down during probe, driver will BUG_ON and
re-probe will not happen. Remove QDF_BUG to allow driver to fail
gracefully, allowing re-probing by the platform driver.

Change-Id: I65fca58168f1c8413eef4790c0f428e64a58f3a7
CRs-Fixed: 2027472
2017-07-18 23:35:15 -07:00
Srinivas Pitla
6856482065 qcacmn: Object Manager debug print changes
1) Rate limit object manager logical delete state prints

   On object search/requesting reference in tasklet leads to many prints
   for logically deleted objects causing timing related issues.

   As these prints needed for debug, This change would rate limit the prints

2) Print all objects ref counts

3) Fixed style issues got introduced in other gerrits

Change-Id: I929976875f8da3ce2114d540735515d792836762
CRs-Fixed: 2068364
2017-07-18 23:35:14 -07:00
Rajeev Kumar
607d7cef03 qcacmn: Log QDF trace error/fatal messages using pr_err
Currently QDF trace error/fatal log messages are logged using
pr_info and bydefault these logs do not show up on console.
Hence log QDF trace error/fatal log messages using pr_err
such that bydefault these logs show up in console.

Change-Id: I220e5eb93ea21d01b948c40432179f294530ba0d
CRs-Fixed: 2070065
2017-07-18 23:35:13 -07:00
Naveen Rawat
eac514c1a9 qcacmn: Make ndp channel config parameter optional
The ndp channel config has no meaning if ndp channel itself
is optional. Host will send ndp channel config as "optional"
to FW if it is missing in the ndp command.

Change-Id: I59e245f3fb05ae35aa185fba7bad09608f5334c8
CRs-Fixed: 2072502
2017-07-18 23:35:12 -07:00
Rajeev Kumar
fd40df4bbc qcacmn: Log leaked SKB counts before calling QDF_BUG
If SKBs are leaked then 1st log number of SKBs leaked
and then trigger QDF_BUG.

Change-Id: I355e33727b7772af7bd58b9eabbd109bfa3ea2f0
CRs-Fixed: 2065760
2017-07-18 23:35:10 -07:00
Srinivas Girigowda
ad612a2371 qcacmn: Update MODULE_LICENSE to "Dual BSD/GPL"
Update MODULE_LICENSE to "Dual BSD/GPL".

Change-Id: I8ee3bbc9881d97b771ad61fd43b7b0ca0d00dc73
CRs-Fixed: 2077923
2017-07-18 23:35:09 -07:00
Ashok Ponnaiah
26e6be4b76 qcacmn: Add WAPI support in crypto convergence
Added WAPI support in crypto convergence.
Included WAPI IE parsing and adding WAPI IE.

CRs-Fixed: 2073813

Change-Id: I23cecb45d0a2282fffba5c2e95ad8592801c0818
2017-07-18 23:35:08 -07:00
Ashok Ponnaiah
4db9b8ff28 qcacmn: Set default key bit only for default key
Set default key bit only for default key. For rest of the peer
keys don't set default bit

Change-Id: If8b608d60eddea1a04202ff322de7b09d471b40e
2017-07-18 23:35:07 -07:00
Kapil Gupta
de02d4f62b qcacmn: FILS indication IE changes
Add changes to add FILS indication info element in scan result.

Change-Id: I341c30fe23ac8bfe518752d783d23094cbc2ac98
CRs-Fixed: 2068436
2017-07-18 23:35:06 -07:00
Manjunathappa Prakash
ced7ea6cf2 qcacmn: Add changes for Napier flow control
Adds support for flow control on convergence branch.
Allocate Tx descriptors dynamically when vdev comes up.
Tx queue is paused and unpaused internally in host based on the
stop and start thresholds.
Changes are added under compilation flag QCA_LL_TX_FLOW_CONTROL_V2.

Change-Id: I0ccb80b0099f39efad52ccd7d47f2709fdee2a93
CRs-Fixed: 2040457
2017-07-18 23:35:05 -07:00
Linux Build Service Account
43e9c64f30 Merge "qcacmn: Fix PMF in crypto convergence" 2017-07-16 15:52:24 -07:00
Linux Build Service Account
6e5563fc0f Merge "qcacmn: WAR for RXDMA packet drop issue" 2017-07-16 15:52:24 -07:00
Nandha Kishore Easwaran
cf08b7385e qcacmn: convert target HT cap bitmap to host bitmap
HT cap bit map is different for tlv and non-tlv based firmware.
Convert target cap to host cap bitmap to abstract out the differences.

Change-Id: Ia803efa3a895c7faa159d8051277d2a926b365a5
2017-07-15 19:35:20 -07:00
Abhijit Pradhan
1e656c2eed qcacmn: Fix channel mismatch issue
Number of reg rules in APL16 regdomain was 3. Therefore,
supported channels shows from 36 through 116.
Updated number of reg rules to 5 to enable the channels
from 36 through 165.

Change-Id: I1d7d95629e19facf7751ccae6f60aeef6eda1ba3
CRs-Fixed: 2075975
2017-07-15 14:36:27 -07:00
Pamidipati, Vijay
eb8a92cedc qcacmn: Add support for delivering unencrypted errors
In mesh mode, it is possible to receive unencrypted frames while security
is enabled. Deliver such frames to OS stack.

Change-Id: Id148b6ecc1432b419ae97c92f2340155f3d851bf
CRs-Fixed: 2004658
2017-07-15 14:36:26 -07:00
Nandha Kishore Easwaran
403b085d0a qcacmn: Change trace level of dp_trace to debug
Changing the trace level of dp_trace from none to debug so that
packets are visible in live mode when debbug is enabled

Change-Id: I6e5de90292580006690c03021f0e5e837dbcefbf
CRs-fixed: 2076734
2017-07-15 11:38:58 -07:00
Pamidipati, Vijay
b8bbf16192 qcacmn: Add support for WDS aging
Add support for monitoring receive traffic from WDS nodes and
aging out inactive WDS nodes

Change-Id: Iedea826832a5421714c00bccadc6e0dc4acd4c7e
CRs-Fixed: 2004658
2017-07-15 11:38:57 -07:00
Kiran Venkatappa
a7b6842a72 qcacmn: Initialize msdu_info in dp_tx_send_multiple
Initialize msdu_info before calling API to queue frames in HW. msdu_info
provides tid info which was going as random value to HW causing target
assert. Intialize it so that proper value is used.

Change-Id: I5028508f05b7b8ff2be123c21b3aed75adeb54d8
CRs-Fixed: 2076799
2017-07-15 10:05:33 -07:00
Nandha Kishore Easwaran
786c9550d6 qcacmn: Fix wlan_crypto_setkey to set ucast key for correct macaddr
Ucast key was not being set for correct peer macaddr.
Changed key flags for bcast to include WLAN_CRYPTO_KEY_GROUP
and set keys for correct peer.

Change-Id: I6859dc837ee6678dc11f9aadbb2a6bc0d0e9885f
2017-07-15 10:05:32 -07:00
Gurumoorthi Gnanasambandhan
5214f28e3e qcacmn: Remove hardcoded stats_id in send_get_stats_cmd_tlv
Initialize stats_id based on stats_mask instead of hard coded value in send_get_stats_cmd_tlv

Change-Id: Ibe007311ecdc848dee34502dd3f288c99a6fe7e4
2017-07-15 10:05:31 -07:00
Gurumoorthi Gnanasambandhan
6e1128196a qcacmn: Add WMI_PMF flag to pdev for PMF support
In TLV path WMI_PMF flag was missing when setting the PEER flags

Change-Id: Ibae0ff57f0d6bfb6207365a090dd95bf7e776b8c
2017-07-14 21:04:38 -07:00
Pratik Gandhi
26f45f7b0b qcacmn: nbuf cb optimization
Rearranged qdf_nbuf_cb to avoid padding bytes

Change-Id: I597ffdfee49896eda0302a8448845568f3678afb
CRs-Fixed: 2065367
2017-07-14 20:15:21 -07:00
Karunakar Dasineni
15a3d48c75 qcacmn: WAR for RXDMA packet drop issue
When monitor RXDMA is enabled, regular RXDMA will drop a good packet
whenever an error is indicated in monitor path due to a HW bug. To
avoid this, a dummy buffer will be used to receive packets passing
"monitor other" filter on regular DMA, which will be received on
RXDMA2HOST ring. These packets should be ignored based on a special
cookie value.

Change-Id: I348527f662cd664652d8d99c01484bb310c6e705
2017-07-14 18:56:38 -07:00
Mukul Sharma
a4b8d35756 qcacmn: Move PMO from CMN to CLD
Move PMO from CMN to CLD.

Change-Id: I0545e7d2c934ff6558694b439b33c1debf0f5e0a
CRs-fixed: 2071526
2017-07-14 17:36:04 -07:00
Ashok Ponnaiah
2a3df50dea qcacmn: Fix PMF in crypto convergence
changed the parameters in qdf_mem_zero
fixed issues in MMIE calculation.

CRs-fixed: 2073813
Change-Id: I01baa30fa1f51bb50116458d7c563c894ed44ec5
2017-07-14 10:34:09 +05:30
Abhijit Pradhan
59626eba4b qcacmn: Set country code for full-offload using iwpriv command
For full-offload, send user country code to FW using WMI
command.

Change-Id: I84acbd7ce30aa9a8ce590c8fadea2cb5914240fe
CRs-Fixed: 2053849
2017-07-13 22:02:53 -07:00
Abhijit Pradhan
f4dc3785e9 qcacmn: Regulatory Updates
Regulatory spec changes(Regdomain_23).
Removed below country codes from the regulatory database.
* IRAN
* KOREA NORTH
* SYRIA

Change-Id: Ieedfe73d0b6c2192027038f63f6ca4369666cf2a
CRs-Fixed: 2074470
2017-07-13 22:02:51 -07:00
Karunakar Dasineni
80cded8b4a qcacmn: WAR for incorrect MSDU count in MPDU desc
Rx MSDU count received in mpdu descriptor may be incorrect
sometimes due to HW issue. We should check msdu buffer address
in each Rx msdu buffer entry in RX msdu link descriptor.

Change-Id: I86af4797cfb79fad33977cf53d62a8d368dc3543
2017-07-13 16:08:16 -07:00
Pramod Simha
e0baa4436a qcacmn: Add misc list to hold HTT msgs
Add a misc list which stores HTT msgs & later frees them during rmmod.
This is required to prevent memory leaks during rmmod.

Change-Id: Iecc04ec38cfa1b459064da74dffa5bfeffdba956
CRs-Fixed: 2068058
2017-07-13 14:49:08 -07:00
Ravi Joshi
c05a6a163c qcacmn: Fix driver initialization due to issues in pktlog init
Currently pktlog is available only for WIN. The pktlog APIs
return negative error code for MCL implementation since they
are not available, causing the regression.

CRs-Fixed: 2074614
Change-Id: I830181233fb6fe0d6299c42f2ccd27b6d894857f
2017-07-13 14:49:07 -07:00
Houston Hoffman
b3497c0daf qcacmn: Strip hif_irq_afinity of duplicate logic
Leave the duplicate logic in hif_napi.c until
more thorough cleanup can be done.

Also clean up the HELIUMPLUS macro dependency.

Change-Id: Idbfaacb3b74b358198691a288def07d454e17659
CRs-Fixed: 2051902
2017-07-13 03:38:01 -07:00
Houston Hoffman
a0ecf33aa9 qcacmn: Duplicate hif_napi files
Duplicate hif_napi files to replicate the irq afinity handling
for hif_exec objects.

Change-Id: I31429ed188e6f40bb34aa8d22225752e311d364e
CRs-Fixed: 2051902
2017-07-13 03:38:00 -07:00
Houston Hoffman
def86a361b qcacmn: Introduce hif_exec_context
hif_exec_context extends hif_ext_groups to support napi and tasklet models.
Some of the rename and enahancements have been done to support merging of
the execution context management code between the CE and DP contexts, as
well as supporting irq affinity for both napi & tasklet contexts.

Change-Id: I82c8abf2e906f027ec80faf7353a7685536bb79b
CRs-Fixed: 2051902
2017-07-13 03:37:59 -07:00
Rajeev Kumar
bc19894820 qcacmn: Add QDF debug capability to track total SKB allocation
Enhance existing SKB leak debug capability to track total
SKB allocation by driver in SLUB debug enabled builds.

Change-Id: I6bb19ab482961febd8bb5adebe8f71e732ff60dd
CRs-Fixed: 2066205
2017-07-12 21:44:29 -07:00
Srinivas Girigowda
7dacc4efe3 qcacmn: Fix clang warnings implicit enum qdf_dma_data_direction
warning: implicit conversion from enumeration type 'enum
 qdf_dma_data_direction' to different enumeration type 'enum
 dma_data_direction' [-Wenum-conversion]

Change-Id: I181a448c48e8975025e67c2fc5ef44d3022ff1a0
CRs-Fixed: 2055513
2017-07-12 20:12:52 -07:00
Srinivas Girigowda
71a8dc51af qcacmn: WMI: Reduce the log spam in kmsg
Move the logs to appropriate log levels to reduce
the log spam in kmsg.

Change-Id: Icc2d55626908b6e6448567b259af106e3314827e
CRs-Fixed: 2017427
2017-07-12 20:12:51 -07:00
Srinivas Girigowda
38ee305644 qcacmn: HTC: Reduce the log spam in kmsg
Move the logs to appropriate log levels to reduce
the log spam in kmsg.

Change-Id: I1a20a6b9e4c9de8c79517aafed70f0e7eea920fb
CRs-Fixed: 2017427
2017-07-12 20:12:50 -07:00
Srinivas Girigowda
43977f7e6d qcacmn: Fix kernel checkpatch warnings in QDF
Fix kernel checkpatch warnings in QDF.

Change-Id: Id2f54c6c436bde55b040012fbbe9922cb177461e
CRs-Fixed: 2028128
2017-07-12 20:12:49 -07:00
Srinivas Girigowda
4831049768 qcacmn: Fix clang compilation warnings
Fix clang compilation warnings.

Change-Id: If7d2d148f4d478d151640ee1a85ca64a9096cdd2
CRs-Fixed: 2055513
2017-07-12 20:12:48 -07:00
Sathish Kumar
09d4de8f98 qcacmn: Populate tx params tlv for mgmt and offchan tx WMI commands
Populate tx params tlv that includes information related to power,
chainmask, bandwidth mask, preamble type, frame type etc to the mgmt
and offchan tx WMI fixed param

Currently, we send the command with TX params valid set to zero always
and hence target does not look for the TX param TLV. This change
implements API to populate TX params TLV that facilitates configuration
of parameters per TX frame be it data or management frame

If the TX params valid is set to false, target decides the values
to use for each of the mentioned TX parameters

Change-Id: I90a1b5e1c9bf0a54a907876ed3629c2d627b3c98
CRs-Fixed: 2070454
2017-07-12 20:12:47 -07:00
Mohit Khanna
ed31227496 qcacmn: TSO - Fix ip_len for ipv6 packets
IP length is being calculated incorrectly for ipv6 packets during TSO.

Fix IP len to exclude IP header and include only the payload length
(TCP header + application payload).

Change-Id: I577e3da77e4cbfba0b76c0e5bce3700be2b70c19
CRs-Fixed: 2057055
2017-07-12 19:26:09 -07:00
Venkata Sharath Chandra Manchala
532cd5f161 qcacmn: Fix for Tx software descriptor leak
Release Tx software descriptor if access to ring
fails

Change-Id: I23152301b8042af402b9c605b69a2e68d9a0c85c
CRs-Fixed: 2042201
2017-07-12 19:26:08 -07:00
Dustin Brown
734cfbb2cb qcacmn: Enable wake event config for all device modes
There are several device operation modes that are not handled when
configuring wake events to firmware. Ensure all of the supported device
operation modes are mapped when configuring wake events to firmware.

Change-Id: I82042441bcc6810a4ef91a1a6996a758f7ef4736
CRs-Fixed: 2068814
2017-07-12 17:41:56 -07:00
Om Prakash Tripathi
2cd7fab473 qcacmn: create work queue to process htt stats
process htt stats in work queue context

Change-Id: Ibacc09e3921da2fa88173bc0cfdc2f0ced51cc68
CRs-Fixed: 2070977
2017-07-12 13:48:56 -07:00