Comment in the api specifies that qdf_mem_cmp api
return bool value which is not correct.
Replace bool to int to reflect the correct return
type of a qdf_mem_cmp api.
Change-Id: Iff83fbf588a072dcda8b0aaef3c6743e572b1ac5
CRs-Fixed: 1066946
In current codeflow, we are maintaining the length of the TSO segments
belonging to one jumbo packet inside tso_info, which is common for
all the segments of one jumbo packet. This works if the length of
the segments (frag[1]) is the same. In case it is not, it ends up
assigning incorrect length to all the segments. This is resulting
GMS login failure.
Fix issue by maintaining the total length of the segment in the
qdf_tso_seg_t structure.
Re-factor code for easy readability
Add TSO_DEBUG prints which can be enabled (compile time) to debug
TSO issues
Change-Id: Ifb5a0f1493224c66c3acc394e47a74b2dd84bbc9
CRs-Fixed: 1062556
Decrement qdf_mem_list.count when removing elements to avoid
assert when destroying the list.
Change-Id: I0d0989f3a9009184b898b8b27517e6d12fa3dc97
CRs-Fixed: 1063093
Currently ani_global.h is included in qca-cmn,
This change removes ani_global.h and there are
corresponding changes in Driver
Change-Id: I4c1cf70e8eb1f4391a25783a560c02a43c483054
CRs-Fixed: 1012452
This change adds the following QDF APIs -
qdf_nbuf_get_queue_mapping: To get the queue mapping set by linux kernel
qdf_get_totalramsize: To get total ram size in Kb
Change-Id: I86daffebba759c086d15951dfcc72ea626c74bb4
CRs-Fixed: 1055387
Currently, __qdf_assert is doing kernel panic, deviating the purpose of
assert - "Asserts are NOT used for stopping a program in case of an
error".
To address this, modify __qdf_assert to invoke QDF_BUG which in turn
warns or crashes based on the macro PANIC_ON_BUG.
Change-Id: Ie62484f8f369d8aafa3b1970feafe556b2c94ffa
CRs-Fixed: 1015603
Propagation from qcacld-2.0 to qcacmn.
Add API to update skb->mark whenever first packet after WOW wakeup
is received through HTT layer.
Change-Id: I877dd7af9a58ebc02d73461cc2a29e86a3945dec
CRs-Fixed: 989984
Propagation from qcacld-2.0 to qcacmn.
Add API to find IPV6 mcast packet to use it in wma_wow_wake_up_stats
func. This is required to know if there is a IPV6 mcast packet embedded
in a link layer unicast packet.
Change-Id: Ic2af69032262237b8751019817ae181913346818
CRs-Fixed: 1049254
Propagation from qcacld-2.0 to qcacmn.
Add API to find IPV4 mcast packet to use it in wma_wow_wake_up_stats
func. This is required to know if there is a IPV4 mcast packet embedded
in a link layer unicast packet.
Change-Id: Iceaf1226edbf909ca3881e049c33f7d121860ef2
CRs-fixed: 1049254
Propagation from qcacld-2.0 to qcacmn.
Dump some more info for WOW wakeup packet:
1) ether_type
2) proto_type in case of IPV4 and IPV6 packets
3) src port and dst port in case of TCP/UDP
Change-Id: I1578aa5322af50f0ae43248c48a2f754ea081970
CRs-Fixed: 1043939
Propagation from qcacld-2.0 to qcacmn.
Add APIs to get DHCP, EAPOL, ARP, ICMP, ICMPV6, TCP
and UDP packets type and subtype from the netbuf.
Change-Id: I8837ad1b976744eeb0e7f0a836eded3a5d34124b
CRs-Fixed: 1019037
Classify tx packets at one place and store packet type in
skb cb structure to avoid multiple check to determine
packet type at various layers.
Change-Id: If39fb1c9741bb213c7f22e0dfe7f662a256e637c
CRs-Fixed: 1022454
Need to register the device as a wakeup source and configure
the corect interrupt as a wakeup source for the snoc bus.
Change-Id: I2afcd69a8308183e141d7560a225a3b48d0e9f55
CRs-Fixed: 1051968
Make O(1) checks for corruption and list state to rule out
suspicion of double free and memory corruption. Only traverse
the memory tracking list to differentiate between memory corruption
and freeing an untracked pointer.
Since we check for corruption before traversing the list, the qdf_mem_free
api may crash with a use after free signature before printing out the
double free error message.
Change-Id: I0862822a65634dc68d8146f44f0474b672b6fc0a
CRs-Fixed: 1049430
With Load once unload never architecture, the cds modules
will be opened/closed several times. As part of configuration
of modules bus id needs to passed. So, add a new member to save
the bus_id passed by the platform driver during the driver
intialization,
Change-Id: Ic580e03076e5e8c557dde1879e223606a14f79b8
CRs-Fixed: 1049224
Fixing 32 bit compliation issues due to improper type
casting and shift operation.
CRs-Fixed: 1043823
Change-Id: I2c05a0c0940c5d65c40aefdc80dc2888fbe87be1
qdf_wait_single_event have contradicting impelmentation
when timeout value is set to 0.
The fix provides an implementation that works when timeout is
to zero aswell.
Change-Id: I1f03bd79227988b76fc9eb0fe9db3cf41542bd71
CRs-Fixed: 1035161
This is qcacmn portion of qcacld-2.0 to qcacld-3.0 propagation
Add commonly used definitions for NAN datapath, like QDF_NDI_MODE.
CRs-Fixed: 962367
Change-Id: I1f42c8dab17b3a300db61756c29fc02d3d3bc504
Ensure that the SAP operations make use of the mandatory
channel list during SAP channel selection and update the
INI option 'gWlanMccToSccSwitchMode' to include the value
of '4' which will make use of the mandatory channel list
while trying to avoid MCC scenario .
Change-Id: Ia43ee1d2c598c81a5ef0add9246c400577f6f694
CRs-Fixed: 1014128
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
Add ini support and feature flag for
DPTRACE to enable/disable as per requirement.
Change-Id: I22c614460f4c95539e9183935be0d2057379c6d4
CRs-Fixed: 1008087
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
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
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
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
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
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
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
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
Improve hash function to better utilize the memory entropy.
Do memory allocation outside of the spinlock.
Change-Id: Ife7da44c81463bfa9bcf19850d98471f5c61d3f3
CRs-Fixed: 1013620
Add QDF_BUS_YTPE_NONE in qdf_bus_type, which is used to represent
error bus type.
Change-Id: I274a795d32b2a5581b8849f5827cb8ac3bbf169b
CRs-Fixed: 1000113