Commit graph

1,118 commits

Author SHA1 Message Date
Nirav Shah
4cc0ba809c qcacmn: Fix to avoid redefination error in AP code
Fix to avoid redefination error in AP code.

Change-Id: Ib57e7e2936aefe6abf0945b249ae1cd44e50aceb
CRs-Fixed: 1008087
2016-06-15 11:26:39 -07:00
Govind Singh
d5320a9658 Revert "qcacmn: Remove WMA header file dependency to fix WIN compilation"
This change reverts Change-Id: I48978e51ca6bd4416420ee66746d5bfe7adae3c9

Change-Id: I8113e233b3477c7b35a5c35a1a1c6f5f32936d8c
CRs-Fixed: 1008872
2016-06-14 13:48:46 -07:00
Manikandan Mohan
8330485de6 qcacmn: Fix compilation error in 4.4v Kernel
Fix compilation errors in Kernel 4.4 version. seq_printf function
syntax is changed in v4.4 Linux kernel

Change-Id: I013171e5bbd4e5641c1a74d22003271c88c63232
CRs-fixed: 1026152
2016-06-14 13:48:44 -07:00
Nirav Shah
da0881a68f qcacmn: 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: I582b13fd85e2bdc0e49739a1c6f8d8a3b295902f
CRs-Fixed: 1010412
2016-06-14 13:48:41 -07:00
Nirav Shah
31d694b25a qcacmn: Remove PROTO_TRACE feature
Remove PROTO_TRACE feature and add MGMT packet
logging in DPTRACE

Change-Id: I0437a2100554628607c561b0e815c0009f1c5606
CRs-Fixed: 1008087
2016-06-14 13:48:39 -07:00
Nirav Shah
29beae0ab5 qcacmn: Enhance DPTRACE to support RX path
Enhance DPTRACE framework to support RX path.

Change-Id: I34594911aeb89cf36d87a7753f1e5c7261b4ceb9
CRs-Fixed: 1008087
2016-06-14 13:48:37 -07:00
Nirav Shah
ae6a0b31d2 qcacmn: Add ini support for DPTRACE
Add ini support and feature flag for
DPTRACE to enable/disable as per requirement.

Change-Id: I22c614460f4c95539e9183935be0d2057379c6d4
CRs-Fixed: 1008087
2016-06-14 13:48:35 -07:00
Mohit Khanna
bda5d43e70 qcacmn: Add USB bus support (HIF USB)
Add HIF changes for USB bus support.

Change-Id: I06609db68d537ba7c7716f2926589e0dbe738e58
CRs-Fixed: 1023663
2016-06-14 13:48:33 -07:00
Manjunathappa Prakash
5693051379 qcacmn: Enable DEBUG_Rx_RING_BUFFER to keep track of posted buffers
This enables the tracking of posted rx ring buffers. With this we can
identify if host/fw is wrong when we hit below issue:
"wlan: [0:E :QDF] rx hash: htt_rx_hash_list_lookup: no entry found for
<physical address>"

Change-Id: Ib973a2e2a69e881beddea23cdc1d2d994eeb1e12
CRs-Fixed: 864569
2016-06-14 13:48:31 -07:00
Govind Singh
6bc771707b qcacmn: Remove WMA header file dependency to fix WIN compilation
Remove dependency of WMA header files in common wmi layer.

Change-Id: I48978e51ca6bd4416420ee66746d5bfe7adae3c9
CRs-Fixed: 1008872
2016-06-14 13:48:28 -07:00
Govind Singh
26d120b3a7 qcacmn: Add WIN changes to wmi_unified_tlv.c
Add changes made in wmi_unified_tlv.c to get basic control path
working with WIN driver on a tlv platform

