Commit Graph

166 Commits

Author SHA1 Message Date
Karunakar Dasineni
c45b01eb2b qcacmn: Fix bug in link descriptor pool setup
Fix bug in calculation of number of link descriptor entries per bank,
which was causing memory corruptions.

Change-Id: I68a86b8c644a4ef48a45ad5c98b739dced68d81d
CRs-Fixed: 2057893
2017-06-14 17:24:50 -07:00
karuna
b34c7b7c45 qcacmn: Add print functions to print HTT EXT TLVS
Read the TAG type from the buffer and call the corresponding
TLV display function

CRs-Fixed: 1114641
Change-Id: Ifec04b87af84229754f598fffa689979ff253f12
2017-06-09 16:12:52 -07:00
Venkata Sharath Chandra Manchala
99868ac3ca qcacmn: Unlock the tso segment descriptor pool
Unlock the tso segment and tso common segment descriptor
pool if there are no descriptors available in the freelist.

Change-Id: I5c09e381769cdaa914e03ced24dccae8aea90897
CRs-Fixed: 2042950
2017-06-08 15:23:19 -07:00
Dustin Brown
4a3b96b4f1 qcacmn: Pause CDP timer during bus/runtime suspend
Converged datapath currently uses a polling timer to check for pending
traffic. As part of suspend, pause the polling timer to avoid any
invalid accesses.

Change-Id: I6b4654c6737c08475443d021c04ba9385d084d74
CRs-Fixed: 2047505
2017-06-08 13:46:55 -07:00
Venkata Sharath Chandra Manchala
d6ad0d5c49 qcacmn: Print tx descriptor id
Print the tx descriptor id when a new
descriptor is allocated for a skb.

Change-Id: I7326a79149de124edc8ebf5b2b0d6349e385b321
CRs-Fixed: 2054538
2017-06-05 19:28:57 -07:00
Manikandan Mohan
b01696ba61 qcacmn: Fix mem leaks in datapath
Fix mem leaks reported in datapath code during module unload.

Change-Id: Ife95426df11d61b253110ed7153fe8f8981006ed
CRs-fixed: 2044907
2017-06-01 15:21:34 -07:00
Venkateswara Swamy Bandaru
a95b324a8c qcacmn: Add CDP APIs for configuring interrupt
Add CDP API for interrupt configuration to decouple interrupt
setup from soc attach / detach.

Change-Id: I422205ff5687fdc4a0936c68850455cc4e733e4d
CRs-fixed: 2046055
2017-05-30 22:01:12 -07:00
Dhanashri Atre
991ee4defc qcacmn: Modify legacy LRO implementation to use QDF
Modify the legacy LRO implementation to use the implementation
in QDF instead. This is to avoid code duplication and to unify
the LRO implementations for Napier and Helium.

CRs-Fixed: 2042812
Change-Id: I38e9da3b54392a1c5781133916361aac3875d43d
2017-05-26 16:11:22 -07:00
Ishank Jain
6290a3c543 qcacmn: Add APIs to enable HTT FW Stats
Adding support to parse stream of HTT TLV's recieved as response
to the HTT EXT stats request message

Change-Id: I44c990a1ed91c2381b89811de33c0717bd24be7d
CRs-Fixed: 1114641
2017-05-24 02:41:10 -07:00
Venkateswara Swamy Bandaru
15c68dadff qcacmn: Fix channel information mesh frame tx completion
Added channel info to meta header in mesh frame tx completion.

Change-Id: If032ee92330cc76c683f2b81af3707bccfe76fa9
CRs-Fixed: 2003389
2017-05-24 02:41:08 -07:00
Venkata Sharath Chandra Manchala
35503cce26 qcacmn: TSO fixes
1. Unmap tso common segment only after receiving
   completions for all the tso segments for a given
   skb.
2. Keep a track of num of free tso descriptors available
   in the pool of tso descriptors.

Change-Id: I01bdbb9e40b7259f77dbcfeec22c6d8cd0c0a6dd
CRs-Fixed: 2042950
2017-05-22 17:05:21 -07:00
Manjunathappa Prakash
ae66cda533 qcacmn: Remove excessive per packet logging in dp_rx_process()
Move excessive per packet logging inside undefined compile flag.
Eventually need to remove this debug logging.

