TSF auto report is a stand alone feature, which can
be used to sync TQM clock and TSF clock, more than
one features depend on it.
Introduce a new build flag WLAN_FEATURE_TSF_AUTO_REPORT
to decouple it from uplink delay feature.
Change-Id: I5c62bee08d44234dc4936b3c63f3060edec30df8
CRs-Fixed: 3560244
The kernel-doc script identified a number of kernel-doc issues in the
hal/wifi3.0 folder, so fix them.
Note that there are a number of instances where public functions have
their implementation documented in addition to having their interface
documented, so remove the duplicate documentation since only the
interfaces should be documented.
Change-Id: Ic238c0f53658e8754882c83204ffae5ad713ec6b
CRs-Fixed: 3410624
The current field width for bandwidth parsed from
tx completion status is only 2-bits, which is not
sufficient for 320 MHz and 240 MHz, since these enum
values are 4 and 5 respectively, which needs a
minimum field width of 3-bits to store.
Increase the field width of bandwidth in the tx
completion status data structure to account for
320 MHz and 240 MHz enum values.
Change-Id: Ie108f31537607ab9ebf6510542b8967c0272e383
CRs-Fixed: 3359371
Add support to read TSF2 and TQM scratch regitser in the HAL layer
for WKK v1 and v2 board.
Change-Id: I0ef5e8cf4e06c0b5c98169252a81f70989285d2d
CRs-Fixed: 3321782
Use WLAN_CONFIG_TX_DELAY to enable HW Tx delay for both
SAWF and non-SAWF stats.
Change-Id: I6db7d386c0e3654f53398dcba1db7c5568544b0c
CRs-Fixed: 3262425
Use CONFIG_SAWF macro to prevent linking dp_set_delta_tsf in
low memory profile.
Change-Id: I07b75f893e6d043839225d9b7288823b6ef2f823
CRs-Fixed: 3211426
Define a new function to calculate HW delay so that same logic
can be used to calculate delay by other modules.
Change-Id: Id3740bcaa2cd558b89ab02d8e88d5947eb5997b1
CRs-Fixed: 3198305
In beryllium DP, htt_tx_wbm_completion_v3 is used in which
20B are used by host and only 16B is assigned to the htt tx
status.
To fix this, increase the macro HAL_TX_COMP_HTT_STATUS_LEN
to 20 bytes.
Change-Id: I973ba1f8118488089cd6d6baac7fd589886c2164
CRs-Fixed: 3199031
To program Vlan-pcp to TID mapping in hw
register, tid no is passed in place of
pcp value to the hal-layer.Fix this by passing
the pcp value correctly to the hal API.
Change-Id: Ib3bdeffc8dbaa7c5f47406316178206b2eec2c18
CRs-Fixed: 3172024
Add 64 bit extraction macros for Tx since many monitor
tlvs in QCN9224 use 64 bit offset and shift masks.
Change-Id: Ibf910d876d2305ae8eb16955dab1ed2dd9d66290
Enable usage of delta_tsf for SAWF. This will be used to compute tx
delay. Also, add support to update sawf stats in tx completion.
Change-Id: Idab7fbd5217175167ecdeee21cf5dc9daf1415d6
CRs-Fixed: 3135773
Add function pointers to free buffer address stored in status buffer
and support tx monitor in legacy and Waikiki flow.
Change-Id: I28612d388009292ff751fe514183fb801909f485
DMA unmap for scatter gather packets is done using
only frag0 dma address and the entire packet length
which will lead to incorrect behaviors. Add handling
to do dma unmap for all the fragments of SG packets.
Change-Id: I614553d9f96c573f0095c9be38706fd4ac3223ab
CRs-Fixed: 3112424
To support IPA TX two pipes, WBM2SW4 is added as second WBM2IPA TX
transfer ring.
Change-Id: Id0762003c1d91e3614b15df2bc51f90e27add43c
CRs-Fixed: 2750073
Add reo ring descrptor swap in case of big endian platform.
Convert msi_data into little endian format before writing into
MSI_DATA register. Also change into little endian format while accessing
the shared LMAC registers.
Change-Id: I07f4ae4e6df4608201b63d325c2cbc37436d1592
Lot of checks in Tx completion path are for special handlings
such as when ol stats are enabled some protective debug checks etc..
Add a logic to fast free of buffer at transmit completion.
If extended stats not enabled(Typically needed for enterprise cases)
do the buffer free faster. This is controlled through a flag.
Change-Id: I04873b5e3643d8e93e5b248fcaf23504dcb7624f
Restrict lock hold time in transmit path to only ring access time.
Also store lmac_id in vdev to avoid multi indirection.
Arrange fields in data structure for better alignment in data path access.
Change-Id: I1d32880ed88be486171be46281ec180d2a4906bf
the current HAL API is to read the WBM internal error
bit from the wbm release ring descriptor is always taking
HKv1 HW structure. But the wbm_internal_error bit
placement has changed from HKv2, for this reason we have
to use target specific HAL API.
Change-Id: I44789180754ca21ae59650b6d8620321a1f12569
Implement hal_tx_desc_set_mesh_en API
based on the chipset as
the macro to set mesh_en value is
chipset dependent.
Change-Id: I43c85e4ed6fd4f9992de5b71857cdb8becd1dd36
CRs-Fixed: 2522133
added stats counter to check invalid release reason other than
FW and TQM in tx completion path.
added assert to make sure host is not releasing descriptors with NULL
address.
Change-Id: I3a30bd0f0c3954ed6435489d9b21f16201d1b840
Add code to replace usage of void pointers from
HAL layer and instead use appropriate opaque pointers
Change-Id: Id950bd9130a99014305738937aed736cf0144aca
CRs-Fixed: 2487250
Add code to remove void pointer usage for hal_srng
and use opaque pointer dp_hal_ring_t instead.
Change-Id: I6907f7376d7fe3c9180b8795bd96f49fead2ec64
CRs-Fixed: 2484404
Add code to remove void pointer usage for hal_soc
and introduce opaque pointer to be used intead of void
from dp layer into hal layer
Change-Id: Ia38571174c6ed79558d0f0c9cd1a0f4afaa66483
CRs-Fixed: 2480857
1) Add one counter to track the invaild TX release source
2) Capture he descriptor that caused the issue
3) Print the invalid release source
CRs-Fixed: 2380964
Change-Id: I0dc410ae2e7c9df58ef53e3f20ca7979d086659e
Functions hal_rx_wbm_err_info_get, hal_tx_comp_get_release_reason,
hal_rx_dump_mpdu_start_tlv uses some hardware macros directly and the
value differs between qca8074v1 and qca8074v2 targets.
Move these functions to generic api file and compile it per target.
Change-Id: Ib78fb6e69238577aac64da3f60f38a72cee316b0
Some of the macro names defined in qca8074v1, are defined with
a slightly different name in qca8074v2, and few macros have the
same name in both headers but are defined with different values.
Fixed the same.
Change-Id: I5e948baf5326d1d8fdfa2bd7ee8aa072c710d17c
Create separate individual hal_srng_table and hal register
offset in target specific source files. Create separate
functions for qca6290 and qca8074 for few hal rx tx
functions as the macro value differs between the chipsets.
Assign target specific hal tx, rx ops as part of hal_attach
and call respective hal tx, rx ops through callbacks.
Change-Id: Ibbf490c678c39fdd9d54191aad7aaec786db30ec
Enable/Disable the DSCP TID map program bit before
writing the mapping configuration into HW registers.
This is a new recipe for NPR AX & HK 2.0
Change-Id: I0af968dab507b32167909dbfa8ecc7a946e4af84
CRs-Fixed: 2221226
On napier AX, HK2.0 ast search is tied to lmac_id.
This ast search feature is added to support DBDC repeater usecase.
Assign lmac id 3 to search by default on all macs until more
formal per pdev changes are made. This enables 2g.
Change-Id: Ia06d9243bddd3f4943426d6b0de3f452a252d819
CRs-fixed: 2198431