The flag WMI_SERVICE_HW_MODE_POLICY_OFFLOAD_SUPPORT indicates
whether HW mode selection offload is supported by firmware or
not.
If it's advertised in service capability, host should not set
HW mode explicitly, firmware takes control of managing HW mode.
Change-Id: I8939b44fd7ed3a674c4da91524c5d5622bf67ce7
CRs-Fixed: 3017054
Add a new attribute into qca_wlan_vendor_attr_ll_stats_results to
support getting interface time slicing duty cycle info.
Change-Id: If6a34cd298c1cb41e0e29a24f2336eed76b98329
CRs-Fixed: 3020795
The function dp_rx_update_protocol_tag is called from
dp_rx_mon_update_protocol_flow_tag which is enabled when either
WLAN_SUPPORT_RX_PROTOCOL_TYPE_TAG or WLAN_SUPPORT_RX_PROTOCOL_TYPE_TAG
is enabled.
However the prototype and definition is enabled only when
WLAN_SUPPORT_RX_PROTOCOL_TYPE_TAG is enabled.
So adding the dependent macro to the prototype and definition
of dp_rx_update_protocol_tag
Change-Id: Ic1120b77d527dc8ceeb981bb6516816e4658bdcb
CRs-Fixed: 3022319
6GHz do not have any dfs channels so do not update dfs related
parameters for 6GHz frequencies
Change-Id: I791622ce4b401bca65f132665eb2a1ebd7c9e931
CRs-Fixed: 3020653
Update QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_TIME_TSF
TWT attribute to use it in TWT setup command to pass TSF value.
Change-Id: I410d72ff7771a3899ceb2487a8eb9dd7ad77299c
CRs-Fixed: 3029024
Dump flow pool stats even for low verbosity level as
part of periodic stats display.
Change-Id: Iea59d20b0a81cfd0bfdac65ad54a11fa33f30f2f
CRs-Fixed: 3031168
MGMT Rx REO algorithm maintains a host snapshot which contains MGMT Rx
REO parameters of the latest frame received by the Host.
Add an API to update the same using the parameters sent by the FW.
CRs-Fixed: 3029489
Change-Id: I7ea574507de4e96407207bcb57319680ae78f7c9
Add QDF API to get the first node of a linked list. If the
list is empty this API returns NULL.
Change-Id: I4569941f708634085904fd30a347facca543594a
CRs-Fixed: 3029987
This is part of the MGMT Rx re-order algorithm for MLO (FR 69196).
Consider an MLD formed by multiple discrete MLO-capable chipsets.
Management frames received on individual links will be forwarded or
consumed by the firmware running on that chip. Each link could have
a variable delay in FW->Host messaging. Host can receive these management
frames in an order different from that in which the frames were received
over the air. This problem could be there in single-chip MLD cases also
due to race between FW threads that are handling management frames.
This FR solves this problem by introducing an REO queue in the MGMT Rx path
which reorders the frames and delivers them to upper layers in the order
in which they were received over the air.
Each incoming frame carries an MGMT packet number which is local to that
link, and a timestamp that is global across all the links. MAC HW and FW
capture the same details of the last frame that they have seen. Host also
maintains the details of the last frame it has seen.
Using all this information, calculate the number of frames an incoming
frame should wait for on all other links before it gets delivered.
Change-Id: Icdf5b9b55b2a360bac2d9ea676671702eade3282
CRs-Fixed: 3028766
HW uses only 16-bits to represent MGMT packet counter and 32-bits to
represent global timestamp. Overflow is bound to happen with such sizes.
So, Host can't directly use regular comparison and subtract operators on
the REO data sent by the HW. Add support for operations that take
overflow into consideration.
CRs-Fixed: 3028771
Change-Id: I1c280409b023e0783bf05fe68351e071801f59bc
In dfs test mode, bandwidth detection test on dfs channel fails
with QCN7605 chip, reason is some pulses will be discarded due to
low rssi reported on some frequency channel, it's different halphy
design for QCN7605 chip, so need to define rp_rssithresh for QCN7605
chip to different value.
Fix is define rp_rssithresh for QCN7605 chip to different value for
FCC/ETSI/JP W56 table which are used for dfs certification.
Change-Id: I9132cf82e6d8d97f83ebb4cd8586f8d8ff48066e
CRs-Fixed: 2986947
When associating the partner link in an MLO connecting, reuse the
association IEs from the original connection. To do this, store the
connection manager connection request to query later, since this
holds the assoc IE data.
Change-Id: I100351a4c9cd439222af202ca3e80ef50554e1e3
CRs-fixed: 3016095
"Invalid peer id" prints are flooding the AP console
Adding log level as fatal to avoid these prints.
Change-Id: I773476542018389035996e45ea2f7c4cf296e9fd
If a country does not support 6G, then the 6G channel list is not
appended to the master channel list. Due to this, 6G center frequency
in the master channel list is zero. This leads to the problem in the
intersection of channels and chip range in the 5G Radio.
When the target sends the WMI_REG_CHAN_LIST_CC_EXT_EVENT, do not set
the is_6g_channel_list_populated flag based on the presence of a 6G
subdomain code. The flag should be set to true whenever the event is
received.
Change-Id: Ice714c961512fc1d86f8553b9870ab7385bbe9d5
CRs-Fixed: 3007334
WDI event WDI_EVENT_UPDATE_DP_STATS is triggered for updation of peer
stats from both per packet and monitor path wherein per packet path is
applicable for MCC and monitor path is applicable for WIN.
Trigger for this event is flag protected under the macros
FEATURE_PERPKT_INFO and WDI_EVENT_ENABLE.
FEATURE_PERPKT_INFO is not defined for MCC.
With this, WDI event in per packet path is not triggered and hence unused.
Make changes to remove the unused code.
Change-Id: Ibcb0948b0ecae313270b6a173e243b2f27f1bbee
In reg_search_afc_power_info_for_freq, break from the loop when EIRP
power is filled.
Change-Id: Id559f4a92fe7945370e6a334b4dc1e7c1d9d7adf
CRs-Fixed: 3031979
In target_if_process_phyerr_gen2(), initialize variables
to prevent usage of junk values.
In target_if_process_sfft_report_gen3(), add check to
ensure the index doesn't exceed the size of the array.
Change-Id: Ie738d1fc836e1a2ec1358b635a4b6c64a424b894
During random channel selection after radar, channels 149 to 177 are
not considered as a potential random HT160 channel after the
introduction of the 5.9G channels. This is because, the last 80MHz
band (165, 169, 173, 177) are not added to the list of 80MHz band
list that is used to find the next random channel.
Update the 80MHz band list with 165-177 and update the band count.
Change-Id: Id881adaa07dab07400435d559940f4bdf837eb75
Add big endian version of rxtlv structure. THis is needed since
the structure members are directly accessed by name and hence reverse
order of bitfields have to be defined in case of Big endian mode.
Change-Id: I50ce4bdd482a336ee8d2f394ed2de1a7ddf0be57
Currently error BAR frames are routed to host, but host
doesn't have complete information to check whether these
frames are valid and really action need to be taken or not.
If host updates H.W without validating SSN it is causing
window movement and REO HW aging timeout happening for
next set of RX packets and delay is induced.
To avoid RX packets delay skipping BAR update to H.W
Change-Id: I92c1614993b6985218a453fe528fbd274fab254f
CRs-Fixed: 2995461
In case of split profile, while parsing the other segment
of the non transmitted profile present in the subsequent
MBSSID tag, it is possible that the beacon is corrupted where
the non tx profile length has gone out of bound.
In case of above scenario, the MBSSIE parsing code does not
free up the memory allocated for split_prof_start before
returning, which could possibly result into a memmory leak.
Handling the split_profile_continue bit before non tx profile
length check can avoid this situation.
Change-Id: Iaa491fd2803d88759e74ca5a668dddb9f8a42708
CRs-Fixed: 3023554
Add new QCA vendor attributes to get connectivity and roaming
related parameters from the driver for logging.
Change-Id: I8d4db7e43bcd2f406d124d7224a91338550420f0
CRs-Fixed: 3029276
qal_bridge.c has dependency on kernel bridge APIs and is required only
if DBDC_REPEATER_SUPPORT is enabled.
Remove qal_bridge.o from QDK Kbuild if DBDC_REPEATER_SUPPORT is not
enabled.
Change-Id: I4820742fed3cee3a168375d5bff0667a4bde3ffe
CRs-Fixed: 3030927
The power event received status is set when AFC power event is received
but is not reset when AFC expiry event received.
Reset AFC power event received status on receiving AFC expiry event.
Change-Id: I6e3415682b682e7a0f5d15a190d4cf72f5ff935a
Add changes to register separate function pointer to receive EAPOL
frames instead of using regular RX path and adding export symbol
for __qdf_nbuf_data_get_eapol_subtype() to access in it multiple
modules
Change-Id: Id05b982d31a7e008536d10dd5281e88cceba96db
Different chipsets are reporting cfreq1 and cfreq2 in different formats in
Spectral reports. This leads to confusion at the user-interface level.
Convert the cfreq1 and cfreq2 representations as follows before sending the
Spectral report to upper layers.
For a contiguous channel, cfreq1 will represent the center of the entire
span and cfreq2 will be 0. For a discontiguous channel like 80p80, cfreq1
will represent the center of the first segment whereas cfreq2 will
represent the center of the second segment.
CRs-Fixed: 3020790
Change-Id: I86e330c9a3a66701f274e20db2d8bc5934608a6b
In reg_set_ap_pwr_and_update_chan_list, before setting the AP power type
check the number of reg_rules present for the input AP power type.
Change-Id: I3af82cf8b7ff6ed7525b5284390361a618da4140
CRs-Fixed: 3030223
Release vdev reference in error cases while
collecting scan radio special vap stats
Change-Id: I030105f62fa8bb67c34c49950012f0e1dbf613a0
CRs-Fixed: 3025050
Add API to lookup pdev object based on hw_link_id and return this with
reference held. Caller is responsible for releasing the ref
Change-Id: I6e3e371462c0d2a4b590b4a5de5c098a72577827
CRs-Fixed: 3026072
There is a requirement to get sequence number and tid for tx
data packets in packet capture mode. These fields are not
received as part of WBM tx completion, but are obtained from
FW in ppdu stats. As WBM tx completion and FW ppdu stats are
two different events, the ppdu_stats of previously sent ppdu
are filled in the radiotap header of current tx ppdu in packet
capture mode.
Enhance code to add required fields such as ppdu_id of tx current
ppdu and ppdu_id, tid, start_seq, ba_bitmap of previously sent ppdu
as extension2 to radiotap header. These fields will be added in
radiotap header only when add_rtap_ext2 is set.
Change-Id: I448a9c03a770b61ab802d855bc5f1a6587bd01b3
CRs-Fixed: 3004472
Fix a compilation error in ucfg_reg_get_partial_afc_req_info, when
CONFIG_AFC_SUPPORT is enabled.
Change-Id: I9834170b08bd72ee4201284c22211e3b1e5fc560
CRs-Fixed: 3029969
For Pine full monitor configuration to FW, HTT config parameters are
incorrect. Make change to use correct config parameters.
Change-Id: I964c8a28cea36b4e1e93c106540412c8cbfc7f29
CRs-Fixed: 3029362
Remove the locking mechanism when getting the link vdevs since it is
causing a deadlock.
Change-Id: I360bd1ad609cfe1d0eb3576b66aeeb93495811fa
CRs-fixed: 3025767
When the host driver is insmod-ed, and first time the pdev object
is created, the AP power mode starts with LPI. When the FW sends the AFC
power values, the Host switches to SP mode.
If 'wifi down and wifi up' happens, all the VAPs are deleted but
pdev object is retained in the memory. Since, during 'wifi down and
wifi up' the FW is reloaded again, the FW starts with LPI always.
However, since pdev object already exists the AP power mode variable
in the regulatory private object has the same old power mode.
To fix the problem described above, update the power mode whenever
the WMI_REG_CHAN_LIST_CC_EXT_EVENT is received from the target.
Change-Id: I7a349e4defcd50cd46117d8ee55bbe8c7c8f7e80
CRs-Fixed: 3028659
Firmware sends some ppdu stats required for packet capture
mode in new ppdu stats tlv HTT_PPDU_STATS_FOR_SMU_TLV.
Add code to parse it if feature is enabled via ini and
send the ppdu stats using wdi event to packet capture
component.
Change-Id: I5567007a91093dd342f37458760b3a61c040b779
CRs-Fixed: 3004476
Since walt is msm-only scheduler group of features,
not upstreamed. Include walt.h header when CONFIG_SCHED_WALT
has been enabled.
CRs-Fixed: 3023820
Change-Id: Ib1aacae83ca4168eff958341f0feebe8ab37a4e7
Some platforms do not support cached descripts for DP Rings.
Add support to set WLAN_CFG_DST_RING_CACHED_DESC to 0 and make
__qdf_nbuf_dma_inv_range as stub if DP_NO_CACHE_DESC_SUPPORT flag is
enabled during compilation.
Change-Id: Ic6b483be25c32f3f3c79b170fb7d7557a232b4ac
CRs-Fixed: 3027649
qal_bridge.c has dependency on kernel bridge APIs and is required only
if DBDC_REPEATER_SUPPORT is enabled.
Remove qal_bridge.o from QDK Kbuild if DBDC_REPEATER_SUPPORT is not
enabled.
Change-Id: I7e8ae6f979f5323b99f4946b13c91c2a816f74a7
CRs-Fixed: 3027649
ACS needs the intersection of SP channel and the channel list in the AFC
response.
Create intersected AFC channel before calling ACS.
Change-Id: I9443edfc4d8b31edf5ae7e040c0743de9a0851b3
CRs-Fixed: 3023930
The function reg_get_partial_afc_req_info() declaration is different from
its definition prototype.
Change-Id: Idd36e1343dd2af1d5ecaf3b8dcbaf7dc6839d560
CRs-Fixed: 3023862
Currently, rx packet capture events processing happens even
when feature is disabled by ini. This incurs per packet overhead
in rx path.
The fix is to move all the processing from rx path to packet capture mode
component. Send only wdi event from rx path, when feature is enabled by
ini.
Change-Id: I647256b85117cd3373950c78a5a0ae7d6710e4e2
CRs-Fixed: 2969123