Графік комітів

56 Коміти

Автор SHA1 Повідомлення Дата
Manikandan Mohan
8b4e201376 qcacld-3.0: Setup CDP interface for flushing RX queue
Refactor flush rx queue function call based on soc by adding an
interface to CDP funtion indirection table.

Change-Id: I2d05acd023baf156c5b0752447d76d0e9e92ff53
CRs-fixed: 2023399
2017-03-24 19:01:18 -07:00
Poddar, Siddarth
28014e9769 qcacld-3.0: Handle error condition when dma map fail
Change the return type to QDF_STATUS of htt_tx_desc_init function
to handle dma map and other error condition.
Free the tx descriptor if this function returns error.

CRs-Fixed: 2021634
Change-Id: Ib9154de308154c43c202ad8a88ecdfff04be47a2
2017-03-20 07:47:44 -07:00
gbian
62edd7e2db qcacld-3.0: Add ini keys for WRR tx scheduler tuning
qcacld-2.0 to qcacld-3.0 propagation

Add below four keys to allow user to tune WRR TX scheduler params.
Each key is mapping to one AC defined in data path module through
OL_TX_SCHED_WRR_ADV_CAT_CFG_SPEC.
	gEnableTxSchedWrrBE
	gEnableTxSchedWrrBK
	gEnableTxSchedWrrVI
	gEnableTxSchedWrrVO

Change-Id: I5c34b604297d83673ea065243cc58c3f2180ff3e
CRs-Fixed: 1020141
2017-03-08 15:54:49 -08:00
Himanshu Agarwal
18d6b8c19b qcacld-3.0: Replace HELIUMPLUS_PADDR64 with HELIUMPLUS
Replace HELIUMPLUS_PADDR64 preprocessor macro with already
existing preprocessor macro HELIUMPLUS.

Change-Id: I4f109fc939e12323565bc05c89cc51dff3f3a7f3
CRs-Fixed: 2006551
2017-03-05 21:26:23 -08:00
Venkata Sharath Chandra Manchala
0d44d455fa qcacld-3.0: Handle void pointer declarations for pdev and vdev
Replace void pointer handles for pdev and vdev
with abstract structure handles

Change-Id: Idd9a2521249e30faf1143f671c4d2d924fe231e8
CRs-Fixed: 1109835
2017-02-15 12:26:46 -08:00
Yu Wang
053d3e7009 qcacld-3.0: fix compilation errors for HL target
For HL target, CONFIG_HL_SUPPORT is enabled, which
cause sevaral compilation errors.
1. Couldn't find the definition of adf_xxx APIs.
   Replace adf_xxx APIs with qdf_xxx APIs.

2. ol_tx_msdu_id_storage() return a wrong value,
   implementation and definition mismatch.
   Correct the return value to: pointer to tx desc_id.

3. Some of CONFIG_HL_SUPPORT/FEATURE_WLAN_TDLS feature
   related code are not embraced by the macro properly.
   Embrace the code with right macro for each feature.

Change-Id: Ibf09fd78f85327200dede8c32bc215208e54b798
CRs-Fixed: 2004340
2017-02-14 16:28:14 -08:00
Himanshu Agarwal
5501c19153 qcacld-3.0: Use spinlock and local variable store to avoid race condition
Access to TSO stats related parameters are not protected by spinlock.
Due to this, race condition is happening in concurrency scenario where
processing of 2 packets is going on simultaneously and crash is happening
as we are writing in out of bound memory and then tries to access it.

Use spinlock and local variable store to avoid race condition.

Change-Id: I37413ab7ccf6bd5171815af0038401925aa7831b
CRs-Fixed: 1114150
2017-02-14 00:22:28 -08:00
Jeff Johnson
2338e1aac5 qcacld-3.0: Properly export ol_txrx.c APIs
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code in ol_txrx.c which is generating warnings
because not all public APIs have prototypes defined. Define the
missing prototypes for all public functions, and make static all
functions which are only referenced internally to ol_txrx.c.

Change-Id: I0acb51d0d9b5f76ef9754ab9cdc0b9fa8fa70097
CRs-Fixed: 1113061
2017-01-20 16:46:36 -08:00
Poddar, Siddarth
a78cac3fe6 qcacld-3.0: Relocate and rename cds_flush_cache_rx_queue()
API cds_flush_cache_rx_queue() is added as part of propagation
from qcacld-2.0. This function does not belong in CDS but
instead belongs in TXRX because corresponding function in
qcacld-2.0 is tl_shim_flush_cache_rx_queue() which is a datapath
function.

