Wykres commitów

104 Commity

Autor SHA1 Wiadomość Data
jitiphil
377bcc1227 qcacld-3.0: Add legacy DP CFG items and APIs
Add the basic infra for legacy DP CFG items and the APIs
to be used from other components.

Change-Id: If7ad0e02c65e04ea13a308e680c9ba3b3d84ae25
CRs-Fixed: 2324099
2018-11-01 05:42:07 -07:00
Venkata Sharath Chandra Manchala
9ac1620c82 qcacld-3.0: Add conditional QCA6390_HEADERS_DEF flag
Add a conditional compilation QCA6390_HEADERS_DEF flag to compile
htt_rx_restitch_mpdu_from_msdus.

Change-Id: I6b526f2dd5d56338e520ec138512b7cf2d849d0c
CRs-Fixed: 2275699
2018-08-08 12:53:42 -07:00
Nirav Shah
6ebfe2419d qcacld-3.0: Separate out HL and LL RX data path
Separate out HL and LL Rx Data Path in different files
to compile out features cleanly

Change-Id: Ifc0e2d7e740142f0115d1fcd53db2936f7a30979
CRs-Fixed: 2287351
2018-08-06 04:21:18 -07:00
jitiphil
335d24162d qcacld-3.0: Implement descriptor pool for fw stats
The kernel address is used as cookie to keep track
of stats request. This address can be disclosed to
target leading to a security vulnerability.

Implement a FW stats descriptor pool, and use a
descriptor ID to keep track of stats requests,
instead of the kernel address, to prevent
kernel address leak.

Change-Id: Ib49150da899c0b9314f614868a90867f4aa92d3d
CRs-Fixed: 2246110
2018-06-28 10:42:39 -07:00
Ajit Pal Singh
c31d10199c qcacld-3.0: Credit Management changes for Genoa
1) Genoa FW by default enables HI_ACS_FLAGS_SDIO_REDUCE_TX_COMPL_SET.
When this flag is enabled, credits are reported through
HTT_T2H_MSG_TYPE_TX_CREDIT_UPDATE_IND and not through
HTT_T2H_MSG_TYPE_TX_COMPL_IND.
However when TSF and PTP features are enabled we need to get TX
Completions from FW.
Since credits can also be updated through TX Completions
we need to disable updation of credits through TX Completion for Genoa.

2) Enable flag : cfg_ctx->tx_free_at_download to free ol tx descriptors at
   download.

Change-Id: I176dc8391ded9fc57f8be2b465effd8ae84eda49
CRs-fixed: 2268757
2018-06-28 03:10:58 -07:00
Nirav Shah
13ecbedb75 qcacld-3.0: Fix compilation issue for legacy flow control
Fix compilation issue for legacy flow control
(CONFIG_WLAN_TX_FLOW_CONTROL_LEGACY flag).

Change-Id: I2462d5b689ad6ea027411ff56c7550ab6036c0f4
CRs-Fixed: 2267924
2018-06-27 02:11:34 -07:00
Sravan Kumar Kairam
b5870bb811 qcacld-3.0: Dynamic SMMU map/unmap only when IPA enabled
IPA SMMU mapping for RX buffers is needed only when IPA offload
and IPA pipes are enabled. Currently in STA only case where IPA
is not enabled SMMU map/unmap is done for RX buffers. So enable
SMMU mapping only when IPA pipes are enabled.

Change-Id: I88db2cc8606bdf4586644a7ffccd0415f85c8241
CRs-Fixed: 2213795
2018-06-20 04:05:17 -07:00
Ajit Pal Singh
db16f01709 qcacld-3.0: Distribute credits amongst groups
1) When a group is created i.e. the first vdev is added to it,
assign all the credits to it.
2) When the second group is created, transfer some minimum credits
to it.
3) When a group is deleted, transfer its credits to the other group.

Change-Id: I0c5532033718b250ab0633b4da4e219c0315cac9
CRs-fixed: 2246206
2018-06-15 20:10:32 -07:00
Nirav Shah
46fc6301ea qcacld-3.0: Featurize Tx throttle feature
Featurize Tx throttle feature.

Change-Id: Ie97749367b8c4e7af7fe0bee68b15be5946fdd67
CRs-Fixed: 2257918
2018-06-14 02:56:34 -07:00
Nirav Shah
bb8e47c200 qcacld-3.0: Featurize packet log
Featurize packet log.

