Commit grafiek

81 Commits

Auteur SHA1 Bericht Datum
Venkateswara Swamy Bandaru
99075965f8 qcacmn: Add rawmode tx support for lithium
Added raw mode descriptor preparation support in tx path when packet is
in Interface configured in raw mode.

Change-Id: I3159bce9ec6f3cd86ccfb157c51d1cb5f6412b89
2017-01-19 15:07:45 -08:00
Venkateswara Swamy Bandaru
bfbef4f48d qcacmn: Add rawmode simulation support in cdp interface
Added rx simulation decap function interface to do simulation decap.

Change-Id: I8ae3fceeec0f6ca08d7d2857c2d017dbbdafbb85
2017-01-19 15:07:43 -08:00
Karunakar Dasineni
e8380bbece qcacmn: REO descriptor changes
Disable CHK_2K_MODE and OOR_MODE in REO descriptor. Also set RTY bit for non-BA TID queues as temporary WAR for duplicate detection issue.

Change-Id: Ifa51c20ffbfe31c807d4e7f99014cb76f411e066
2017-01-19 12:46:37 -08:00
Ishank Jain
2fab33dcd4 qcacmn: Fix to make ping work on Hawkeye emulation(64 bit)
Change RXDMA_BUF_RING_SIZE to 2048
Change RXDMA_MONITOR_BUF_RING_SIZE to 2048

Change-Id: I1dee076e8e92259ffa43d2625a2dce0a94eb3164
CRs-Fixed: 1108439
2017-01-19 12:46:36 -08:00
Venkata Sharath Chandra Manchala
8e8d8f1e82 qcacmn: Fix for compilation issues in REO management
Added suitable typecasting for qdf_set_bit and
qdf_clear_bit functions

Change-Id: I90fc0f441a6eae8dfdea43705373fced81b26b48
CRs-Fixed: 1105853
2017-01-18 20:05:32 -08:00
Dhanashri Atre
a98e024f86 qcacmn: Change due to R102 hardware headers for QCA6290
Changes needed to support the new definitions introduced
in the R102 hardware header files for QCA6290.

Change-Id: I4e3c27dfdc48b4d6a44f0f50f3e4a907be20e53d
CRs-Fixed: 1105853
2017-01-18 20:05:31 -08:00
Karunakar Dasineni
a0f09eae1d qcacmn: REO management changes
Changes to use REO HW command/status interface to update/delete REO queues.

Change-Id: I3500d45db021ef314b4d03fa878314d407ddfe65
2017-01-18 20:05:29 -08:00
Manoj Ekbote
4f0c6b1732 qcacmn: REO command access APIs
Implementation of APIs for Lithium REO command/status rings

Change-Id: Ib428dd995bd597f7fbfbfc458dade6e7e258000c
2017-01-18 20:05:28 -08:00
Jeff Johnson
8a4fd9bec1 qcacmn: Fix -Wmissing-prototypes in dp_rx_err.c
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code in dp_rx_err.c that is generating warnings.
Fix these warnings by making the following functions static:
	dp_rx_frag_handle()
	dp_rx_pn_error_handle()
	dp_rx_2k_jump_handle()
	dp_rx_null_q_desc_handle()

Change-Id: I45108fff8f69194b28391eebb5e079149ae5cc5a
CRs-Fixed: 1108176
2017-01-18 09:40:10 -08:00
Jeff Johnson
0771857b80 qcacmn: Add WAR for dp_soc_attach_wifi3 -Wmissing-prototypes
Currently dp_main.c generates warnings when compiled with the GCC
-Wmissing-prototypes switch because it does not include a header file
which exports a prototype for dp_soc_attach_wifi3(). Currently the "dp
soc attach" APIs are defined in a strange manner, and there is not a
prototype which dp_main.c can include. So as a WAR define the
prototype internal to dp_main.c itself.

Of course the whole point of -Wmissing-prototypes is to prevent
mismatches between callers of an interface and the implementation of
an interface, and this WAR explicitly bypasses that protection. This
WAR should be superceded in the future by a proper registration
mechanism where the architecture-specific DP implementation attaches
to the Converged Data Path (CDP).