Change-Id: If1470a4c780b4b718346982a69d6e5fb60e2287f
CRs-Fixed: 2049401
2017-05-22 13:16:14 -07:00
Adil Saeed Musthafa
03e2ac22d7 qcacmn: Change DP_TRACE level to FATAL (instead of NONE)
Change DP_TRACE and DP_TRACE_STATS to use FATAL level.
Set DP module at QDF_TRACE_LEVEL_FATAL by default.

Change-Id: Ia894c6695699192feed204bb0dffdb9cfd59480c
CRs-Fixed: 2048931
2017-05-20 19:26:09 -07:00
Dhanashri Atre
2fb392b7d5 qcacmn: Changes needed to support new hardware header files
Changes in the HAL APIs to adapt to the new hardware E6 header files.

The changes are in:
- The MSDU link extension descriptor
- The RX MSDU TLV (type_offset)

CRs-Fixed: 2033542
Change-Id: Ib314194f66fd2feea901f849753c9c91ec4a040c
2017-05-19 11:51:04 -07:00
Ishank Jain
b463d9a735 qcacmn: Bug fix for NAWDS
Add missing break statement after case to enable NAWDS in DP

Change-Id: Ia4fa740e083761d7cf8d798d82f33b7762bf58a3
CRs-Fixed: 2008205
2017-05-18 10:36:51 -07:00
Ishank Jain
997955e336 qcacmn: Add Support for Inspect Path for Lithium
Add peer-id in the meta data for the reinjected by the FW
and queue them to the HW.

Change-Id: I3f25d5f928b6891c06cad6ce3ed81df77d4e33ed
CRs-Fixed: 2024450
2017-05-18 10:36:48 -07:00
Sathish Kumar
e7e784d1b4 qcacmn: Adding SW workaround for raw mode AMSDU packets
Due to HW limitation, WEP bit is expected to be set in AMSDU packets
transmitted in raw mode.

Set WEP bit if the QOS frame is AMSDU during the tx processing of the
raw mode packet.

Change-Id: Ibaa7d95f6ebcf9016e3c02355b5f0ce909eb9a93
CRs-Fixed: 2042666
2017-05-18 09:45:22 -07:00
Bharat Kumar M
9a5d537249 qcacmn: changes to support lithium nss offload
Changes include
1. nss_cfg parameter to dp_soc.
2. nss_enabled field for pdev.
3. cdp api to enabled nss offload config.
4. skip rx ring configuration when nss enabled.
5. skip timter /interrupt configuration if
   nss is enabled.
6. peer map/unmap event hander.

Change-Id: Ic4a919b6b7e846e18cb15ebcb94f8736a751ecb5
2017-05-17 19:30:25 -07:00
Linux Build Service Account
c9dda4429c Merge "qcacmn: SON convergence" 2017-05-10 02:12:04 -07:00
Linux Build Service Account
467fede484 Merge "qcacmn: Move the lock initialization to module open for policy manager" 2017-05-10 02:11:59 -07:00
Bharat Bhushan Chakravarty
145d393444 qcacmn: SON convergence
1) Defined modularized public api for cdp module
to track inactivity and over load detection.
2) Initialization calls are added to attach and
detach SON specific api.
3) operating system specific calls are replaced with qdf calls.

Change-Id: I130d1e99208d6454f5d9888774534cc6d619ad83
2017-05-09 17:29:11 -07:00
Ravi Joshi
36f68ad7cb qcacmn: Enable support for receive defragmentation
Enable support for receive defragmentation on Lithium.

Change-Id: I6c1213db29d3b6e0a11506d6945d9ea05ece2c73
CRs-Fixed: 1109359
2017-05-08 14:59:04 -07:00
Ravi Joshi
e7148bdd67 qcacmn: Add new files for supporting rx defragmentation on cdp
Add new files for supporting receive defragmenation on converged
data path.

Change-Id: Ibe225cc116a10a94fd07add7964bba405b02414e
CRs-Fixed: 1109359
2017-05-08 14:59:02 -07:00
Linux Build Service Account
5954e29ed4 Merge "qcacmn: test change to validate on how to exclude MCL changes in WIN" 2017-05-08 01:53:25 -07:00
Ishank Jain
57c42a193c qcacmn: Add missing TxRx Datapath stats
1.Add QDF_TRACE_STATS for datapath stats to remove
  module prints.
2.Fix Stats indentation for better readability.
3.Add missing stats
  a. Update Packets on Rx side on per-ring basis.
  b. Add stats for features (TSO/SG/RAW/Mesh)
  c. Add packet type count on Rx.

