For qcn9000, As part HW enhancements, PPDU_ID is sent
in reo_entrance_ring descriptor instead of RX_MPDU_START
tlv. Add support to read ppdu id from descriptor.
Modify existing hal API hal_rx_hw_desc_get_ppduid_get ()
arguments to pass RxDMA ring HW descriptor.
Usage:
a. Use hal_rx_hw_desc_get_ppduid_get () -
to get ppdu id from rx_tlv_hdr or hw descriptor based on target.
for qcn9000, this API gets ppdu_id from HW descriptor,
for other platforms, gets ppdu_id from rx_tv_hdr
b. Use hal_rx_get_ppdu_id () - to get ppdu_id from rx_tlv_hdr
Change-Id: I5838227c12cde50cbb2a9da7a0d8056b8b9b7ef5
In a SON WFA testcase, the QCA AP advertises the channel set in
operating class 128 as individual IEEE channel number (for eg. 36, 40,
44, 48 etc.) instead of center channel (for eg. 42, 58, 106 etc.) to
the third party AP.
As a result, the third party AP creates Front Haul VAPs in High Band
radio when the QCA AP is configured to Low Band, due to incorrect
channel set advertised to it.
To fix this issue, add an API reg_get_chan_or_chan_center to
calculate the center channel number for a 80MHz, 80_80 MHz and 160
MHz bandwidth channel, and use it to calculate the center channel
number within the channel set for a particular operating class in the
operating class table.
Change-Id: Idf7df70c8d01ed79b43d0ba21db7b07189f3f710
CRs-Fixed: 2612258
Currently on the STA interface if the scan
comes the driver puts it to NON-DBS scan if the
high accuracy request comes, but if the NDP
peers are active this causes a throughput loss
as scan takes much time to complete.
Fix is to do a DBS scan if the NDP peers are
attached to a NDI interface.
Change-Id: I798fd388f2bf010304ba1f6777680cf4d1f3ccfb
CRs-Fixed: 2615541
1)Configurable number of bytes to log
2)Add support to record only specific WMI command/events
Separate buffers are added to save user specified WMI commands and events
1.To record specific wmi cmd, e.g. WMI_VDEV_START_REQUEST_CMDID
echo 0x5003 > /sys/kernel/debug/WMI_SOC0_PDEV0/filtered_wmi_cmds
2.To record specific wmi evt, e.g. WMI_MGMT_RX_EVENTID
echo 0x7001 > /sys/kernel/debug/WMI_SOC0_PDEV0/filtered_wmi_evts
Results of recorded specific WMI command/events:
1. WMI commands, e.g.:
cat /sys/kernel/debug/WMI_SOC0_PDEV0/wmi_filtered_command_log
2. WMI events, e.g.:
cat /sys/kernel/debug/WMI_SOC0_PDEV0/wmi_filtered_event_log
CRs-Fixed: 2597854
Change-Id: I1e90a13ac0717f1f37ba998fb1d06a990d3f4fa2
FSE setup, FSE cache flush and FISA config commands do not have
response, tag them as HTC_TX_PACKET_TAG_RUNTIME_PUT so that get on
runtime_pm is released. Without this target fails to go to runtime_pm
suspend.
Change-Id: Ibb14484dd50c62bb4680b41acf93ce3da1bec796
CRs-Fixed: 2606884
Move flow learning and operation HAL macros from header file hal_rx_flow.h
to hal_rx_flow.c.
1) hal_rx_flow.c conditionally compiled in based on the feature
2) Function implementations are too big to be defined in hal_rx_flow.h
Replicate hal_rx_flow_setup_fse specific to FISA Flow programming.
Implement function to dump the FT entries.
Change-Id: I7db943495eecfc064c4b696939da83d1d8ed9280
CRs-Fixed: 2599917
Add INI dp_rx_fisa_enable to enable/disable FISA feature.
Disable the feature by default.
Change-Id: I0cc524956e32ab9f2b5c556d8ae2e1855e8d3513
CRs-Fixed: 2599917
In MCL code, QCA_DFS_NOL_OFFLOAD is no defined,
which causes the utils_is_dfs_cfreq2_ch always return
"false".
In function vdev_mgr_start_param_update
the "dfs_set_cfreq2" needs to be set correct dfs flag from
utils_is_dfs_cfreq2_ch so that vdev start wmi command will include
correct DFS flag - WMI_CHAN_FLAG_DFS_CFREQ2 for AP home channel.
Move utils_is_dfs_cfreq2_ch function out of WLAN_DFS_FULL_OFFLOAD
and QCA_DFS_NOL_OFFLOAD build flag.
Change-Id: I341db02c4db3ad3b21d8b2c115b2baffc3df3164
CRs-Fixed: 2619273
For QCN9000 max FFT size supported is 9 for 20 MHz and 10
for all other bandwidths. Add FFT bin size max based on
bandwidth to support this requirement.
Change-Id: If383dc914937d68c9f4781463a3a965c73bc78f1
CRs-Fixed: 2617674
Do not process or drop rxdma error decrpt frames. In case of
decrypt error the decryption is not proper and Rx OLE gets
corrupted bytes. So accessing these can lead to invalid buffers.
Change-Id: Idb3f942facf08fc26bde0fd9826db28955ca01d5
CRs-Fixed: 2613068
Currently there are unnecessary/duplicate logging. Identify and
reduce those logs that are not necessary.
Change-Id: If47a4fc0762a7a11666771e76a56d4fa1013647b
CRs-Fixed: 2615419
The candidate_min_roam_score_delta in struct
wmi_roam_cnd_scoring_param at the interface definition and this causes
compilation issues with older host.
Rename candidate_min_roam_score to fix compilation error.
Change-Id: Ie214b386ef4c14be2cdcaec9be0d8b6c7f1e7f33
CRs-Fixed: 2617981
This patch adds the function to extract and parse the wmi events
WMI_VDEV_AUDIO_SYNC_START_STOP_EVENTID and
WMI_VDEV_AUDIO_SYNC_Q_MASTER_SLAVE_OFFSET_EVENTID. These events are
required for ftm time sync feature.
Change-Id: Ib17da82b7a8abfcff5d18125a0ba0e5249d6bf54
CRs-Fixed: 2615452
Add an attribute QCA_WLAN_VENDOR_ATTR_RTPLINST_PRIMARY_FREQUENCY for
primary channel center frequency in the definition for Representative
Tx Power List (RTPL) list entry instance. This is required for 6 GHz
support, since the 6 GHz channel numbers overlap with existing 2.4 GHz
and 5 GHz channel numbers thus requiring frequency values to uniquely
identify channels.
Mark QCA_WLAN_VENDOR_ATTR_RTPLINST_PRIMARY as deprecated if both the
driver and user space application support 6 GHz. For backward
compatibility, QCA_WLAN_VENDOR_ATTR_RTPLINST_PRIMARY is still used if
either the driver or user space application or both do not support the
6 GHz band.
Change-Id: I71c60aa9512bd183eaf73e1bffa57cab0d5b40c5
CRs-Fixed: 2612147
A service bit is added to indicate Firmware supports sending NSS ratio
information to Host and Host receives the NSS ratio information from
Firmware as part of service ready ext event. Save this service bit in
soc's extcap feature bit. Extract the NSS ratio info from service ready
ext event and save the results in wlan_psoc_host_mac_phy_caps structure
to calculate NSS value.
Change-Id: I8fbee48d872b0724bbb629ad38b3c959736a3c39
CRs-Fixed: 2612959
This is a public API, so move it outside to hif.h file so it can be
used elsewhere as well.
Change-Id: Ic870cf804df69f6d7bb5a792da662759d687e0ed
CRs-Fixed: 2616491
Add support to send DSCP-to-UP map table values to
FW over WMI cmd to update its corresponding map table.
Change-Id: I92c1464881282ead00714d0b115cffd34dc9ba1f
CRs-Fixed: 2617045
8074 and QCN9000 coexist, so make hal_rx_msdu_packet_metadata_get()
as chip specific
Change-Id: I5b0b5e7f8915d12d4b267d5f07b03b47bb49a83f
CRs-Fixed: 2595314
During CU and low rssi based roam triggers, consider AP as roam candidate
only if its roam score is better than connected AP score by at least
candidate min roam score delta.
Hence, driver adds support to set candidate min roam score delta in
firmware.
Change-Id: I98d2c4ed5599e5d6d52941c46a236e0e5ccd8ba8
CRs-Fixed: 2614118
Currently if any layer tries to delete a peer which
has already been deleted, there is no check to stop
the delete operation. Deleting an already deleted peer
is incorrect.
Check if the peer is valid before we try to delete
the peer.
Change-Id: Icc280554a652e0ee3f1ea38c98fb130ea3c1ae80
CRs-Fixed: 2613595
Use qdf_scnprintf instead of snprintf to log channels to store
the freq list and print.
Change-Id: I4e2f4a93f3de9b9937af3699bde00bb2d1066ca5
CRs-Fixed: 2615319
As part of componentization of packet capture feature
removed INI of packet capture.
Change-Id: If9f599cbaf5bc3e339dc1f21ee6be36f5eb093f2
CRs-Fixed: 2614621
Move HAL_RX_MSDU_END_DA_IDX_GET macros to chip specific header file.
Fixing compilation failure for 6490 and 6750.
hal_rx_msdu_packet_metadata_get_generic need not be chip specific,
macros defining the function are already chip specific.
Change-Id: I940a289662bdeddfbf99fae2a80d7796334832e7
CRs-Fixed: 2595314
Rather than extracting msdu end pkt tlv information per field basis
during fast data path, extract msdu end pkt tlv information at once
and store in local structure.
Change-Id: I0877ba4f824d480cc0851c72090f010852d0d203
Drop the packet if msdu_done bit is not set while processing
rxdma err frames. This is not expected while reaping WBM RX
release ring.
Change-Id: I8776d15ea88319d7d955fdae90958648484dbda0
CRs-Fixed: 2603791
This change introduces the vendor event
QCA_NL80211_VENDOR_SUBCMD_REQUEST_SAR_LIMITS_EVENT.
Host drivers can request user space application to set SAR
power limits with this interface.
Change-ID: I15cf651c722bf828ba9012d81d99922c39a9e1fc
CRs-Fixed: 2615364
Maintain packet counters for each peer based on protocol. Following 3
protocols are supported
* ICMP (IPv4)
* ARP (IPv4)
* EAP
Change-Id: I56dd9bbedd7b6698b7d155a524b242e8cabd76c3
CRs-Fixed: 2604877
Export __qdf_nbuf_data_is_icmp_pkt to outside QDF. This is needed for
implementing the per-peer protocol counters
Change-Id: I40db2b95347e95f2a5a7dbf6650fa873f564f1c3
CRs-Fixed: 2604877
In many functions, in the regulatory component
(e.g reg_modify_chan_list_for_freq_range), the channel enum iterations
assumes the channel enums and channel maps have the same order so that
there is a one-to-one mapping.
The change I5fe2c7a5db44f1cf8d6cb6317396c4527482137c removed
(compile-conditionally) a few channels. The removal violated the one-to-one
mapping principle. This led to 2Ghz channels being added to 5Ghz only
radio, which in turn caused many auto-channel selection issues and test
failures.
Instead of removing the channels, add (compile-conditionally) invalid
channels to maintain the one-to-one mapping.
Change-Id: I023de9732e02d52e544199b77680e9f7706d5210
CRs-Fixed: 2612990
A framework is added where the filters for every
mode are stored on a radio instance. Whenever a mode comes
up, it stores the filters in the radio and calls a
common API which iterates through all the enabled
mode filters and loops through them to create a
superset of filters which is sent to HTT.
This framework can be extended for new feature addition
which set filters for the monitor status and monitor
destination rings.
Change-Id: I9b739af2086bbe261b65c57af0a5bd867294f30f
CRs-Fixed: 2585872