Change-Id: Id747d142d72d02759b20bcf3091fd769261b8f67
CRs-Fixed: 2245422
2018-06-06 23:49:08 -07:00
Nirav Shah
73713f7e80 qcacld-3.0: Featurize monitor mode
Featurize monitor mode code.

Change-Id: I42d2d6a92d9097676ab3f8ec4a86958b8c0bc096
CRs-Fixed: 2245419
2018-06-06 23:49:05 -07:00
Alok Kumar
b8919e14c5 qcacld-3.0: Cleanup the unreachable code in htt_t2h_lp_msg_handler
Currently, the message type HTT_T2H_MSG_TYPE_RX_ADDBA and
HTT_T2H_MSG_TYPE_RX_DELBA is not supported as firmware is
no more sending this message to host.

Clean up the unreachable code for HTT_T2H_MSG_TYPE_RX_ADDBA
and HTT_T2H_MSG_TYPE_RX_DELBA message type.

Change-Id: I7a32fb53fec00e0507ef32d29494968188c98bfd
CRs-Fixed: 2226328
2018-06-06 05:49:08 -07:00
Nirav Shah
a3cc7195ef qcacld-3.0: Flow control Resize implementation
Flow control resize implementaion as part of
Genoa enhancements to reduce total desc requirement
from 3600 to 2000.

Change-Id: Iee5d3ff08dcea13c11632cd29e6edba0dc3e979f
CRs-Fixed: 2223553
2018-05-18 12:14:33 -07:00
Jeff Johnson
3dca222e0b qcacld-3.0: dp: Fix misspellings
Address the following issues in the core/dp folder:
CHECK: 'accomodate' may be misspelled - perhaps 'accommodate'?
CHECK: 'acess' may be misspelled - perhaps 'access'?
CHECK: 'bahavior' may be misspelled - perhaps 'behavior'?
CHECK: 'catagory' may be misspelled - perhaps 'category'?
CHECK: 'continous' may be misspelled - perhaps 'continuous'?
CHECK: 'controler' may be misspelled - perhaps 'controller'?
CHECK: 'curently' may be misspelled - perhaps 'currently'?
CHECK: 'defintion' may be misspelled - perhaps 'definition'?
CHECK: 'Defintions' may be misspelled - perhaps 'Definitions'?
CHECK: 'desriptor' may be misspelled - perhaps 'descriptor'?
CHECK: 'extention' may be misspelled - perhaps 'extension'?
CHECK: 'informations' may be misspelled - perhaps 'information'?
CHECK: 'lenght' may be misspelled - perhaps 'length'?
CHECK: 'managment' may be misspelled - perhaps 'management'?
CHECK: 'messsage' may be misspelled - perhaps 'message'?
CHECK: 'neccessary' may be misspelled - perhaps 'necessary'?
CHECK: 'recieved' may be misspelled - perhaps 'received'?
CHECK: 'Recieve' may be misspelled - perhaps 'Receive'?

Change-Id: Ib8c1b94b5bb3bb5798e41dbb4c1461be80fd1398
CRs-Fixed: 2241941
2018-05-16 18:01:38 -07:00
Jeff Johnson
4ceed38fbf qcacld-3.0: Fix typo "recieve"
Replace typo "recieve" with correct spelling "receive".

Change-Id: I16de4aedcd0f401da8b11fa0ea4989ad1e73bf57
CRs-Fixed: 2238297
2018-05-12 04:30:02 -07:00
Jeff Johnson
fe8e9497e9 qcacld-3.0: Fix typo "lenght"
Replace typo "lenght" with correct spelling "length".

Change-Id: I227fe599d88c68982dd102f71c0bad30cd5d93cf
CRs-Fixed: 2238297
2018-05-12 04:29:06 -07:00
Jeff Johnson
1896fdcb30 qcacld-3.0: dp: Remove legacy markings
Per current guidance remove legacy markings.

