Fixes for issues seen while sending multiple REO commands:
- Fix bug in error return from hal_reo API.
- REO status for updates done as part of peer deletion are sometimes
received after peer is deleted, causing crash due to invalid access
in REO command status handler. Fixed by using temporary copies for
rx_tid structures.
- Zero out REO command descriptors before setting up new commands.
Change-Id: I63409eb74fd91a21e0264fb2b3a62efb3a91bfe6
The pld_common.h stub doesn't include all the header files it needs
for compilation. Let it get included from hal_internal.h through
hal_api.h. In this manner, all the required .h files will allready
be included.
Change-Id: I40d107d2305baabe57719afe854bad4428d74a23
CRs-Fixed: 1113131
When shadow registers replace other register addresses,
ensure that they are configured to point at the registers
that would be written to with shadow registers disabled.
Change-Id: I789021fe394cad2ce50cbbeb2943827b6d5e464f
CRs-Fixed: 1113131
In this change, hif requests hal construct the shadow register
configuration for all the necessary datapath rings. Then hif
requests hal append the configuration for the srng rings used
by the host copy engine module. When constructing the shadow
register configuration, the hal makes note to use the shadow
register addresses instead of the actual addresses.
Change-Id: Ide8f523dece0d1dc6eb05f4c86739ece7909c25a
CRs-Fixed: 1113131
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
Changes needed to support the new definitions introduced
in the R102 hardware header files for QCA6290.
Change-Id: I4e3c27dfdc48b4d6a44f0f50f3e4a907be20e53d
CRs-Fixed: 1105853
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
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
REO descriptor fields SVLD should be set to 0 and IGNORE_AMPDU should be
set to 1 to receive packets after ADDBA negotiation
Change-Id: I89e655d8a6e1e0349aeed0aa7d2c3773a3786e4a
Add HW version check to remove referencing macros
not available in r96 headers. RING_ID_BMSK seems to be
removed in r96, Use it only for older version hw headers.
Change-Id: I0467a900317581ae7040ab0baae288ed9a905d60
CRs-Fixed: 1090092
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
Add hal_srng unlock API to be used in completions reap funtion (CE) in
which HW head pointer/tail pointers need not be updated
CRs-Fixed: 1088985
Change-Id: Ia54b144e5dfd0b37bbabf992c764697928ddf76d
Change that allows configuration of max buffer
size for SRNG rings in the receive direction
Change-Id: Ib857f1fdf43c849078f9470ec029fe627379fcb4
CRs-Fixed: 1089874
PRODUCER_INT_SETUP register write was missed.
MSI init should be done before configuring interrupt
triggers.
Change-Id: Idf356b889ba2aa9d1269e0c07dcad02cc9c63a6a
CRs-Fixed: 1089874
Wifi 3.0 compile against cdp apis.
Make compilable against mobile code base.
selective hw common header include.
Change-Id: I051f917001c0d13c762d9cb5a3ec141cd278d0e7
CRs-fixed: 1075736
Function prototype for hif_get_dev_ba is added in hal_sng.c to avoid
warning. This should be ideally added in header file. Removing the
prototype from c file.
Change-Id: I3220765b1dbc8a2cd5a45ccfe85fde09aee12a00
CRs-Fixed: 1079655
On 64-bit platform consistent mem alloc was failing due to NULL
passed for dev. Fix this by passing valid dev in consistent mem alloc
call.
Change-Id: I730af58c637dc652c4e249b83d432e0b5f01f7fb
CRs-fixed: 1079575
Implement HAL APIs for accessing HW_TCL Data Descriptor,
processing of Tx MSDU Extension Descriptor and WBM Descriptors.
CRs-Fixed: 1073253
Change-Id: If6bd5c3ef7837b6968295d1a2cd5a18299d4ce42
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