Change-Id: I1858ac4ec9f53c28cde622a43a3adb8643328916
CRs-Fixed: 1110197
2017-01-12 07:12:00 -08:00
Jeff Johnson
f135257ccb qcacmn: Fix -Wmissing-prototypes in dp_main.c
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code in dp_main.c that is generating warnings.  Fix
these warnings by making all functions static that are only referenced
internally to dp_main.c.

Change-Id: If22f66ecdc3dbf4e91dbd32bb0e994a281d729e9
CRs-Fixed: 1110193
2017-01-12 07:11:58 -08:00
Jeff Johnson
416168bfaf qcacmn: Fix -Wmissing-prototypes in dp_peer.c
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code in dp_peer.c that is generating warnings.  Fix
these warnings by making the following functions static:
	dp_peer_find_hash_find()
	dp_rx_tid_update_wifi3()
	dp_rx_tid_delete_cb()
	dp_rx_tid_delete_wifi3()

And by exporting a public prototype for:
	dp_peer_find_hash_erase()

Change-Id: I5c945f27c0334a4d88da6136de8aacae2ba840a7
CRs-Fixed: 1108459
2017-01-12 07:11:56 -08:00
Tallapragada Kalyan
603c594e45 qcacmn: DP RX optimization changes
Added a separate loop to dequeue the rx pkts and relinquish
REO and rx-Refill ring faster. Additionl rx processing is
moved to a different per vdev loop.

CRs-Fixed: 1098453
Change-Id: I43b1fa302cf7e7c77f6114ea491306c0b724e365
2017-01-10 11:47:43 -08:00
Jeff Johnson
755f261b0c qcacmn: Fix -Wmissing-prototypes in dp_tx.c
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code in dp_tx.c that is generating warnings.  Fix
these warnings by making the following functions static:
	dp_tx_desc_release()
	dp_tx_prepare_htt_metadata()
	dp_tx_prepare_ext_desc()
	dp_tx_prepare_desc_single()
	dp_tx_prepare_desc()
	dp_tx_prepare_raw()
	dp_tx_hw_enqueue()
	dp_tx_classify_tid()
	dp_tx_send_msdu_single()
	dp_tx_send_msdu_multiple()
	dp_tx_prepare_sg()
	dp_tx_reinject_handler()
	dp_tx_inspect_handler()
	dp_tx_process_htt_completion()
	dp_tx_comp_process_desc()

Change-Id: I4d40b836af85ea3c3dbee0c11514e2c1d2e9c8cb
CRs-Fixed: 1108175
2017-01-09 09:55:29 -08:00
Jeff Johnson
32140745b1 qcacmn: Make dp_htt_h2t_send_complete() static
Since dp_htt_h2t_send_complete() is only accessed from within
dp_htt.c, and since there is not a public prototype, make it static.

Change-Id: I002ac20d0e5ced8ddc9d5099a987a5ce208b4cfc
CRs-Fixed: 1108111
2017-01-09 09:55:26 -08:00
Jeff Johnson
2cb8fc7e18 qcacmn: Properly export dp_peer API
Currently some of the public functions in dp_peer.c do not have their
prototypes exposed in a header file. In addition clients of these
functions currently have local prototypes. Fix these issues by adding
the prototypes to dp_peer.h.

Change-Id: I461cf69024da56fad57b75a325775ecd68872c8e
CRs-Fixed: 1108085
2017-01-09 09:55:25 -08:00
Nandha Kishore Easwaran
3f0bfc305e qcacmn: Add scn parameter to ol_txrx_soc_attach
Add an extra parameter scn in ol_txrx_soc_attach which is used
for calling pdev_attach. scn is a handle for each radio interface.

Change-Id: I6c4b1835d3a1c0b19724d62a67961bff4e296284
2017-01-09 06:15:47 -08:00
Ankit Gupta
6fb389b4e4 qcacmn: Check peer for null before dereference
Check for peer null check before dereference in
dp_peer_state_update to update its state.

Change-Id: Id3b743d6cbe3d156a48ad111e467579b7478e4bb
CRs-Fixed: 1107176
2017-01-04 12:21:05 -08:00
Himanshu Agarwal
f064db935d qcacmn: Change value of MOB_DRV_LEGACY_DP macro
Original value of MOB_DRV_LEGACY_DP of 0xffff is colliding
with value of QCA8074_DEVICE_ID macro which is for Hawkeye
platform due to which soc context is not getting allocated
for legacy platforms.