Change-Id: Id790fa94c7b6feb91db5f3d91630bf0cd5264192
CRs-Fixed: 2229655
2018-04-24 14:48:38 -07:00
Manjunathappa Prakash
5e12b8c46e qcacld-3.0: Remove redefinition of wmi_unified_t
typedef wmi_unified_t is redefined in
qcacld-3.0/core/dp/ol/inc/ol_defines.h previous definition is here
qca-wifi-host-cmn/wmi/inc/wmi_unified_param.h, remove redefinition.

Change-Id: I2c2af59d8b24360cd09efeb12ea19c0340771bb8
CRs-Fixed: 2216859
2018-04-04 04:01:54 -07:00
Srinivas Girigowda
e1282d4fbf qcacld-3.0: Fix clang compilation warnings
Fix clang compilation warnings.

Change-Id: I8c766c9062672608db60c583a46af2bc86bbba8c
CRs-Fixed: 2055487
2018-04-02 19:39:26 -07:00
Sravan Kumar Kairam
b664b6c61b qcacld-3.0: Add support for WLAN-IPA WDI 2 SMMU S1 translation
Update WLAN-IPA WDI-2 datapath buffer sharing for SMMU Stage 1
translation support. When SMMU Stage 1 translation is enabled
DMA APIs return IO virtual address(IOVA) instead of physical
address. This IOVA need to mapped to physical address by IPA
module before accessing them

Change-Id: I969ad020d5b423c785539f346286b212ea5830a1
CRS-Fixed: 2072960
2018-03-19 09:34:26 -07:00
Nirav Shah
eb017befbd qcacld-3.0: Add support for QCA9379 on x86 platform
Add support for QCA9379 chip on x86 platform for
USB and SDIO attach.

Change-Id: I2de81794cd16521097ffa6956a18b4b0fe981d36
CRs-Fixed: 2196757
2018-02-28 05:29:39 -08:00
Tiger Yu
6211cd7436 qcacld-3.0: Fix potential BUG_ON in the htt_rx_offload_msdu_pop_ll
qcacld-2.0 to qcacld-3.0 propagation

For HTT_T2H_MSG_TYPE_RX_OFFLOAD_DELIVER_IND, the msdu_cnt is a signed
integer coming from firmware. If set the msdu_cnt to a negative value,
or be greater than the number of current elements in the queue, the loop
will execute lots of times in ol_rx_offload_deliver_ind_handler, the
htt_rx_netbuf_pop will cause the BUG_ON issue sooner or later if it is
low latency solution.

Change the msdu_cnt type from signed to unsigned and add the validity
msdu_cnt checking will fix this issue.

Change-Id: I436557a124074f59ab11fd937dfdc975b9caebe8
CRs-Fixed: 2149461
2017-12-10 23:38:26 -08:00
Tiger Yu
62ef4fb08d qcacld-3.0: Fix potential buffer overflow in ol_rx_flush_handler
qcacld-2.0 to qcacld-3.0 propagation

Check for the validity of tid when received the htt message of
HTT_T2H_MSG_TYPE_RX_FLUSH & HTT_T2H_MSG_TYPE_RX_PN_IND from firmware
to ensure the buffer overflow does not happen.

And correct the sequence number type from signed int to unsigned.

Change-Id: Ibff86e891c335bfe8c2f9db82410545036463ed3
CRs-Fixed: 2149399
2017-12-10 22:16:17 -08:00
Mohit Khanna
ca4173ba74 qcacld-3.0: add periodic data traffic stats
Add support for periodic stats for data packets to be displayed in
wlan driver logs.

Change-Id: Iee6759ae75657ae93e94ea1bb1343f2ea489c087
CRs-Fixed: 2120047
2017-12-04 19:47:06 -08:00
Poddar, Siddarth
b904759184 qcacld-3.0: Add debug logs for FW_RX_REFILL failure
Add debug logs to capture htt rx_ring info during data stall
detection for FW_RX_REFILL failure reason.

Change-Id: I6733a37677ebccfef5096ac38858c4505e8665b6
CRs-Fixed: 2121686
2017-10-12 13:58:58 -07:00
Venkata Sharath Chandra Manchala
1963fec7ca qcacld-3.0: Cleanup ununsed typedef in datapath
Remove unused typedef ol_rx_callback_fp in
datapath.