CRs-Fixed: 1106306
Change-Id: I6ca10fa9ebb7ad7cdc0b54ff7ed2cc0595b7d82d
2017-01-10 23:08:47 -08:00
Kai Liu
0c2b5e57a0 qcacld-3.0: Store tx desc id in sk_buff instead of skb head
qcacld-2.0 to qcacld-3.0 propagation

In MDM ap+ap case, sometimes kernel issues two skb but has same mem
address of skb head and driver tx desc id is stored in skb head, so the
first id will be overwrote by the second one. Will hit crash when handle
the tx_desc.
The solution is storing tx desc id in sk_buff to avoid the case that two
skb has same tx desc id.

Change-Id: I2186a06ad3ec929683292c4c052904a18427cc64
CRs-Fixed: 951208
2017-01-09 11:21:25 -08:00
Jeff Johnson
bacec0978c qcacld-3.0: Properly export ol_cfg.c APIs
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code in ol_cfg.c which is generating warnings
because not all public APIs have prototypes defined. Define the
missing prototypes for the following:
	ol_pdev_cfg_attach()
	ol_set_cfg_rx_fwd_disabled()
	ol_set_cfg_packet_log_enabled()

Change-Id: I787d4d7954751cda2878229d1d8967e1c168f95c
CRs-Fixed: 1104124
2017-01-05 12:06:41 -08:00
Jeff Johnson
ffa9afc941 qcacld-3.0: Properly export ol_tx_set_flow_control_parameters()
Currently the qcacld-3.0 driver does not build cleanly when compiled
with the gcc -Wmissing-prototypes switch. One set of warnings is due
to ol_tx_set_flow_control_parameters() not being exported properly.
Address the warnings by properly exporting this function.

Change-Id: Iec79c1684c74312fa121349c1d7f721666bf904a
CRs-Fixed: 1103127
2016-12-21 12:10:02 -08:00
Himanshu Agarwal
f65bd4cf8f Revert "Revert "qcacld-3.0: Dump Tx/Rx packets during connection""
This reverts Change-Id I2aec7253511d2ca7b08ca77d858a46f9c01d4e9d

Adding support for dumping 32 tx/rx packets during connection
by reverting above change as "exceeding skb buffer size and
leading to crash" issue is resolved with this change.

Change-Id: I951355776461706bb52eeee0527819377e7b7857
CRs-Fixed: 1097280
2016-12-09 13:22:41 -08:00
Leo Chang
9872676b91 qcacld-3.0: dp: change legacy data path api to cdp api
Remove legacy apis call from out side of data path.
Replace legacy apis to cdp apis.
Introduce cdp apis wrappers.
dp module.

Change-Id: I345abb70b6ddd7f5768cea2d933e0023c5742b4a
CRs-fixed: 1075736
2016-11-17 19:13:13 -08:00
Manjunathappa Prakash
af88fc7dfc Revert "qcacld-3.0: Dump Tx/Rx packets during connection"
This reverts Change-Id Icd08475c3f81aa182c902b8e8defbdb904c5509d

Above change was exceeding skb buffer size and leading to crash.
For now removing the support for dump Tx/Rx packets during connection.

Change-Id: I2aec7253511d2ca7b08ca77d858a46f9c01d4e9d
CRs-Fixed: 1083912
2016-11-12 00:24:05 -08:00
Himanshu Agarwal
0527e8f6d2 qcacld-3.0: Dump Tx/Rx packets during connection
Propagation from qcacld-2.0 to qcacld-3.0.

Add changes to send 32 tx/rx packets to HAL layer during connection.
This can help in debugging connection related issues.

Change-Id: Icd08475c3f81aa182c902b8e8defbdb904c5509d
CRs-Fixed: 959645
(cherry picked from commit 45416eeee7dde24f1456e0c2b667e8147742f054)
2016-10-28 18:04:13 -07:00
Yun Park
4d968dfdc0 qcacld-3.0: Support bigger Tx MSDU ID partition
When both host and FW support a new partition, FW uses host use
the new parition HTT_TX_IPA_NEW_MSDU_ID_SPACE_BEGIN.
If FW doesn't support a new partition, host falls back to use old
HTT_TX_IPA_MSDU_ID_SPACE_BEGIN.
Handshaking is done through WMI_READY and WMI_INIT.