Change the value of MOB_DRV_LEGACY_DP to 0xdeed.

Change-Id: I73325fef287d0a3fa0ce145957a70d20b60e12e0
CRs-Fixed: 1106160
2016-12-29 06:45:22 -08:00
Tallapragada Kalyan
1ef5480ea4 qcacmn: Added support to handle NULL Q descriptors
The MC BC packets cause a NULL REO queue descriptor exception,
and hence are directed to the ring that is configured to receive
this exception from REO. As of now, this error is directed to
WBM release ring. Add handling to pass these packets to stack
instead of dropping them, when received on the WBM release ring.

Note that, the final fix may be route these to REO exception ring
from which the driver may need to pass them to stack.

CRs-Fixed: 1098153
Change-Id: If544911e7882a9f5e7dbffa5ef705618e9fcbbda
2016-12-29 01:48:29 -08:00
Karunakar Dasineni
ed1de12085 qcacmn: Lithium data path WMI changes
WMI changes for rx reorder queue setup. Also enable addba/delba handlers.

Change-Id: I360673d7493264d2591ffe3ba2bb5c3afba47f84
2016-12-24 10:13:22 -08:00
Vijay Pamidipati
5bcfa31ec4 qcacmn: Add support to process Tx completion status from WBM descriptor
Add HAL API to parse Tx completion statistics from WBM descriptor and
populate HAL Structure and a DP API to print the statistics per packet

CRs-Fixed: 1088985
Change-Id: Ic6e918aabdbd7743d8f640e0451070dc229c6f0d
2016-12-23 06:06:01 -08:00
Dustin Brown
e2e8dc2163 qcacmn: Add dummy bus suspend/resume ops for data path
Currently, suspend/resume fails because data path suspend/resume ops
are not set. Add dummy ops for data path bus suspend and bus resume,
that simply return success. Actual implementations will follow.

Change-Id: Ic43dd05e3bd9a017ae0321eebc5d816116206aaf
CRs-Fixed: 1104135
2016-12-22 15:31:59 -08:00
Vijay Pamidipati
537d929e81 qcacmn: Enable DP support for 8074 M2M and SoC RUMI
Add RUMI Device IDs in CDP SoC Attach

CRs-Fixed: 1088985
Change-Id: Iac3feafbf7d4debeab3ff5ca038b03657818591b
2016-12-22 15:31:12 -08:00
Pamidipati, Vijay
b31b6b1d49 qcacmn: Add peer_unref_delete CB to CDP
Add peer_unref_delete to CDP ol_if ops. This API is
used to update peer count in SCN radio structure in ol_if layer

CRs-Fixed: 1099955
Change-Id: Idb84cfda60e5a8f67f1e5eae0c3f1e85d73b566a
2016-12-22 15:29:57 -08:00
Karunakar Dasineni
79cc20c174 qcacmn: DMA unmap SKBs dropped in Rx error path
Change-Id: I7135aa08062b06b3393cc09b7a5b2e0b64b3a4d6
2016-12-20 23:34:14 -08:00
Kiran Venkatappa
3ec0b30592 qcacmn: Fix for crash during unload of driver modules
Fix a typo to use correct data structure in htt_soc_detach

Change-Id: Ifbb68ef99190899e46003a95d0577f5b0a33981a
CRs-Fixed: 1097695
2016-12-20 21:52:22 -08:00
Tallapragada Kalyan
a5cbbfec4c qcacmn: fix the rxDMA buffer address configuration
after every 1024 pkts (size of rxDMA ring) received we are
over-writing the start of rxDMA ring (wrap-around case)with
new buffer address, but this was not done properly as we were
ORing with the old buffer address this was resulting in buffer
address corruption.

CRs-Fixed: 1098223
Change-Id: I6b167412ef13eda3bc1403d83955afae4c83461b
2016-12-19 05:58:50 -08:00
Ankit Gupta
20e5958da3 qcacmn: Disable TQM bypass
Disable TQM_BYPASS_WAR flag from napier platform.