Change-Id: I2044df3d452cd5f1c8659a8e61e343494c6228fb
Acked-by: kiranv@qti.qualcomm.com
CRs-Fixed: 1005778
2016-06-14 13:48:26 -07:00
Poddar, Siddarth
cdebcd5d1c qcacmn: Add firmware download support for sdio bus (Part 5 - HIF SDIO)
Add BMI and firmware download support for sdio bus platform.
Refactor fw and bmi download routines to get rid of compile
time bus specific macro.
Refactor allocation and free routines for high latency bus.

CRs-Fixed: 969334
Change-Id: I2c217891d0ca4b503e7388b3ebe2f787e8325af5
2016-06-14 13:48:24 -07:00
Poddar, Siddarth
416b70695e qcacmn: Add datapath layer changes for sdio bus (Part 4 - HIF SDIO)
Remove bus specific calls from data path layer.
Add sdio specific target address.
Add sdio bundling rates in datapath layer.
Fix rx data callback for UMP system.

CRs-Fixed: 969334
Change-Id: I0cd45479ca89b97455b4a9c71ce326646f38a5f3
2016-06-14 13:48:19 -07:00
Poddar, Siddarth
e41943f3a8 qcacmn: Add hif layer changes for sdio bus (Part 3 - HIF SDIO)
Abstract bus related functionalies to respective bus layer.

CRs-Fixed: 969334
Change-Id: Ie14970d69c0a8bf545d136480e4571352f2d4a26
2016-06-14 13:48:17 -07:00
Nirav Shah
3573f9537b qcacmn: SDIO bus support (Part 2 - HIF Dispatcher)
Add HIF Dispatcher support for SDIO bus.

Change-Id: I953e1990cc14cbd07bc728f4cd4a8e8e20014158
CRs-Fixed: 969334
2016-06-14 13:48:15 -07:00
Govind Singh
4cc8213cc2 qcacmn: SDIO bus support (Part 1 - HIF SDIO)
Add legacy hif sdio code.
Implement new hif sdio interfaces with respect to new hif design.
Add datapath to HIF interfaces.
Refactor hif-sdio codebase.
Remove references to older kernel version.

Change-Id: Ieca3e512edca5f960d6f2b64d15121db6c8138c7
CRs-Fixed: 969334
2016-06-14 13:48:12 -07:00
Houston Hoffman
28803728da qcacmn: Check null in qdf_nbuf_track_free
Freeing a null pointer shouldn't do anything.
Some code relies on this.  Specifically, in a
rare scenario, an allocation is made outside of
a spinlock and may freed without being used or
verified inside the spinlock.

Change-Id: Ib5f8ecabc62454a0ca9b6723cd80ff2f701196c3
CRs-Fixed: 1024277
2016-06-13 11:28:06 -07:00
Rajeev Kumar
2990bdc28f qcacmn: Remove redundant null check for wmi_handle
In WMI detach caller routine already has null check for
wmi_handle so remove redundant null check.

Change-Id: I764a91a6050ffc93613b82008f5df2529a056e70
CRs-Fixed: 1027177
2016-06-10 15:26:22 -07:00
Dhanashri Atre
5cfd37e211 qcacmn: Store the DMA address in the TSO meta data
Store the DMA address in the TSO meta data as opposed to
storing the higher and lower bits separately. The DMA address
can be convering to higher and lower 32 bit addresses if needed
by the hardware at a later point.

Change-Id: Iff706ca980ee86400952e8b3087a619f4a2728e1
CRs-Fixed: 1024169
2016-06-09 22:18:30 -07:00
Houston Hoffman
2bb5098d5e qcacmn: Do not truncate DMA addresses to 32 bits
A few apis were truncating DMA addresses to 32 bits

Change-Id: Ib827e3097c8319cb8932f21e2f2810a0219431e0
CRs-Fixed: 1024300
2016-06-09 22:18:24 -07:00
Houston Hoffman
047571e999 qcacmn: set the snoc dma mask to 37 bits
The driver and hardware should support 37 bit dma addresses.