Change-Id: I867267aa791b6dd4fc02654c9fb1ba658cc51a5d
CRs-Fixed: 2123478
2017-10-12 13:58:22 -07:00
Yu Wang
66a250bbb5 qcacld-3.0: add ini config for PTP options
Add ini param 'gtsf_ptp_options' to control
PTP options, it's a bitmap:
bit0 - PTP_OPT_RX(0x1)
  set this bit to enable RX time stamping
bit1 - PTP_OPT_TX(0x2)
  set this bit to enable TX time stamping
bit2 - PTP_OPT_RAW(0x4)
  set this bit to use raw time as timestamp
bit3 - TSF_DBG_FS(0x8)
  set this bit to add device attriubte 'tsf' for iface

The default value of gtsf_ptp_options is 0xf

Propagated from qcacld-2.0.

Change-Id: Ie53d503bdd2e85790502583a238ee138f4bcf6c6
CRs-Fixed: 2079466
2017-10-12 13:57:17 -07:00
Jeff Johnson
c13bfe08ca qcacld-3.0: dp: Replace instances of unadorned %p
Replace instances of unadorned %p in core/dp.

Change-Id: I7baa3ecc4f9964c47261dafa26116447fc7611b5
CRs-Fixed: 2100997
2017-09-25 21:56:58 -07:00
Yun Park
b4f591d8aa qcacld-3.0: Enable WLAN host data path support for IPA WDI3.0
Change to support WLAN Napier host autonomy data path architecture.

Change-Id: I80e8f609587d0df85d2da9fb0f41cb49e02a9d2f
CRs-Fixed: 2033368
2017-08-07 17:47:45 -07:00
Srinivas Girigowda
0517bfc356 qcacld-3.0: Fix clang warnings enum 'qdf_nbuf_l4_rx_cksum_result_t'
warning: implicit conversion from enumeration type
'qdf_nbuf_l4_rx_cksum_result_t' to different enumeration
type 'qdf_nbuf_l4_rx_cksum_type_t

Change-Id: If2b7ee179fa260c14cde450cc72272c41a9f4adb
CRs-Fixed: 2055487
2017-08-03 19:49:00 -07:00
Linux Build Service Account
ec1af2c219 Merge "qcacld-3.0: time stamp msdu with precise rx/tx time" 2017-07-20 20:44:49 -07:00
Manjunathappa Prakash
6c54736903 qcacld-3.0: Add changes for Napier flow control
Adds support for flow control on convergence branch.
We will have global pool and each vdev coming up will have the
descriptors allocated from global pool. 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-16 07:01:28 -07:00
Yu Wang
ceb357b964 qcacld-3.0: time stamp msdu with precise rx/tx time
Get tx/rx tsf time for each msdu, and then
time stamp the msdu with the corresponding
host time.

Change-Id: I7af80318b60c28d53e95fbe545e82da4191544b6
CRs-Fixed: 2057693
2017-07-12 15:21:47 +08:00
Rakesh Pillai
7fb7a1f850 qcacld-3.0: Fix CLANG warnings in Data path
implicit conversion from enumeration type 'QDF_STATUS' to different enumeration type 'A_STATUS'
implicit conversion from enumeration type 'A_STATUS' to different enumeration type 'QDF_STATUS'

CRs-Fixed: 2063339
Change-Id: Ib96a49f40ea581127405560087354e7fa9bf46ec
2017-06-30 22:50:40 -07:00
Yun Park
3a65721b7a qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_params.h
Fix Datapath kernel checkpatch warnings in ol_params.h

Change-Id: I66ed8f3345e8c3664d7c17e6ce8d5f3cd3a28d22
CRs-Fixed: 2032874
2017-06-14 08:24:24 -07:00
Yun Park
73fbcf5a90 qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_cfg.h
Fix Datapath kernel checkpatch warnings in ol_cfg.h

Change-Id: I61ee5d467f75f47b6b0ee97e76b9400fa08c4961
CRs-Fixed: 2032874
2017-06-14 08:24:22 -07:00
Yun Park
38d2eae0da qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_htt_api.h
Fix Datapath kernel checkpatch warnings in ol_htt_api.h

Change-Id: Ia8f2c0d2e93d0e394ee14b8ea78df8089edc6908
CRs-Fixed: 2032874
2017-06-14 08:24:21 -07:00
Yun Park
2b664bba3e qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_htt_rx_api.h
Fix Datapath kernel checkpatch warnings in ol_htt_rx_api.h

