These are pci specific power management features. These should
be consolidated instead of littering bus agnostic code.
Change-Id: I366f1d14ab04368d77a144bebaeb038c1469abed
CRs-Fixed: 986480
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>
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
Data Path bypasses HTC layer for better throughput's.
Instead of dereferencing HIF structures, query HIF for fastpath
mode support
Change-Id: Iad2ae907e2d5345a71f5b64bd29f81dde4358460
CRs-Fixed: 967765
Refactor Transport Layer from cds_get_context and pass the hif context
to all the API's to operate.
Change-Id: I2fb376fda12951a77007f46ceb351bb2e7740ace
CRs-Fixed: 967765
Ramdump collection can be supported by buses other than PCIe, hence
move it to main files so other buses can also access those API's.
PKTLOG is a DataPath Feature, HIF doesn't need to have any info
of it. Move pktlog implementation to HTT folder.
Change-Id: I113ef9bb44438cd7a1ba70799ce7e72f2eaa7121
CRs-Fixed: 967765
qcacld-2.0 to qcacld-3.0 propagation
Add support to handle an error indicated by the fw in offload mode.
In this case - MIC error type.
Change-Id: I53363bdbaafad7fab0a6e067a43892a3066abbb6
CRs-Fixed: 791274
IPA callbacks need to be processed in tasklet
context in NON-SMP configuration as rx thread
is not used in NON-SMP context.
Hence Process IPA uc response in tasklet context
for NON-SMP configuration.
CRs-Fixed: 960302
Change-Id: I98d69dbdc1083f43035fe264bbee668e5efd5eee
Fix memory leak in case of txrx_fw_st_rst command where
we are not expecting any response from firmware.
CRs-Fixed: 964465
Change-Id: Iad91cb5557ef167d126ef68e07f02445ad7a0b97
HTT messages do not have a tx complete and should
have their runtime puts done when the firmware response
come. Tag messages without responses so that the
put can be done after issuing the message. Also do
runtime put in error case.
Change-Id: I7253ace95ca6bb4fa17bc6d82ec52fc598d17712
CRs-Fixed: 935300
Check runtime pm status while sending messages.
Update runtime pm when sending messages to hif.
Update runtime pm when messages are tx completed.
Change-Id: I27840f57ff87d6d27b1e3611e7fe1f2cd933ddd0
CRs-Fixed: 935300
Driver state of loading, unloading, logp are maintained in
multiple modules like HDD, CDS. Change to maintain the driver
state in CDS and provide CDS APIs to find out the state of the
driver so that any of the module can query it.
Also rename the logp to recovery in progress for clarity purpose.
Change-Id: I8e1864e1bc7f3b1dd6f4eb804ce2578c6695967d
CRs-fixed: 958659
Do not allocate txrx descriptors for management
if management over WMI is enabled.
Change-Id: Iafb231bebe83b658940119ed13a41d64a10d4eb0
CRs-Fixed: 955450
qcacld-2.0 to qcacld-3.0 propagation
Line 118: CID 50610 (#3 of 3): Out-of-bounds access (OVERRUN)
Line 200: CID 50680 (#1 of 1): Out-of-bounds read (OVERRUN)
Line 367: CID 50732 (#1 of 1): Out-of-bounds write (OVERRUN)
add TID validation check in RX_IND to avoid tid >19 scenario.
Change-Id: I32a3339902e231a8193fb8ee984ef029e24bc7e5
CRs-Fixed: 836067
Propagation from qcacld 2.0 to qcacld 3.0
Due to a race condition, vdev is getting deleted in
ol_txrx_vdev_detach and after that in
ol_txrx_peer_unref_delete, as vdev->delete.pending
is not equal to 0 as it is some garbage value, vdev
is getting deleted again causing crash.
This fix release the lock after checking
vdev->delete.pending so that before vdev gets deleted
in ol_txrx_vdev_detach, this check has been made and as
vdev->delete.pending is 0, it will not delete the
vdev in ol_txrx_peer_unref_delete and so vdev will be
deleted only once.
Change-Id: I4a7362b0e226c66ccb7c72243276d77e8df60b20
CRs-Fixed: 949397
Ignore HTT_T2H_MSG_TYPE_MGMT_TX_COMPL_IND from firmware if
management over WMI is enabled.
Change-Id: Ic196d17526c251ae26dd59ca2f42b7bff9a46ffe
CRs-Fixed: 949946
Do not reserve tx descriptors for management packets
if management over WMI is enabled.
Change-Id: Iafe758d91d11f4875e3152d92538055784490a14
CRs-Fixed: 949917
Remove per vdev tx descriptor pool feature as
it is applicable only for High Latency.
CRs-Fixed: 916724
Change-Id: I22ab3dd187518790694356bdde8475b194845bf5
a) Enabled flow control
b) Add small helper functions to avoid duplication of
code.
c) Fix thermal mitigation unpause issue with flow control.
CRs-Fixed: 916716
Change-Id: Ic02b66d1c23768a1c71dc08ed50dcedd02b647ce
qcacld-2.0 to qcacld-3.0 propagation
Multicast packets using different sequence number space
gets dropped on the host due to the existing logic of
running duplicate detection check and out-of-order packet check
on all non-aggregation (legacy) TIDs, since f/w uses a
special (non-aggregation) TID (18) to indicate these packets
to the host, irrespective of sequence number space.
The fix is in 2 parts:
1) Do only duplicate detection on mcast packets & not out-of-order check
(Also do dup-detection only if retry bit is set)
2) Instead of using mcast TID indicated by f/w, use the actual
packet TID from the Rx descriptor to perform the duplicate detection
and use a separate (new) field in rx_reorder_array to store
the last successful mcast sequence number. On the next mcast packet
perform the duplicate detection against mcast sequence number, rather
than the ucast sequence number.
Change-Id: I4c3542e82a1917b4ed27513e9244702bb212df88
CRs-FIXED: 788954
wdi20 enable implementation for hsoffload. Large physical address
support and wdi20 interface propagate to IPA.
This is part of HIF and DP.
Change-Id: If898f03a8a75689c98c70d1e55910f476d8fe329
CRs-fixed: 941041
qcacld-2.0 to qcacld-3.0 propagation
Add extra check for tqe->next!= NULL, to assert in only error scenario
Change-Id: I12e8ca5d5133ee0480d9c7c7c208854630272c89
CRs-Fixed: 839312
When allocate HTT descriptor, instead of allocating
large single chunk of memory, allocate small sized multiple
chunk of memory. Then not need to allocate order 5 memory.
Will have less chance to have memory alloc fail problem.
HTT descriptor. Frag descriptor. OL descriptor. TSO descriptor
Change-Id: Ib9d4a3f10adbc0656e1418cf3a67429322bb7164
CRs-fixed: 845666
Some of these are very remote scenarios (like HIF not being
initialized at the time of the calls, which could then
dereference a NULL pointer). There are a few cases of looping
beyond boundaries.
The scope of this update is limited to NAPI related code.
Change-Id: I60229406d5ab514d5465ef2569324d3d4eb430d4
CRs-Fixed: 938253
qcacld-2.0 to qcacld-3.0 propagation
During create peer, 'delete peer' print is coming from
ol_txrx_peer_find_add_id(). Peer deletion is not happened when
ol_txrx_peer_find_add_id() calls ol_txrx_peer_unref_delete().
Actual peer deletion is happening in ol_rx_peer_unmap_handler().
So, remove 'delete peer' print in ol_txrx_peer_find_add_id().
Change-Id: If37a573f6ff734743c3901b96c7134c81b35e4c7
CRs-Fixed: 902463
qcacld-2.0 to qcacld-3.0 propagation
while wlan disconnection is happening, in the process of peer-cleanup
check for tqu->prev to be non-null before calling TAILQ_REMOVE.
Change-Id: I5841dfe80b954bdfac5147f5e3e3661cc85ba4b1
CRs-Fixed: 836447
- Fix a crash seen due to memory being freed twice
- Deregister the LRO flush callback during LRO disable
CRs-Fixed: 933123
Change-Id: I18edadc620da04b9a571da6e1b143c099c308d90
This change is to address a watchdog bite that is seen when
a peer corresponding to the transmit frame is not found in
the OL TXRX transmit path. The change is to log the error
using a CDF trace warning message.
Change-Id: I8792da5539c75a3041c3c85f5a7e29714b721502
CRs-Fixed: 936374