Change-Id: Ic1dc48968ce925e4bc4f89d95feaf400cc32d2da
CRs-Fixed: 1024300
2016-06-09 22:18:18 -07:00
Houston Hoffman
2b0525b0f2 qcacmn: Implement a freelist for net buf tracking
The net buf tracking feature spend most of its time allocating
tracking cookies.  By not tracking these tracking cookies in
qdf we achieve a 90% time saving.  By keeping a freelist and
avoiding allocations altoogether, we save another 90%.  This
feature is 99% cheaper.  Throughput suffers less under when
the driver is forced to be cpu bound (eg. by mucking with the clockspeed).

Change-Id: If3268bdbbcf39aeb7278b1e51e17955eb2b47510
CRs-Fixed: 1024277
2016-06-09 22:18:13 -07:00
Houston Hoffman
77da347da9 qcacmn: remove duplicate definition of shadow_reg_cfg
shadow_reg_cfg is defined twice.

Change-Id: Ib073182e44a8360a21075057b420ed0f04b134be
CRs-Fixed: 1024345
2016-06-09 22:18:07 -07:00
Anurag Chouhan
e5dc6df496 qcacmn: Add WIN Driver compilation fix
Fix compilation errors for WIN driver.

Change-Id: I3c13f3d75a929e418118863d0976016c81436504
CRs-Fixed: 1012511
2016-06-09 22:18:01 -07:00
Govind Singh
89298eaabc qcacmn: Destroy WMI eventq_lock in WMI detach
eventq_lock is not destroyed in WMI detach.
Destroy WMI eventq_lock in WMI detach.

Change-Id: Ia60ec83cf776a3ceef75274b1bcb5dcca2594763
CRs-Fixed: 1021376
2016-06-06 18:52:34 -07:00
Rajeev Kumar
177f621440 qcacmn: Do not call sleeping API from atomic context
WMI unified detach holds spin lock bh and calls kernel API
to remove debugfs directory. Remove debug fs kernel API uses
mutex for internal synchronization and hence kernel complains
WLAN is calling sleeping API from non sleeping context. Fix this
issue by keeping debug fs remove API call outside spin lock bh
protection.

Change-Id: I15d9a3735ed3c914af51aed9885f48f9c1d1ded2
CRs-Fixed: 1021379
2016-06-06 18:52:32 -07:00
Anurag Chouhan
b348ba478a qcacmn: Add WIN Driver Compilation fix
Initially, the QCA Wi-Fi driver was ported to support kernel
4.4. However, after the code changes due to converged code,
few issues were re-created when compiled on kernel 4.4.X.

This change resolves the newly introduced issues by the
converged code changes.

Change-Id: Iae76cdfee97675ff4bf2508ce5a42f08515bb168
CRs-Fixed: 1012511
2016-06-06 18:52:30 -07:00
Govind Singh
08bd3dcacb qcacmn: Changes to converge WMI Recording feature
1.Logging of all WMI activities(commands, tx complete, events)
is adapted for WIN.
2. WIN and MCL continues to use existing approach of memory
allocation and it is managed using feature flag in common code.
3. Use debugfs for WMI event debugging.

example to read buffer through debugfs interface -
- Navigate to WMI directory under debugfs (/sys/kernel/debug/WMIx)
- It will display elements/files for all command/event buffers
- "cat wmi_command_log" (desired buffer name)
- Output will display something like this:
CMD ID = 16001
CMD = d 0 d8c6de24 e1cf
CMD ID = 16001
CMD = 8 0 0 0
CMD ID = 16001
CMD = d 0 d8c6de24 e1cf
CMD ID = 16001

Change-Id: I26895b480b9eaa400183c4667b9ac6980939cab9
Acked-by: Pratik Gandhi <prgandhi@qti.qualcomm.com>
CRs-Fixed: 1019979
2016-06-06 18:52:28 -07:00
Nirav Shah
eaa20d8751 qcacmn: Refactor DPTRACE to support new features
Refactor DPTRACE to support new data path features like
TSO and FASTPATH and add support to log DHCP, ARP and
EAPOL packets.