Change-Id: I0b17dad372204721058109b317389d4283e33a5c
CRs-Fixed: 1089685
2016-12-07 16:53:34 -08:00
Pamidipati, Vijay
b90a79ec7d qcacmn: Fix packet offset computation logic in Tx path
Fix the packet offset value filled in Tx descriptor.
Also fix a crash in Tx completion handler because of storing wrong
pointer in tx descriptor chain (next)

CRs-Fixed: 1088985
Change-Id: Ie2895700e0bb7e6f4b7b09a01da07a17d1c41160
2016-12-07 14:38:40 -08:00
Vijay Pamidipati
88c40ff685 qcacmn: Delay DP Interrupt Poll timer start until a VAP is created
Do not start interrupt poll timer for processing datapath SRNG
interrupts till any VAP is created and is up.

CRs-Fixed: 1088985
Change-Id: I3a9d148024f66d824dc839bdf8b158c351fe22cd
2016-12-06 13:18:20 -08:00
Pamidipati, Vijay
692f00cfd6 qcacmn: Add missing fields needed for DP Interrupt timer poll
Add timer instance in dp_soc for interrupt poll, to function in
poll mode till interrupts are enabled

CRs-Fixed: 1088985
Change-Id: I0d3207fe143b30317618d78b927133c43a552ef6
2016-12-06 13:18:19 -08:00
Nandha Kishore Easwaran
b423f1f3f8 qcacmn: change name for ZeroCACDFS
The term "agile" is used by hardware for swift/fast channel change.
Use precac for the zeroCACDFS instead.

Change-Id: I35f4d61cc93b3542feb8b286cbdf3a4474df5a75
Crs-fixed: 1073945
2016-11-30 12:40:45 -08:00
Sathish Kumar
92c7904b41 qcacmn: Add wmi support for btcoex duty cycle command
A new iwpriv command has been added to configure the period
and wlan duration for a btcoex duty cycle.

As a part of this registring the wmi_service_btcoex_duty_cycle
for WMI_SERVICE_BTCOEX_DUTY_CYCLE.

Also send_btcoex_wlan_priority_cmd registrtaion for btcoex
duty cycle command in non_tlv_ops.

Change-Id: I7f3bfdfd9804566d6d0b7cce7025e99db57d0e23
Acked-by: Basamma Yakkanahalli <ybasamma@qti.qualcomm.com>
CRs-Fixed: 1064437
2016-11-30 12:40:43 -08:00
Kiran Kumar Lokere
5bca4c6064 qcacmn: Fix the compilation issue
Fix compilation issues

Change-Id: I0551c023dbdb8aa40d6aa9a3f19dcf4f56f69dd6
CRs-Fixed: 1094633
2016-11-29 16:19:06 -08:00
Dhanashri Atre
8abb9ee21a qcacmn: Change to set-up default TID queue
Set up default queue - use the same queue for BE and
non-qos traffic

CRs-Fixed: 1074199
Change-Id: I2e28ea1ee0a778d43a8d78005063a51776b48df0
2016-11-26 13:35:36 -08:00
Dhanashri Atre
6d90ef32d5 qcacmn: Separate peer object creation from other initialization
Seperate the dp peer object allocation from setting the peer's
default routing and default rx tid queues.

This change is to address a race condition where the HTT peer map
message arrives before the peer object is created.

Change-Id: Ibb0671d29ffac41fd06bb8a88476f37120d99ccb
CRs-Fixed: 1089662
2016-11-26 13:35:33 -08:00
Dhanashri Atre
10a93237e6 qcacmn: TQM bypass workaround
Enable the TQM bypass workaround.

CRs-Fixed: 1089685
Change-Id: I83859fdedd15ddd8784f9d6629d9a459a1d9c412
2016-11-26 13:35:32 -08:00
Ravi Joshi
05d9e677a8 qcacmn: Enable timer based polling for DP rings
Enable timer based polling of the UMAC rings for Tx completion
and Rx. (Interrupts are not yet ready on UMAC rings).
(DP_INTR_POLL_BASED is defined through Kbuild)
Also define the polling timer as 100 ms.