Change-Id: I974c931e1b4b2d84e809ec19537a09b679932568
CRs-Fixed: 1072812
2016-10-18 19:54:18 -07:00
Dhanashri Atre
e7d442a315 qcacld-3.0: Add LRO Statistics
Add the following statistics for LRO
- packet count based on the number of packets aggregated
- total number of LRO eligible and ineligible TCP packets
- total number of packets aggregated
- total number of flows flushed
- number of times an LRO descriptor was not found

Change-Id: Icea6b7745df9bda5b517c1a7f27c8395ede2cec6
CRs-Fixed: 1042116
2016-10-18 15:09:40 -07:00
Manjunathappa Prakash
fff753c12e qcacld-3.0: Add option to control Rx flow steering
Add ini configuration to enable/disable Rx flow steering.
Add HTT message to configure RX flow steering.

Change-Id: I80aab262c754716b28bfdae561d1cbf5e1d38e4d
CRs-Fixed: 1055179
2016-09-11 15:23:53 -07:00
Himanshu Agarwal
19141bb676 qcacld-3.0: Add capability based logic to mark first packet after wakeup
Propagation from qcacld-2.0 to qcacld-3.0.

Add a capability in service bitmask to indicate that fw also supports
this feature of marking first packet after wow wakeup to maintain backward
compatibility.

Change-Id: I3d41f5425e3a170c046941a439d17e06df0c6bef
CRs-Fixed: 1021382
2016-08-27 16:02:41 -07:00
Nirav Shah
d59b3b253e qcacld-3.0: Log rx packet in packetlog as per rx ind message
Log rx packet in packetlog as per HTT_T2H_MSG_TYPE_RX_IN_ORD_PADDR_IND
message from firmware.

CRs-Fixed: 970647
Change-Id: I5773b67a9269063531d038d46ac404c978818dcc
2016-08-20 10:36:59 -07:00
Nirav Shah
bf1b033062 qcacld-3.0: Add per CPU interrupt statistics
Add per CPU per copy engine interrupt statistics.

Change-Id: I397733ca9c46274f9b5c0026f032e3345100a98d
CRs-Fixed: 1017437
2016-06-30 14:49:30 +05:30
Nirav Shah
da008344a6 qcacld-3.0: Enhance data path related statistics
Enhance data path related statistics
- Add per reason pause time
- Enahnce TSO stats
- clear DPTRACE buffer

Change-Id: Ia59fa5ba326504eb54e14d44f42a335c6b835ee4
CRs-Fixed: 1017437
2016-06-24 14:30:49 -07:00
Siddarth Poddar
b2011f6435 qcacld-3.0: Add txrx apis for High Latency systems (Part 2 - HL Datapath)
Add tx schedular module, tx classify module within the data SW,
tx frame queues logging,  group credit support and
send-recieve tx frames instance for HL system.

CRs-Fixed: 975526
Change-Id: If1655d4d832f88e565ab946ef9e9719f256ab7b1
2016-06-23 12:27:50 -07:00
Siddarth Poddar
1df1cd85b4 qcacld-3.0: Add htt apis for High Latency systems (Part 1 - HL Datapath)
Add support for HTT instance creation, initialization and
deletion, Host -> Target and Target -> Host HTT messages
exchange, receive and transmit aspects of HTT.

CRs-Fixed: 975526
Change-Id: Ie66a83b6efe216df192b033c9d137a93fdce688f
2016-06-23 12:27:43 -07:00
Nirav Shah
2e583a0344 qcacld-3.0: Datapath changes for WiSA specification
Datapath changes for WiSA specification.
- Multicast packets with 50000 as destination
  port should go at 6Mbps.
- Multicast packets with 50001 as destination
  port should go at 24Mbps.

Change-Id: Ic219f58f3e8b2f6863a275928429153defe63b5a
CRs-Fixed: 1010412
2016-06-14 14:28:44 -07:00
Nirav Shah
6a4eee661c qcacld-3.0: Add histogram for MSDUs per RX indication
Add histogram for MSDUs per HTT RX indication
message and update drop counters in RX path.