Change-Id: I7f9e4be12d82fbf419b2402284928144df6824f0
CRs-Fixed: 1008087
2016-06-06 18:52:25 -07:00
Nirav Shah
75cc5c83eb qcacmn: Use different copy engine for packetlog
Create new endpoint and use CE11 for packetlog
messages from target to host.

CRs-Fixed: 995628
Change-Id: I0df597468b0b7399dc545b5a4d4fd1a4c04a1df0
2016-06-06 18:52:23 -07:00
Nirav Shah
c64364e6a9 qcacmn: Add logic to log pause/unpause time
Add logic to calculate pause and unpause time for
network queues to debug data path issues.

Change-Id: I825b10837d999384a91ca3c2271e472a71fd8863
CRs-Fixed: 999861
2016-06-06 18:52:20 -07:00
Akash Patel
436558b6c8 Release 5.1.0.10
Release 5.1.0.10

Change-Id: I3921f9ffc1abf1543e9ceb6dd12f8c3aa401cb63
CRs-Fixed: 688141
2016-05-25 16:35:58 -07:00
Govind Singh
8f7a1ff2c6 qcacmn: Abstract delta code of fw common to respective layer
FW common files needs to be in sync with host and fw.
Abstract extra definition of hia map internal to hif layer.
MSI_NUM_REQUEST is incorrectly overwritten, keep the original
change as MSI_ENABLE is false across all target versions.
These changes are incorrectly added in following change id.
Iced029073c2db9eb175adcebcad9163ab39443a9.

Change-Id: Ie38666f315067ae40676e3bdac9238e4b52e6be1
CRs-Fixed: 1012542
2016-05-23 11:33:47 -07:00
Yuanyuan Liu
a5f0a396a2 qcacmn: Use PLD layer
Remove ICNSS_CONFIG dependency as it is taken care by PLD layer.

CRs-Fixed: 1013853
Change-Id: I7f174642a1d9053670b4544e0e37dee1d4849872
2016-05-23 11:33:41 -07:00
Houston Hoffman
c8993b5509 qcacmn: Force unwake in ce_per_engine_service for fastpath
ce_per_engine_service fails to call Q_TARGET_ACCESS_END in fastpath
execution flow.

Change-Id: I0caed62a4775e6e1231fead6eaa1ad7f38bc9ba2
CRs-Fixed: 1017064
2016-05-23 11:33:35 -07:00
Houston Hoffman
5364165a30 qcacmn: Add yielding to ce_per_engine_service_fast
Prevent fastpath from hogging the cpu.

Change-Id: I26de5f3108ac690eae4ded956c2524a309b7353a
CRs-Fixed: 1017061
2016-05-23 11:33:32 -07:00
Houston Hoffman
3b252aa509 qcacmn: Re-indent ce_per_engine_service_fast
Remove an unneeded if check and re-indent

Change-Id: If09ec8133df267120953c94e156f745b84913621
CRs-fixed: 1017061
2016-05-23 11:33:28 -07:00
Houston Hoffman
056527220d qcacmn: per_engine_service yield based on timing
Yield based on timing instead of relying purely on packet count

Change-Id: Ie464f9344f39cba7cb1f95047ce8a160b050e503
CRs-Fixed: 1017059
2016-05-23 11:33:21 -07:00
Houston Hoffman
2bfb82fd6f qcacmn: make qdf_time_t synonymous with system ticks
Currently the use of qdf_time_t vs unsigned long is arbitrary.

Change-Id: I658b1e9169e50389f9054b9fe1d229e51e578461
CRs-Fixed: 1017055
2016-05-23 11:33:18 -07:00
Houston Hoffman
a757eda356 qcacmn: Mangle napi_poll return value when rescheduling
4.4 kernel NAPI implementation requires drivers to
return full work when they ask to be re-scheduled
or napi_complete and re-start with a fresh interrupt
Also takes care of the expectation that when not rescheduling
you return strictly less than budget.

