Firmware advertises the service capability bit
WMI_SERVICE_PNO_SCAN_CONFIG_PER_CHANNEL when it supports per
channel scan config flags. Get this and cache in psoc.
If firmware supports WMI_SERVICE_PNO_SCAN_CONFIG_PER_CHANNEL,
it uses the upper-12 bits(bit-20 to bit 32) of channel_list
for flags and lower 20-bits(bit-0 to bit-19) for frequency.
If firmware doesn't support it, then channel_list holds the
frequency value only. Fill the flags and frequency accordingly.
Change-Id: I30d36a3c164e23cf0395129e5b93d186b81aa8a6
CRs-Fixed: 3103921
First host checks below two things in host scan request:
1. Userspace sets NL80211_SCAN_FLAG_COLOCATED_6GHZ flag
in host scan request.
2. At least one 6G channel is present in the host scan req.
If any of the above conditions satisfies, Host fills all
remaining (other than channel(s) present in host scan req)
valid 6 GHz channel(s) to scan requests and set the flag
FLAG_SCAN_ONLY_IF_RNR_FOUND for each remaining channel(s).
Host sends this updated channel list via WMI command
WMI_START_SCAN_CMDID_param_tlvs->channel_list for host scan
to firmware.
With this change, driver allows Firmware to scan 6G channels
based on RNR IEs only (for colocated APs reported by 2.4/5
GHz APs).
Change-Id: I2d9d2aac58bbc521b2476756d5919647bdc265cc
CRs-Fixed: 3103873
Read out of bound due to invalid cookie and cause device broken. This
change checks cookie before using it as index of DBR buffer pool.
Change-Id: I1abc7d771cc62a7dd2dfe98784bf8ef2710f26ca
CRs-Fixed: 3144133
Currently the TWT rx frames are dropped in
tgt_mgmt_txrx_rx_frame_handler considering them as unspecified
packets as action category for TWT is not defined.
Define TWT action category so that the TWT frames will not be
considered as unspecified frames and dropped while processing.
Change-Id: I2d9c01e89029bcbb379a5a9c77a7d101de155d6a
CRs-Fixed: 3087275
Since lvl_idx maybe get value large than
param_buf->num_temp_range_stats, then out
of bounds will happen when read array of
wmi_tt_stats.
Change-Id: I85b29216272952102dca41792c290baf285a8e31
CRs-Fixed: 3136333
Fill tx flags in radiotap header based on tx status for
tx packets capture in packet capture component.
Change-Id: I52da01a2c0677d32bfb05a1f3095a0e6df084fca
CRs-Fixed: 3132140
Since structure wmi_wlan_profile_t includes tlv header, it has
to consider the tlv header in each iteration.
Change-Id: I2928f89a14646fceb93729f508b817c173eff1a2
CRs-Fixed: 3136679
Operating class field used in RNR IE is of global operating
class. When getting frequency from RNR IE region specific
operating class is used for lookup instead of global.
Added changes to search operating class from global OC
table.
Change-Id: I200ab46187fed91cc66cd954b062c8d8ac44f631
CRs-Fixed: 3131600
Currently whenever the wmi message is allocated the wmi header
length is also added to check with against the max size supported
by the firmware, there is no need to add the extra wmi header size
as the max length shared by firmware has the wmi header size
included.
Below is the breakdown:
Max CE2 transfer size is 2048 bytes
HTC header is 8 bytes
WMI header is 4 bytes
Max payload can be (MAX CE2 Transfer size - (HTC header+ WMI header)
(2048 - (8 +4)) = 2036
During the htc handshake this max wmi length is recevied by the host as
2040 bytes which is including the wmi header so host adding the extra
4 bytes is redundant and can be removed.
HTC buffer->actual_length = 2036 + WMI(4) = 2040 bytes
Change-Id: Ib958a938506c5c96347dec5304ca30aa8690d459
CRs-Fixed: 3130493
Reduce the log level of tx flow control threshold pool size
from error to info. This is done to reduce the delay due to
console logging in connection/roaming path.
Change-Id: I5332bd179edc92006976a6421121cfce38b89b70
CRs-Fixed: 3119430
HAL changes to populate agc gain, CFO, rx_start_ts, mcs_rate and
gi_type to CFR info for QCA6750.
Change-Id: I164324b1e929399a8dacf88f3012970c65d5d653
CRs-Fixed: 3115256
As part of new change to support large management frame
the buffer size of CE2 has been increased to 3520 Bytes.
Since CE2 & CE3 shares common EP in Fw because of which any changes
in buffer size in CE2 need to have similar changes on CE3 as well.
So to accommodate change increase CE3 buffer size.
Change-Id: I8e558f11b1c44934cf6d64d1f3027f016d34f526
CRs-Fixed: 3118928
By the time driver reaches prevent l1 call there is chance
of EP vote access getting disabled in-flight, to handle
this skip vote request if EP vote access disabled in-flight.
Change-Id: I91e1cdfc08492188ad8614339d5918c294bf10e4
CRs-Fixed: 3113786
Current there is no ce debug history when testing
perf build, so it is hard to debug some issue.
Here it only enable ce2/ce3 on perf build, which keep
only necessary log here.
Change-Id: I29b998939cfa25f0547a9871721c6daeb0fdd961
CRs-Fixed: 3058740
Update WMI CE buffer size to 3520 Bytes to support
large frame size on QCA6490.
Change-Id: I1f3326f40bf18dda6010def57ea7f2e0961bc725
CRs-Fixed: 3036932
Send only eapol packets to stack and drop other packets
when found in rx err path when either REO or RXDMA push
reason is set to ROUTE type.
Change-Id: If1f43426adf21f7d00f17d369cd7fde7f7f85866
CRs-Fixed: 3114312
Num stats over QMI indicates how many stats requests are fetched
without triggering RTPM resume. If RTPM resume/suspend happens in
the middle then num stats over QMI counter should reset. Add logic
to reset num stats over QMI counter during WoW enter/exit.
Change-Id: I34fe93759bf8a7a2a6c0d4b389ad96b8e1ba4d6c
CRs-Fixed: 3110590
Add a log message to indicate RTPM resume is requested by RTPM
prevent runtime suspend API.
Change-Id: Ifb90493d1ea48601bb40708b1a2d7a821144a9b2
CRs-Fixed: 3110580
In QCA6750 target hif sleep timer is not used but timer
delete is performed during deinit path.
Fix this so that hif sleep timer delete operation is not
performed in QCA6750 target.
Change-Id: I54790f3b20af4f4b265ab37b593d300032f00fa5
CRs-Fixed: 3108047
As part of code change we are removing csum_enabled flag check.
In that case, csum_enabled becomes redundant since we are not using it
in the code base, So remove redundant code as part of the cleanup.
Change-Id: Iac411b20f06436053b1969a1af9e3b3ee418c34c
CRs-Fixed: 3070858
Currently, to set checksum enable flags in Tx descriptor
we are checking the csum_enabled flag along with stack checksum
offload request. In case of roaming from latency-critical connection
to non-latency critical connection we request stack to calculate
checksum and set csum_enabled flag to 0. For some packets which
are already queued where the stack has not calculated checksum and
csum_enabled flag is set to 0, we will not set the checksum enable
flags in Tx descriptors for those packets.
To fix the issue remove the csum_enabled flag check and directly
check if the stack has calculated checksum for those packets or not.
Change-Id: I8d7754afc3d0a33315b85b0113cd3062e5783e28
CRs-Fixed: 3070858
With this change add log with scan channels list dump to print
if NAN is enabled or not for any frequency.
Change-Id: I81f5017c7f146d2c7bd227601ae320d9cc67f82f
CRs-Fixed: 3042903
Customer reported their HLOS LTE-WLAN transition algo sometimes go wrong
for wrong low layer stats, Txretry delta is bigger than Txtotal delta.
Txretry unit is msdu while Txtotal unit is mpdu.
Add vdev/peer stats for mpdu number of successfully transmitted after
more than one retransmission attempt, to align mpdu tx_packets, tx_failed.
CRs-Fixed: 3099490
Change-Id: Id4b9d8fd81af4bf0c141dad481bfd2b3f6c1db2a
Currently api wlan_reg_get_6g_ap_master_chan_list is declared
and defined under CONFIG_AFC_SUPPORT feature flag, since this is
a generic API and can be used by other functionalities as well.
With this change move wlan_reg_get_6g_ap_master_chan_list api
out of CONFIG_AFC_SUPPORT feature flag.
Change-Id: Ifa7b27895b4660bbf248fc2827472ba50c9df9a4
CRs-Fixed: 3090281
Currently there is no recovery reason for stats request failure.
With this change add QDF_STATS_REQ_TIMEDOUT for stats request
failure.
Change-Id: Ie9ae8259fc20b4d8829b760e818b6a1f9194a9d0
CRs-Fixed: 3106570
Host splits MBSSID into individual scan entries. The IEs
added into the new scan entries should neither be in the
non-inheritance list nor a duplicate IE. Host checks duplicity
of Vendor specific IEs by comparing the OUI, type subtype of
the non-tx and tx BSSID IEs.
Adaptive 11r VS IEs doesn't have subtype, and host uses
IE data as subtype. In this case, even if both the IEs are
same, still both are added into the new scan entry. The
supplicant uses the capability from the first IE belonging
to the tx profile leading to connection failure.
In MBSSID parsing logic, add exception for OUI from this
specific vendor in the Vendor IE comparison logic.
Change-Id: I7bb6cc7ebe34a5f007b9b84c91d6db6c7fcf997b
CRs-Fixed: 3084721
Fix the invalid VAP instance error seen when RCC is
enabled and ol_ath_stats (enhanced stats) feature is
disabled case.
Populate gI as well similar to other rate stats in
CFR handler where this information would not be
available if ol_ath_stats is disabled.
CRs-Fixed: 3056621
Change-Id: Id1af6359408cb977ba0becf298121ee10dd5ef72
HAL changes to populate agc gain, CFO, rx_start_ts, mcs_rate and
gi_type to CFR info for QCA6490.
Change-Id: I6f6f47c87d40bd661162f764fb3a360230a56457
CRs-Fixed: 3086667
There is wrong chip type in cfr meta data header if run CFR/CSI with
HSP since doesn't fill it for QCA6490 & QCA6750.
Change-Id: I932c065d33c5eaa33f66ec8a92470f5820472d7b
CRs-Fixed: 3073865
Add mcs rate, gI type and other SU sig info to cfr metadata.
For Tx based capture mcs rate & gI type is applicable
MCS For legacy mode
0: 48 Mbps
1: 24 Mbps
2: 12 Mbps
3: 6 Mbps
4: 54 Mbps
5: 36 Mbps
6: 18 Mbps
7: 9 Mbps
8: invalid entry
MCS for HT, 0-7: MCS0-MCS7,
MCS for VHT, 0-9: MCS0-MCS9,
MCS for HE, 0-11 MCS0-MCS11, 12-13: 4096QAM
GI:
0: 0.8 us
1: 0.4 us
2: 1.6 us
3: 3.2 us
ltf_size:
0: he_ltf_1_x
1: he_ltf_2_x
2: he_ltf_4_x
dcm: Indicates if DCM set
0: No DCM
1: DCM
sgi: Indicates if short gI used
0: No short gI
1: short gI
beamformed: Is packet beamformed
0: non-beamformed
1: beamformed
stbc: Indicates if stbc applied
0: No STBC
1: STBC
Coding:
0: BCC
1: LDPC
Change-Id: If6ab4b4878ab24406aba0e890ec08a2dae2b4634
Add CFO, agc_gain and rx start timestamp related parameters
to wmi_cfr_peer_tx_event_param and populate the same with
data from FW peer tx event.
Change-Id: I462fa56a854b18d1f9b46d1e14eea85da0d45f23
Separate the common fields of csi_cfr_header and update
the logic of calculating the cfr_metadata_len.
Move cmn header update code to single place.
CRs-Fixed: 2916901
Change-Id: I97d99df45f667f4ed3b80264b12d3d09a3bcae95
Extract agc gain information, CFO & rx_start_ts from
rx status and cfr peer capture event to CFR host metadata
Change-Id: Id896554f1da6920bd3eeced1298b07857d41a68b
In flow control code switch logic break statements are not used
intentionally, but compiler is treating this as error.
So to avoid compilation error add fall through comment.
Change-Id: Ic79b75c48554182fba7c4c0f3885e3a44347e2e7
CRs-Fixed: 3090182
In function wbuff_buff_put(), there is a possibility to
access array out of boundaries for module slot and pool slot.
Add condition to check for array boundaries.
Change-Id: Iaf5a0ef6b2e712804717abf27d0c0d06862a04f5
CRs-Fixed: 3086342
Some p2p action frame needs big retry count than the default
max 15 retry count to get high tx successful ratio.
FW allocates 3 extra bits for retry count setup.
To use this field needs FW change in CR 3082533.
Set the extra 3 bits "retry_limit_ext" to "tx_param_dword0"
field for WMI MGMT send command. Existing 4 bits
"retry_limit" combines with this new 3 bits
"retry_limit_ext" to create a 7 bits retry count:
bit 0 - 3: retry_limit
bit 4 - 6: retry_limit_ext.
So Maximum 127 retries can be specified to a certain mgmt
frame.
To use this field needs FW change in CR 3082533.
Change-Id: I889933ea1750c03701ba8a60340f27e6c2594c1b
CRs-Fixed: 3082534