Change-Id: Ia861f6cd3d6a91f01a07f9bc4e2bc3afcf62c8f2
CRs-Fixed: 999861
2016-05-18 16:33:32 -07:00
Prakash Manjunathappa
0c45f699e9 qcacld-3.0: Shrink ol_txrx_stats_tso_info
The structure is taking too much of a space and pre-alloc was
failing for a single allocation for ol_txrx_pdev. Shrunk the
structure from 112 KB to 12 KB.
This update has a corresponding update in qcacmn.

Change-Id: I358e74b47165fa08cb5d37f095b44bff3f83fdfc
Acked-by: Orhan K AKYILDIZ <oka@qca.qualcomm.com>
CRs-fixed: 1012346
2016-05-13 16:20:44 -07:00
Manjunathappa Prakash
b757372528 qcacld-3.0: Add HTT datapath changes to handle monitor mode
Make special handling for monitor mode operation. Take care to handle
amsdu packets in which case firmware marks the last_frag in msdu_info
field. These MSDUs of AMSDU are stiched using frags_list of skb and
handed over to network stack.
Also take care to extract and update the radiotap header to head of
the packet.

Change-Id: I4ed9696175e63884b5db682a2a4c4df504a7fb20
CRs-Fixed: 963060
2016-05-06 17:01:48 -07:00
Nirav Shah
7a0a90597b qcacld-3.0: Free all TX descriptors in error scenario
Forcefully free all TX descriptors during driver unload
which is not freed because of unmap event missing from
firmware to avoid memory leak.

Change-Id: I47ff7e6a8f2aa130c77ac68a92eee9373d152e87
CRs-Fixed: 1001994
2016-04-25 22:54:11 -07:00
Poddar, Siddarth
8390502e2e qcacld-3.0: add ini support for throttling period duty cycles
qcacld-2.0 to qcacld-3.0 propagation

Provide support to configure duty cycle by adding ini item for
different level duty cycle.

CRs-Fixed: 990798
Change-Id: I95e4f4af669fd50c5b9fc10ffc61fa5d447b5bcf
2016-04-20 22:23:19 -07:00
Manjunathappa Prakash
3454fd61da qcacld-3.0: Data path changes to use converged APIs (Part 5)
Changes in the data path to use the converged MCL specific APIs.

Change-Id: Iaedc5e7e175d6b8eb905a04178fe9772dc7bb797
CRs-Fixed: 994638
2016-04-01 16:19:43 -07:00
Manjunathappa Prakash
10d357a17c qcacld-3.0: remove references to datapath structures from other modules
Core datapath structures should be opaque to non-datapath modules,
remove the references to them.

Change-Id: I3618253566a971c27f16b14923d1ff8028718918
CRs-Fixed: 994638
2016-04-01 16:19:36 -07:00
Dhanashri Atre
b08959a747 qcacld-4.0: Data path changes to use converged APIs (Part 4)
Changes in the data path to use the converged MCL specific APIs.

Change-Id: Ib6ae1917a9678dcd735b81e3aa83d086406ac404
CRs-Fixed: 994638
2016-04-01 16:09:57 -07:00
Dhanashri Atre
168d2b492e qcacld-3.0: Data path changes to use converged APIs (Part 3)
Changes to register a per vdev tx callback function.

Register a per-vdev transmit function during vdev registration.
The OS interface (HDD) adapter stores this transmit function and
invokes it to transmit data frames.

Change-Id: I1dfe6f58d1d26069dadc2d719fff242c29071bad
CRs-Fixed: 994638
2016-04-01 15:52:33 -07:00
Dhanashri Atre
182b027a73 qcacld-3.0: Data path changes to use converged APIs (Part 2)
Changes to register a per vdev rx callback function.

Register a per-vdev receive callback function using the vdev registration
API provided by the converged data path API. The changes include
- removing the older method of registering the receive callback
- modify the HDD callback to adhere to the rx callback function defined
by the converged data path API
- modify the invocation of the callback function in the data path

Change-Id: I2aef905132af4b3d7db22c7ec315d114607c9383
CRs-Fixed: 994638
2016-04-01 15:51:59 -07:00
Dhanashri Atre
12a0839cd6 qcacld-3.0: Data path changes to use converged APIs (Part 1)
Change the data path and external modules to use the new
converged common data path APIs.

Change-Id: Ifb48178efd012b6ad9ea6f6d5230d0a809922b1c
CRs-Fixed: 994638
2016-04-01 15:46:10 -07:00
Yue Ma
1e11d79646 qcacld-3.0: Remove CDS related functions in HTC
Update runtime PM APIs and HTC connection mode parameter
accordingly.