Change-Id: Ief1719b67330f729ff60703ec2be26bc5e4201e9
CRs-Fixed: 2034876
2017-05-05 00:27:21 -07:00
Kabilan Kannan
56bfd8fdb3 qcacmn: Update address search flags for TDLS
Add support to set address search flags in WLAN Tx Descriptor
for TDLS operation

Change-Id: Iafb15fb1efd84a4bef436062368401a5496e4468
CRs-Fixed: 2041759
2017-05-05 00:27:20 -07:00
Pratik Gandhi
3da3bc731c qcacmn: Smart Mesh-NAC filtering in rx data path
Perform software based smart mesh filtering on rx packets indicated
as error packets with invalid peer. All such packets from NAC
sent to umac through monitor interface.

Change-Id: I8e4b40f74088bb8820d6ab6681756835e400d4ef
CRs-Fixed: 2017269
2017-05-04 01:40:28 -07:00
Venkata Sharath Chandra Manchala
918aefe25b qcacmn: Per ring - Per core statistics
Add ring_packets variable to collect packet count on rx
path. This stat variable is incremented on
per ring - per core basis.

Change-Id: If8b51a757b28c231a6444e6b7f2e336b8c0cdd8e
CRs-Fixed: 2035142
2017-05-03 11:00:45 -07:00
Nandha Kishore Easwaran
b3f70dd8d7 qcacmn: test change to validate on how to exclude MCL changes in WIN
Change-Id: I7325fe473fa66b11406877dbd936eccb320aa77e
2017-05-03 08:43:54 -07:00
Manikandan Mohan
50ec704606 qcacmn: Update for check patch fixes
Fix for compilation errors after check patch fixes

Change-Id: Ib530d8d860440754f526ac93f5b12dbeab45b8aa
CRs-fixed: 2033001
2017-05-02 13:29:33 -07:00
Pratik Gandhi
8b8334baa4 qcacmn: Smart Mesh-Add filtering configuration to data path
Add nac(non associated client) configuration to pdev. It will be
used to perform smart mesh filtering on rx packets.

Change-Id: I29989d379e10fcc4a0e4aa19dbb3499650d6bf39
CRs-Fixed: 2017269
2017-04-28 16:15:24 -07:00
Pamidipati, Vijay
c9a13a52c8 qcacmn: Set addr_search flags according to vdev opmode
Add support to set addr_search flags in WLAN Tx Descriptor
as per vdev operational mode

Change-Id: I25fcd4bf450982f8aecc6e91236211c17d5f3f22
CRs-Fixed: 2004658
2017-04-24 15:55:13 -07:00
Karunakar Dasineni
ca792543cf qcacmn: Enable WDS learning only when configured
Add support to make WDS source port learning in lithium datapath
to be configurable.

Change-Id: I63eb64d6f46560a31f8e40a806d05d1dceddd784
CRs-Fixed: 2004658
2017-04-20 10:51:25 -07:00
Venkateswara Swamy Bandaru
7e19ec5b53 qcacmn: Fix mesh rate extraction from meta header
Accoring to new meta header format mcs, nss, preamble_type and retries
information will present in rate_info field. Changes done to extract
these fields and update ext2 header to firmware.

Change-Id: I56926f39f2ba17446418c7eae0fd382247430df8
CRs-Fixed: 2003389
2017-04-20 08:18:12 -07:00
Ravi Joshi
a2e796c403 qcacmn: Add radiotap header for supporting monitor mode
Adding radiotap header to support light and full monitor mode.

Change-Id: I215d24434ef0987eff3d141e022356f9378a0f47
CRs-Fixed: 1113187
2017-04-19 14:40:38 -07:00
Pramod Simha
7f7b4aa23d qcacmn: Changing DBS query method from DP
Changing the method DP queries WMA regarding
DBS capability. Now his call will be made through
policy manager.

Change-Id: I269537761a7acfa7e20a00c0ee7fc26ec1d17106
CRs-Fixed: 2025317
2017-04-18 17:15:21 -07:00
Venkata Sharath Chandra Manchala
d817164e95 qcacmn: Remove debug message in Tx completion process
Remove debug message to print pdev id in
dp_tx_comp_process_desc to avoid flooding of
print messages on serial console

Change-Id: I141b59a9e477aec25f3d9f8a424397d382903d58
CRs-Fixed: 2017426
2017-04-18 17:15:04 -07:00
Tallapragada
aa3bfccdea qcacmn: Add support for Native wifi for Hawkeye
handle packets received in native wifi mode.