Change-Id: I1dd5783bc8e5eacb57b969282224e8f9d85510f5
CRs-Fixed: 2032874
2017-06-14 08:24:19 -07:00
Yun Park
50e8ab43c8 qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_txrx_htt_api.h
Fix Datapath kernel checkpatch warnings in ol_txrx_htt_api.h

Change-Id: I48eebe427f88eda7a8baa9a0695a82c5aef35e76
CRs-Fixed: 2032874
2017-06-14 08:24:17 -07:00
Yun Park
01f6cc2d39 qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_txrx_ctrl_api.h
Fix Datapath kernel checkpatch warnings in ol_txrx_ctrl_api.h

Change-Id: I90db6c51b5b78f61fa3a7067c6ca8964fbb613a2
CRs-Fixed: 2032874
2017-06-14 08:24:15 -07:00
Yun Park
cd97ea6a1d qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_txrx_dbg.h
Fix Datapath kernel checkpatch warnings in ol_txrx_dbg.h

Change-Id: I8cf0ca442bf84d0a57d656b285e09f2f4026aae7
CRs-Fixed: 2032874
2017-06-14 08:24:14 -07:00
Yun Park
9cb1c66e72 qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_txrx_stats.h
Fix Datapath kernel checkpatch warnings in ol_txrx_stats.h

Change-Id: I162dd1de404847d58d1bf9c9dd7f9b2185b7aa8f
CRs-Fixed: 2032874
2017-06-14 08:24:12 -07:00
Yun Park
8ace0a1547 qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_htt_tx_api.h
Fix Datapath kernel checkpatch warnings in ol_htt_tx_api.h

Change-Id: I3bb790287222915e8ccb404c0284429ca1f59512
CRs-Fixed: 2032874
2017-06-14 08:24:11 -07:00
Himanshu Agarwal
5f5e16692d qcacld-3.0: Fix buf replenish logic and handle error pkts
Fix replenishing logic by taking care of fragments as well
in monitor mode. Also drop the packets with mpdu_length_err
bit set in rx attention desc and don't send those packets to
upper layers.

Change-Id: Iaeeb0e40e4988ca5a2d4c5e7c98ed3f82dfca533
CRs-Fixed: 2037633
2017-06-10 23:30:56 -07:00
Venkata Sharath Chandra Manchala
1676defe7e qcacld-3.0: Enable TSO
Add FEATURE_TSO flag in Kbuild to enable the
TSO feature for Lithium based chipsets

Change-Id: Ie26b2b9a191828b3ce833000a7abbb09dd492713
CRs-Fixed: 2042950
2017-06-07 12:14:46 -07:00
Orhan K AKYILDIZ
adf0610a93 qcacld-3.0: Fix rx_starvation on multiple-rx case
In case of parallel rx execution, fill_count was being updated
by multiple threads and this was causing fill_count to be incorrect
in parallel rx execution cases. This was causing rx ring to be under
filled and in time was causing rx starvation (data stall).

Fix this by:
- making sure that we always fill the right number of buffers based
  on the msdu_count in the in_order_indication message.
- making sure that only one execution thread fills the ring
- making sure that the lock holder (filling the ring) does not
  run too long by introducing a max fill limit, in which case the
  filler will give up and the contender (the other rx execution
  thread) takes the lock and fills the ring itself.

CRs-Fixed: 1103851

Change-Id: I59ee2903d51877afc112a1a76b7a5529f1c6a5c0
2017-04-21 18:48:24 -07:00
Yun Park
637d6486f2 qcacld-3.0: Add interface to WDI-stats and quota limit
Add structure changes for querying WDI-stats, register the callback
functions for IPA to query WDI stats and sets the quota limit

Change-Id: I05d9d50fad735fa0a57c4de23c81461f6e12b648
CRs-Fixed: 1095710
2017-04-12 19:02:07 -07:00
Himanshu Agarwal
7d367c124d qcacld-3.0: Add ref_cnt implementation for flow pool
Add ref_cnt implementation for flow pool to synchronize
usage and deletion of flow pool.

Change-Id: Idb52c74df6a771b776e3df6bf4aea5c150b5fc7a
CRs-Fixed: 2025757
2017-04-10 16:29:26 +05:30
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