Change-Id: I31b024d80b9941c539a9c9f89799a30dac2f5dfe
CRs-Fixed: 1017058
2016-05-23 11:33:12 -07:00
Houston Hoffman
e683eea688 qcacmn: Move locking for qdf_net_buf_debug_look_up to the colision list
At a cost of keeping 1023 more spinlocks in memory, we can avoid
spinlock contention between different hash keys while performing
the lookup.

Change-Id: Icca2bf0b49186176caf1ea40fb508efa7e7c89b4
CRs-Fixed: 1013620
2016-05-23 11:33:09 -07:00
Houston Hoffman
10749156e4 qcacmn: Reduce spinlock time in qdf_net_buf_debug_look_up
Improve hash function to better utilize the memory entropy.
Do memory allocation outside of the spinlock.

Change-Id: Ife7da44c81463bfa9bcf19850d98471f5c61d3f3
CRs-Fixed: 1013620
2016-05-23 11:29:53 -07:00
Vishwajith Upendra
341e6a9ec5 Release 5.1.0.9
Release 5.1.0.9

Change-Id: I1b7cfab8c8e0fedb221eef4a4bcf42010cbc2af0
CRs-Fixed: 688141
2016-05-20 17:06:36 -07:00
Anurag Chouhan
f0825aed74 qcacmn: Add Win Driver Compilation Fix
Add Win Driver Compilation Error Fixes

Change-Id: I362d05937ab5868c7957b573376317322495d5c4
CRs-Fixed: 1012511
2016-05-19 18:00:39 -07:00
Houston Hoffman
056d452238 qcacmn: Add check for supported register
Register offsets have 2 possible invalid values.
need to check for both values.

Change-Id: I6168aa46c4af66169284b98dee26ab56e4ed12c5
CRs-Fixed: 1012824
2016-05-19 18:00:33 -07:00
Houston Hoffman
3db96a43b6 qcacmn: Support IPQ4019 driver probe and detach
Add AHB bus type support.

Change-Id: I968f3ae06bb63a2116a9d24d75957f397a0e8c50
Acked-by: Balamurugan Mahalingam <bmahalin@codeaurora.org>
CRs-Fixed: 1009050
2016-05-19 18:00:25 -07:00
Houston Hoffman
abd0077413 qcacmn: Address win specific compilation issues
Fixing compliation issues due to fw common files which
are not yet converged.

Change-Id: I60c2045c0807e2700b548f3dfb9f07fe04eede46
Acked-by: Varsha Mishra <varsham@codeaurora.org>
CRs-Fixed: 1009050
2016-05-19 18:00:13 -07:00
Houston Hoffman
8592507dfb qcacmn: nss wifi offload changes
Expose copy engine infrastructure for use by an nss subsystem.

Change-Id: Icad9dc056ecccf4029caa4b83d4c976dcfc232a4
Acked-by: Varsha Mishra <varsham@codeaurora.org>
CRs-Fixed: 1009050
2016-05-19 18:00:03 -07:00
Houston Hoffman
f241eb09ae qcacmn: Fix for wifi reload
Disable the PCI during wifi down.
Pass correct values when target awake is checked.

Change-Id: Iaf8e03056d6cfdba19350adac9085e6ac2d4e58c
Acked-by: Venkateswara Swamy Bandaru <vbandaru@codeaurora.org>
CRs-Fixed: 1009050
2016-05-19 17:59:55 -07:00
Houston Hoffman
fb698efe55 qcacmn: Add support for AP chipsets
Add copy engine configuration, extended set_hia functionality,
htc_module credit flow control function and physical address calculations.

Change-Id: I5e4394bed39cc92bb8323d332dc124d948737322
Acked-by: Venkateswara Swamy Bandaru <vbandaru@codeaurora.org>
CRs-Fixed: 1009050
2016-05-19 17:59:48 -07:00