Change-Id: I243f94c3d49a80005ef9eec8a9a6f03abc81870c
CRs-Fixed: 1074199
2016-11-26 13:35:31 -08:00
Nandha Kishore Easwaran
46249e4f39 qcacmn: Add new defines for FW_STATS
Adding new defines for FW_STATS duration and FW_STATS
request. This will be used by ol_txrx_fw_stats function
for getting per_radio or per_vdev stats

Change-Id: I0a241172cd5b86aea0da99135ed574f6b1540c16
Crs-fixed: 1075597
2016-11-25 01:37:06 -08:00
Dhanashri Atre
57e420d642 qcacmn: Pass the device to memory allocation and free
Pass the device instance to the QDF memory allocation and
free functions.

Change-Id: Ia6297e311cdca708b96c72fb50f8961cddc95d83
CRs-Fixed: 1087538
2016-11-21 15:20:03 -08:00
Nandha Kishore Easwaran
fd7832e906 qcacmn: Change CDP layer to include build flags
Making changes in cdp layer to include proper compilation
flags

Change-Id: I6d325386f2a6a2b01a900d0c525c7f30aa128e47
Crs-fixed: 1075597
2016-11-21 13:07:31 -08:00
Leo Chang
5ea93a4527 qcacmn: wifi3 compile against cdp
Wifi 3.0 compile against cdp apis.
Make compilable against mobile code base.
selective hw common header include.

Change-Id: I051f917001c0d13c762d9cb5a3ec141cd278d0e7
CRs-fixed: 1075736
2016-11-17 19:13:03 -08:00
Leo Chang
db6358c42f qcacmn: add cdp wrapper for mobile device compile
add cdp wrapper for mobile device data path compile

Change-Id: I05a6c58056f8884915580c074efa81a5a28f71be
CRs-fixed: 1075597
2016-11-17 19:13:02 -08:00
Nandha Kishore Easwaran
870abdada3 qcacmn: Remove common htt.h file and add cmn enum
Remove the htt.h file inclusion from inside the cdp layer.
The upper layers should include this. Create a common
enum structure to be used inside the cdp_if layer.
Translation will take place in the DP layer.

Change-Id: I0c3e30eab54c0efafb917ddb304678a392788c2b
Crs-fixed: 1075597
2016-11-17 19:13:00 -08:00
Nandha Kishore Easwaran
2906ce1943 qcacmn: Remove unnecessary flags
Remove the unnecessary compilation flags from cmn_dev

Change-Id: I39cb16122d1db930f1c759e206daedf85eebf612
Crs-fixed: 1075597
2016-11-17 19:12:59 -08:00
Nandha Kishore Easwaran
e5444bc96d qcacmn: Add CDP_IF wrapper layer for data path
Added a new layer CDP_IF inside dp which is an intermediate
between the data path functions and the upper layers. All function
calls from outside the DP layer to the DP layer goes via the CDP_IF
layer

Change-Id: I76e671c85d2d02aa0a65a90b356840d3aeede52d
CRs-Fixed: 1075597
2016-11-17 19:12:58 -08:00
Manjunathappa Prakash
2146da30dd qcacmn: Add changes for per NAPI or per Rx CE LRO manager
Make changes for per per Rx context LRO manager, this addresses
all parallel Rx concurrency issues. There by removes all the contention.

Change-Id: I90604ffdf7b7fd930eee636426a4c7fc9b92c7d7
CRs-Fixed: 1079320
2016-11-15 00:35:31 -08:00
Nandha Kishore Easwaran
132a470105 qcacmn: Enable STAT log for tx time and rx time
STATS log for:
a) total time for tx
b) total time for rx(inside bss)
c) total time for rx(outside bss)
On "iwpriv athX txrx_fw_stats 24" command, stats logged
On "iwpriv athX txrx_fw_stats 25" command, stats logged and reset

Change-Id: I3b7d794e155916745a2c6c045984b416d3dc91ee
CRs-Fixed: 1072258
2016-11-11 00:07:13 -08:00
Nandha Kishore Easwaran
72c39f9723 qcacmn: Add iwprivs for AGILE DFS
Enable/disable agile mode.
Set pre-cac timeout.

Change-Id: Ib3a68b53938ad6f1fe5075be7ca4d591744b9a31
CRs-fixed: 1075392
2016-11-02 05:14:31 -07:00