With KIWI_V2, wbm_ring_num for WBM2SW5 and WBM2SW6 have been changed
to 5 and 6. Hence properly update them in g_tcl_wbm_map_array. At the
same time, tx_ring_mask_msi and tx_ring_near_full_irq_mask are also
updated.
With IPA_OFFLOAD enabled soc->tcl_data_ring[0|1|2] is used by HOST
and the other two rings are allocated to IPA usage.
Change-Id: I4c13d0787e46be667c3a5a0ae624df8c2b2b354e
CRs-Fixed: 3229375
A malicious input can cause a buffer over-read in util_find_extn_eid.
When len==2 and frame[TAG_LEN_POS]==0, the while loop will be entered
and an over-read will happen for frame[ELEM_ID_EXTN_POS].
Since both MIN_IE_LEN and ELEM_ID_EXTN_POS are equal to 2, ensure
(len > MIN_IE_LEN) before accessing the index.
Change-Id: Ia0aa8a2b59e8bf9ac06f5454e40687c5c34c5d88
CRs-Fixed: 3236559
During ML IE fragmentaion, the inline copy should account for
increase in size due to difference in destination and source.
This avoids corrupting the buffer beyond the max allowed size.
CRs-Fixed: 3236544
Change-Id: I8114c15accb70fa0c92ee51453dd112875bd09d5
A kernel warning is observed when the reg_rules are sent to the cfg80211
module on a 320mhz supported radio.
On a 320mhz supported radio, for the 5 GHz reg_rule of the 5490-5730 band,
the max_bw initially comes from the target as 240 MHz. Since
reg_modify_max_bw_for_240mhz_5g_chans is called before copying
the reg_rules to psoc, the max_bw is set to 320 MHz. There is a warning
condition the cfg80211 module to check if the max bandwidth is greater
start and end frequency difference. This check causes the warning.
To fix this issue, call reg_modify_max_bw_for_240mhz_5g_chans after
copying the reg_rules to the psoc.
Change-Id: I385971a2f6c849f7cdd17903ff33646f0fa9d47e
CRs-Fixed: 3236069
Update RSSI specific parameter from beryllium
specific path to common path as part of
extending feature for lithium also.
RSSI calibration parameters are received as part
of WMI event from FW, update these parameters to
monitor pdev via CDP interface.
Change-Id: I4e35d873db6d1ad03d86694a8d36decffe409a0e
CRs-Fixed: 3231120
Use ch_freq instead of chan_num while using tdls_ch_params
structure. As chan_num no longer exists and is replaced by
ch_freq.
Change-Id: Ifd6fd49e201b97a16294bad6c6e4ae49a04c380f
CRs-Fixed: 3234931
With IPA WDI version 3.0 including HST, HSP and even HMT,
GSI is the implementation instead of IPA uC. As a result,
desc_format_template filed in pipe setup info is not used.
Hence clean up the unnecesssary setup for desc_format_template.
Change-Id: I51f87d9e22951c6a621c11984ed5e7084990c5c0
CRs-Fixed: 3231623
The existing design is to send connectivity event logs
via vendor command.
New diag events are introduced to maintain single
logging infrastructure.
Change-Id: I162680b40127826cd74e7b437b7cdaeb81b96bc1
CRs-Fixed: 3220081
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.
Change-Id: If7b79684df22441de75447dda84d22576573bfc5
CRs-Fixed: 3218242
Supplicant compares AKM(s) in RSN IE of Beacon/Probe response and
AKM on third EAPOL frame received by AP. In the case of multi AKM,
previously Host converts all adaptive 11r AKM(s), if any, present
in RSN IE of Beacon/Probe response to corresponding FT AKM but the
AP(s) which support adaptive 11r (ADAPTIVE_11R_OUI: 0x964000) only
converts first AKM to corresponding FT AKM and sends third EAPOL
frame to DUT. This results in failure in a 4-way handshake in
supplicant due to RSN IE miss-match between RSNIE sent by host
and RSNIE present in third EAPOL frame. Now like AP, the host is
converting only the first AKM to corresponding FT AKM to avoid
RSNIE mismatch in supplicant.
Change-Id: I522c6e313df50c1ef2952ec2e464a107ae739dad
CRs-Fixed: 3230622
Allow peer create and association only when full ACS
scan is complete for any link in an AP MLD.
Change-Id: I54d60f31c2521c87fb715b23fc3e0ea7e6100248
CRs-Fixed: 3232153
Currently in some cases due to pending Fw diag entries in CE7
UMAC is not able to power down.
So to avoid issues during PCI bus suspend reap all the available
diag events to make sure that diag event ring
is empty before allowing the bus to suspend.
Change-Id: Ie628719e3b75ea97e8220fe2b5db5770148d3c93
CRs-Fixed: 3234478
Beginning with kernel version 5.13, enum iommu_attr structure and
iommu_domain_get_attr() API are obsolete. Thus properly wrap
__qdf_iommu_domain_get_attr() API with new QCOM iommu util API.
Change-Id: I1f4d67f64985c599a72bad9853caf2cf18b9bcd1
CRs-Fixed: 3228740
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.
Change-Id: I7ed1baaad93aea2cd2551dd3b5f9a93953154188
CRs-Fixed: 3218240
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.
Change-Id: Id97d026b2d90a607974cc541d0301565af423f2f
CRs-Fixed: 3218239
To avoid memory fragmentation during wifi down/up,
initialize ppdu info flex mem pool during pdev attach
instead of pdev init.
CRs-Fixed: 3235962
Change-Id: I7970ab056e600ccfe28ae1ccdc50a66d5ae0ade8
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.
Change-Id: I35cf752c724368243fa954ef982e7a3b426db54f
CRs-Fixed: 3218238
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.
Change-Id: Ib87c694224af8e1331d813b64e02dc4ec0c176d8
CRs-Fixed: 3218237
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.
Change-Id: I443da8d7f5e1771dceb3386c4458b0da6a5e9476
CRs-Fixed: 3218236
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.
Change-Id: Idc7c80891aed551db5b6b87eba7b44b6c75ecad3
CRs-Fixed: 3217348
If WLAN_FEATURE_11BE_MLO defined, cm_calculate_raw_rssi_score return 0,
cm_calculate_eht_score return 0 too if eht cap isn't supported,
so rssi score is always 0 if candidate doesn't support eht cap.
Change-Id: Id0a3e92d9255178511cfdfea8649cf6e184b16c2
CRs-Fixed: 3234156
- Handle scenario where decap type may be invalid when
buff address tlv is received.
- Add check for min number of frags during restitch process.
- Minor fixes during rx mon tlv processing.
Change-Id: I0120d97e297701362183189e29c1d5df91affdc1
CRs-Fixed: 3216050
- Add support to compute HW Tx completion delay on WKK
- Define arch op to calculate delay
Change-Id: I82567cc781e90fe01dc5a0edfffacd4cde73f652
CRs-Fixed: 3220911
Add delta_tqm, delta_tsf2 and mlo timestamp offset for BE.
These offsets are used to calculate hardware Tx completion delay.
delta_tsf2 and delta_tqm are updated during init. mlo timestamp
offset is updated whenever target sends the update event.
Also, adding CDP ops to set the offsets.
Change-Id: I55665982798c3a795481fa96c023bb851ea17476
CRs-Fixed: 3220906
Currently the INI value for reo destination ring size
is over-written to 1024 during ini. Hence any ini change
to modify the RX ring size does not take effect.
Fix the over-write of the INI value for reo destination
ring size.
Change-Id: If4c166687a05f37b902ae1f7ed881db88436eaaa
CRs-Fixed: 3235427
Remove memcpy allocated to get maxbw.
Use the reg_get_min_max_bw_reg_chan_list function
to get directly from regulatory channel.
bonded_chan_ptr2 for channel width 40 removed since its redundantly
calculated in functions
reg_set_5g_channel_params_for_freq/reg_set_5g_channel_params_for_pwrmode.
This helps to reduce cpu overhead by 3% when scan for each beacon
processed.
Change-Id: I89e3c0970ea41c8b86320c2de5b4822dfb27e248
CRs-Fixed: 3229766
Add host support to display selfgen_be_stats,
selfgen_be_err_stats and tx_sounding_stats.
Change-Id: If6b6da59be609161537f1e3b28031ac3d029328b
CRs-Fixed: 3210158
Currently 11be msdu rate statistic is not supported yet.
Another issue is: HW reported pkt type value 6, while host
SW defined 11be type DOT11_BE (value 5), they are not matching.
DOT11_BE value 5 is referred in monitor mode and otherwhere,
so do map and conversion in host sw side.
Change-Id: Ic5c2dd2a35cbe0ecd6430f007b6e7e02ece40998
CRs-Fixed: 3230900
Changes to configure the rxdma ring for CFR. Move existing
API of legacy chipsets to dp_mon_1.0 and add Waikiki
specific API in dp_mon_2.0.
CRs-Fixed: 3231265
Change-Id: Id7276bb7bb7f58461c7e10a0695c3e78a1c39b0c
Donot advertise TB and NTB ranging support as kernel
doesn't support that flags.
Change-Id: I43ba16a7130dfc570c371db8474bbc136e576173
CRs-Fixed: 3233041
As part of SSR, usage count of RTPM is reset to zero which
should not be the case as during RTPM stop, usage count is
incremented to 2.
To fix this, do not reset RTPM usage count to 0 when SSR
happens.
Change-Id: Ifab58075b1aa733500a635e34d209ab65c5f63a8
CRs-Fixed: 3233572
Bonded channel information is only till 240 MHz bandwidth for
5 GHz channel. Due to this center channel calculation is going
wrong. Fix this by calculating center frequency from start
frequency in 5 GHz band.
Change-Id: I9d793aface91e8cfb5887ac26b129d3a7953cad4
CRs-Fixed: 3232227
Add history to track the monitor status buffer entry.
Currently the below 3 events are added:
- Monitor status buffer reap from ring
- Buffer enqueue to a local list
- Buffer dequeue from local list for parsing.
Change-Id: I7c17070ffee25a9a9dc4af0b48bfa8808e18887d
CRs-Fixed: 3225647