Change-Id: I2f54933b90aaed233042c113d246fae4726f5707
CRs-fixed: 982024
2016-04-01 15:24:33 -07:00
Anurag Chouhan
f04e84f24a qcacld-3.0: Add qdf references in place of cdf
Replace CDF references with QDF references.

Change-Id: Ifb4571174719b5fce61dd305545d05628265f317
CRs-Fixed: 981188
2016-03-24 11:58:26 -07:00
Nirav Shah
cbc6d72570 qcacld-3.0: Update driver to use QDF NBUF APIs(1/2)
Update driver to use QDF NBUF APIs

Change-Id: I4409b6c046de1221b57baed45088d5f3b898b565
CRs-Fixed: 981188
2016-03-24 11:58:23 -07:00
Anurag Chouhan
600c3a00be qcacld-3.0: Add QDF mem API's
Replace CDF mem API's with QDF mem API's

Change-Id: Icf247b4dc5b26f4b960dcb98e323b096c1d6076c
CRs-Fixed: 981188
2016-03-24 11:58:16 -07:00
Anurag Chouhan
df2b26883d qcacld-3.0: Fix compilation issues after rebase
Remove the compilation issues for references to cdf after rebase

Change-Id: Ia39c5c72fe5c95f9a91d5f6967ea60904b46f756
CRs-Fixed: 981188
2016-03-24 11:58:14 -07:00
Anurag Chouhan
b2dc16fefe qcacld-3.0: Add QDF trace API's
Replace CDF trace API's with QDF trace API's.

Change-Id: I5b99dce73297f7de8f0755fa0b47dc3f84c78747
CRs-Fixed: 981188
2016-03-24 11:58:11 -07:00
Anurag Chouhan
c554842327 qcacld-3.0: Add QDF utils
Replace CDF utils with QDF utils.

Change-Id: Ib6b3ad56b3268b1be438f3204f91d995f8bb3900
CRs-Fixed: 981188
2016-03-24 11:58:03 -07:00
Anurag Chouhan
c73697b4da qcacld-3.0: Add QDF net types
Replace CDF net types with QDF net types API's.

Change-Id: I0599a2f0cfe7c9a9b7fe589f7619f88fd5a72518
CRs-Fixed: 981188
2016-03-24 11:58:00 -07:00
Anurag Chouhan
a37b5b783a qcacld-3.0: Add QDF lock API's
Replace CDF lock API's with QDF lock API's.

Change-Id: I7c4a59920e17915f077c87457c513e763738c062
CRs-Fixed: 981188
2016-03-24 11:57:57 -07:00
Anurag Chouhan
6d760664ee qcacld-3.0: Add QDF types
Replace CDF types with QDF types

Change-Id: Idd6e65b148efb54f22d6951572957f1c6166465b
CRs-Fixed: 981188
2016-03-24 11:57:54 -07:00
Anurag Chouhan
fb54ab0eac qcacld-3.0: Add QDF status
Replace CDF status with QDF status

Change-Id: I7170c8ae4c5bd97a8f0f383af637bb2ec312f082
CRs-Fixed: 981188
2016-03-24 11:57:39 -07:00
Houston Hoffman
43d47fa659 qcacld-3.0: change skb->cb to support 64 bit paddrs(1/2)
Praprogation from qcacld-3.0 to qcacld-3.1.

Change skb->sb such that it is overlayed between tx
and rx and each one of then still fits 48 bytes.
Note that this will break IPA and it will be fixed
subsequently by another change.

Change-Id: I96168aee99dbdbecbdbd4259597e179b02d29f5d
CRs-Fixed: 881090
Acked-by: Orhan K AKYILDIZ <oka@qca.qualcomm.com>
2016-03-24 11:56:31 -07:00
Dhanashri Atre
83d373d681 qcacld-3.0: TSO (TCP Segmentation Offload) Clean-up
propagation from qcacld-3.0 to qcacld-3.1

Changes for TSO clean-up to address:
- conditional compile within function bodies
- change function return value
- convert macro to static inline function, etc
- Enable TSO for SAP mode

Change-Id: I29e764f64f7866d4c016ac31cd701c54526cc75d
CRs-Fixed: 881090
2016-03-23 13:45:10 -07:00