Change-Id: I146f748923e2d70fa0634f260d73fcacd213983d
2017-04-18 17:14:04 -07:00
Dhanashri Atre
0da3122669 qcacmn: Lithium LRO Support in the Data Path
Add support to extract LRO information provided by
the hardware and utilize the support provided by QDF to
perform LRO.

Change-Id: I00a26573a450e9c32586b3d5fb656dbfe802cfac
CRs-Fixed: 1107169
2017-04-17 14:52:18 -07:00
Venkata Sharath Chandra Manchala
65bf2306f0 qcacmn: Fix memory leak for soc handle
Free the allocated memory for soc handle
in dp_soc_detach_wifi3

Change-Id: I555b9a7493338d064f2472704e24a5625800d081
CRs-Fixed: 2017582
2017-04-17 14:11:58 -07:00
Venkateswara Swamy Bandaru
19dc8b23a6 qcacmn: Fix to configure external group interrupts
After configuting the external group interrpts called configuring api
to configure external group interrupts.

Change-Id: I9db8c9dc941421fa05676be732147929be24b0e6
CRs-Fixed: 2018655
2017-04-14 11:50:32 -07:00
Ishank Jain
c838b133c1 qcacmn: Add Mcast enhancement feature support
Feature to convert Multicast packet and send them as unicast.

Change-Id: I64d44ac337bd366c6799226fd69f89cd3e46e65d
CRs-Fixed: 1116432
2017-04-14 10:17:19 -07:00
Tallapragada Kalyan
3a0005c210 qcacmn: skip wds handling for raw mode pkts
avoid  wds source port learning for RAW pkts

Change-Id: I38e27890bd4cd12b812a584a32de10499ef736fe
2017-04-12 05:22:30 -07:00
Tallapragada Kalyan
fd1edcc084 qcacmn: Add support for radio-based packet steering
packets received on a particular radio are queued to
a user configured reo destination ring.

Change-Id: I080090f22b80fd8d8868df4145b82888e1111cea
CRs-Fixed: 2017081
2017-04-12 04:42:35 -07:00
Venkateswara Swamy Bandaru
0bce0449f0 qcacmn: Fix for htt_included bit issue for mesh raw packets
HTT meta data valid set properly for scatter gather path mesh packets.

Change-Id: I6dc5b061bc187f3679e9bc80615168724469fdd3
CRs-Fixed: 2003389
2017-04-12 03:17:24 -07:00
Pamidipati, Vijay
8a4e27cd59 qcacmn: Move qdf_nbuf_map call to after adding HTT header
Remove the dependency of dma_map for align_pad calculation
move the dma_map to correct position after mesh mode header addition

Change-Id: Idd309ed47d82f68f97191048c582c1b429f3b378
CRs-Fixed: 2004658
2017-04-11 11:04:45 -07:00
Venkata Sharath Chandra Manchala
a405eb741b qcacmn: Add dump stats feature for Lithium
Add support for dump statistics in Lithium.
Statistics include:
	1. Tx path packet flow
	2. Tx Histogram stats per interrupt
	3. Rx path packet flow
	4. Rx Histogram stats per interrupt

Change-Id: I7f399b717a9fb29a3d6ab672b669c6e323f61e27
CRs-Fixed: 2023386
2017-04-11 11:04:37 -07:00
Pramod Simha
bc0a546d58 qcacmn: Fix for ping failure due to intrabss fwd logic
Intrabss forwarding logic turns around bcast (ARP) pkts on the
SAP with peer source addr. So a AST lookup on AddrY results will
route the pkt to HW and not FW which is not the design. Fix is to
enable lookup only on AddrX in SAP mode.

Change-Id: Iea41c53fd818acfb8dbfd9ad1582e43ba1c4bc83
CRs-Fixed: 2029656
2017-04-11 11:04:25 -07:00
Ishank Jain
e73c403a0b qcacmn: Add missing stats for Host Lithium Stats
Add Invalid Peer stats on rx side
Add aggregation stats missing on Tx
API to update Rx Errors

Change-Id: Ib757ee7b89d9b9113e1a41b5a520faabb9ff28bb
CRs-Fixed: 1114641
2017-04-11 11:04:18 -07:00
Pamidipati, Vijay
41e34b1ca3 qcacmn: Fix the position of qdf_nbuf_map in Tx DP
Move the qdf_nbuf_map to correct position before align_pad is
computed for mesh mode header addition

Change-Id: Ia62137daea2ab09e93a86c4b9da681f5591ce947
CRs-Fixes: 2004658
2017-04-04 16:14:53 -07:00