WMI can queue the packets in both process and tasklet context. Before
queuing the packet H-TC will increase TxProcessCount. Only one core
can increase it and proceed for queuing the packets to HIF. At 100%
cpu utilization due to locking and unlocking the H-TC TX lock, one
core is holding TXProcessCount(and went to tasklet context and stuck
there) and other core is not able to queue the packets to HIF. Which
is creating virtual CE stuck case. Fixed the issue by acquing the
H-TC tx lock before the while loop which queus the packets
in H-TC queue
Change-Id: I435be9fa34b5ae86c6edb6ee29426a9134e5b6f2
CRs-Fixed: 1083038
Implement HAL APIs for accessing HW_TCL Data Descriptor,
processing of Tx MSDU Extension Descriptor and WBM Descriptors.
CRs-Fixed: 1073253
Change-Id: If6bd5c3ef7837b6968295d1a2cd5a18299d4ce42
Implements the core error processing infrastructure
for:
- REO exception ring and
- WBM SW Release ring.
Individual error handling (e.g Defragmentation) will
be added going forward.
In this first check-in all frames routed to the WBM release ring
are dropped except MC/BC packet that get routed to this ring,
due to the default configuration (MC/BC packets cause NULL queue
descriptor violation).
Change-Id: I57a7be19d51907d6b6df2e62246a45da07325f49
CRs-Fixed: 1074199
Add support for replenishing the rx buffers using the host to
firmware buffer ring.
This includes adding a flag QCA_HOST2FW_RXBUF_RING:
When QCA_HOST2FW_RXBUF_RING is enabled the host will do the following:
- Allocate the refill buffer ring (HTT_HOST1_TO_FW_RXBUF_RING) and
populate it with
rx buffers
- Send the refill buffer ring configuration to the firmware
- Allocate the rx DMA ring (HTT_RXDMA_HOST_BUF_RING), leave it empty.
- Send the rx DMA ring configuration to the firmware
When QCA_HOST2FW_RXBUF_RING is disabled, the host will do the following:
- Allocate the rx DMA ring (HTT_RXDMA_HOST_BUF_RING), and populate it with
rx buffers
- Send the rx DMA ring configuration to the firmware
CRs-Fixed: 1074199
Change-Id: Iec05a973cd9d628c742e3aaa16b8dabc7797625d
Enable logging of DPTRACE logs at each layer of driver and at tx
completion for all tx as well as rx protocol packets.
Change-Id: Id568c19196702034989a0f55490bc62667b3b20e
CRs-Fixed: 1083002
WMI command buffer is not cleared after WMI command TX completion.
For DISA certification TK and GTK should not remain in the memory
area after disconnection. Since WMI command buffer is not cleared,
hence content of TK and GTK is still in host memory region.
Clear WMI cmd buffer after TX completion.
Propagation from qcacld-2.0 to qcacmn.
Change-Id: Ib09a77b630c932409645b7a989bd959f0ed4f514
CRs-Fixed: 1060982
Compilation error is seen for 32 bit builds as arch_get_cpu_efficiency
is not exported in 64 bit architecture cpu.
Remove arch_get_cpu_efficiency references from hif napi layer as this
information is not used as of now.
Change-Id: I68c31b1008696fc84bc5a563d45eaa507ae92981
CRs-Fixed: 1071783
Add NULL check for HIF state and CE state in ce_send_cb_register and
ce_recv_cb_register functions before dereferencing it.
Change-Id: I96cde91775ff77f6ae863b4d56e48c42e34104c7
CRs-Fixed: 1081995
Log Transport Layer Tag for debugging. The tag differs for
normal command and the runtime pm commands.
CRs-Fixed: 1072520
Change-Id: I7ec085410aaa429cfeb8cc09729e62deee9c7d95
Recently added changes for coexistence of WIN/MCL TLV implementation
through CL I6868c288a43fd3afb19c84b8a9d4ef0dfbee5c94 require
adaptations in QCA WIN driver to successfully compile.
Add required definitions in WMI layer to adapt WIN driver to
changes made for coexistence.
Change-Id: I99550ca10553d8096b8967249c006bac4e0c62df
For supporting low memory platforms, if fastpath is enabled, the number
of destinaton ring receive buffers are reduced from 512 to 64 for CE1.
Also when pktlog has been disabled, avoid allocating receive buffers
for CE8.
Change-Id: Ia4cd991ec14a5d69f13efee8e6f72db6da99f83a
Acked-by: Sahoo, Amarendra Kumar <c_aksah@qti.qualcomm.com>
CRs-Fixed: 1066302
Currently, RTT related operations to change report type and number
of measurements are done in the WMI layer.
Abstract these operations out of WMI layer and keep it in the WIN
host API layer to make the RTT WMI API generic.
Change-Id: I9b73830912c6c2b3d0908788f1f6a77b7f43dcaa
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code that is generating warnings. Fix all warnings
in qdf.
Change-Id: Ib499e7d0a5bfb6d2e5a7eaa7fbe769bb2b49772a
CRs-Fixed: 1076314
Fix the incorrect order of arguments to memset in two
places in the error path.
CRs-Fixed: 1082204
Change-Id: I4cd6e23930d4f34bb732499eda2b20845b09a3b2
Propagation from qcacld-2.0 to qcacmn.
Print proto type for ICMP and ICMPv6 packets which
cause wow wakeup in HOST driver.
Change-Id: I6d8cf8ad65652205bfad1a3531daf48a42a79350
CRs-Fixed: 1080772
Add IWPRIV support for preferred uplink. Preferred uplink will
be the interface chosen by the user during creating a fast lane
using two radios.
Change-Id: Id9333f9f083b6a34e7998ca9b02be94c220ed6e8
CRs-fixed: 1069444
Add a new compile time flag ENHANCED_STATS so that
the function under that flag gets declared
Change-Id: I38c2e7c36d5aaad315597bad011359ce7f947069
CRs-fixed: 1066302