Rx patch changes for multichip MLO
1. Create ini for rx ring mask for each chip
2. Configure hash based routing for each chip based
on lmac_peer_id_msb
3. Peer setup changes to configure lmac_peer_id_msb
to enable hash based routing
4. Rx Replenish changes to provide buffers back to owner
SOC of reo ring
Change-Id: Ibbe6e81f9e62d88d9bb289a082dd14b4362252c4
Add support to extract the freq, cfreq1, cfreq2, PHY mode, Destination
macaddr, and channel BW values from the RTT measurement request buffer
received from the LOWI application. Pass these values to a registered
callback. Users can use these values to make some decisions on the RTT
scan.
Change-Id: Idb2232c07bbfa2946dc01e75908b9a6036597ecf
CRs-Fixed: 3060685
* /local/mnt/workspace/naveen1/srcs/qcacld-3.0: (2021 commits)
Merge /local/mnt/workspace/naveen1/srcs/qcacld-3.0 into wlan-cmn.driver.lnx.2.0
qcacld-3.0: Send correct PCL to fw for STA+STA roaming
qcacld-3.0: Log BSSID for roam result
qcacld-3.0: Fix roam failed for SAP CSA concurrency
qcacld-3.0: Fix EAP length and roam candidate info
qcacld-3.0: Use API p2p_status_update to update p2p conn status
qcacld-3.0: Fix token and reason code copy in cm_roam_btm_query_event
qcacld-3.0: Handle user initiate CSA in p2p go+go concurrency
qcacld-3.0: Do GRO en/dis based on qdisc only for standalone STA
qcacld-3.0: Fill validity timer in BTM Request event
qcacld-3.0: Use correct attribute for BTM response target BSSID
qcacld-3.0: Enable self bss roam ini by default
qcacld-3.0: Fix 11be support compilation issue
qcacld-3.0: Update SBS Freq Info during service ready ext2 evt
qcacld-3.0: Consider original BW setting for SAP force SCC
qcacld-3.0: Fix BTM logging
qcacld-3.0: Support to deliver mlme event to SON
qcacld-3.0: Add the Full Power Down feature support
qcacld-3.0: Add vendor attribute to configure ARP/NS offload
qcacld-3.0: Add ini support for tx_retry_multiplier
...
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
Support to deliver below mlme event to SON:
MLME_EVENT_VDEV_STATE,
MLME_EVENT_INST_RSSI,
MLME_EVENT_TX_PWR_CHANGE.
Change-Id: I0535d80cea155f5b94abecfa609d34940e57cdd7
CRs-Fixed: 3054810
Add new vendor command to enable the roam events stats from the
driver/FW in both resume and suspend mode.
New roam param is introduced to indicate the FW to enable/disable
the roam stats using the new roam set command.
Change-Id: I6d04f0946e6735613a4cf3d4361bf31052314fa0
CRs-Fixed: 3036518
During driver load, print FW CRM sub ID value received in service
ready ext event.
Change-Id: I710508c9c12a476690e0379938c30c916293620f
CRs-Fixed: 3067102
Add support for extracting SBS Lower Band
End freq from rx service ready event.
Change-Id: I402d7519507fbce733a000a546473aa00e8844d5
CRs-Fixed: 3065158
Each FFT bin value is represented as an 8 bit integer
in SAMP message. But depending on the configuration,
the FFT bin value reported by HW might exceed 8 bits.
Clamp the FFT bin value between the min and max value
which can be represented by 8 bits. For linear mode,
min and max FFT bin value which can be represented by
8 bit is 0 and U8_MAX respectively. For dBm mode, min
and max FFT bin value which can be represented by 8 bit
is S8_MIN and S8_MAX respectively.
CRs-Fixed: 3056458
Change-Id: I9ec75f781a130d3ed0d0d9393975fd5874961ce0
Currently, target_if forwards the blacklist event to upper layers
even if there is no AP info present. This event can be dropped in
target_if to avoid accessing unallocated memory.
Change-Id: Icfaabb0a8e3304882979ffde7f5cd27fd4c8a067
CRs-Fixed: 3057424
Currently WMI_DBGLOG_TIME_STAMP_SYNC_CMDID command sent
every 1 sec causes RTPM collapse and inturn has power
impact. So to avoid this enable time of the day synchronization
only after connection/roaming.
Send WMI_DBGLOG_TIME_STAMP_SYNC_CMDID as part of RSO
start command.
Change-Id: Iee3cefe1318a6e5507a43cefb9666cc2a439fe06
CRs-Fixed: 3060762
FW may experience HWDTIM mode enter and exit, if HOST can't queue
frames fast enough, this will bring 10ms latency for TX under WoW.
This change adds an indication bit to notify FW whether a TX happens
after WoW wakeup, then FW can discard HWDITM and reduce TX latency.
Change-Id: I74f7311fc0639186ee0bca711160bb8c0d5d9fb3
CRs-Fixed: 3055501
It calls spectral_process_phyerr of spectral operations without any
check. Which cause null point dereference potentially. So, check this
pointer before calling.
Change-Id: Iae246f847dd41e62b628223652a9527a65b43799
CRs-Fixed: 3055246
Populate and expose the following 320MHz spectral capabilities.
- Agile spectral scan support for 320MHz mode.
- Number of detectors used for spectral scan in 320MHz mode.
Change-Id: Ibea77d4ec8b1d9322ef82d1d48236836ffad24ec
CRs-Fixed: 3053059
Add support to offload icmp feature to fw in case of
suspended state to avoid high power consumption.
Change-Id: I3ff19d71eac530c75be57e6b52b975e755ff2a53
CRs-Fixed: 3042452
Pass report parameters to FFT bin byte swap function instead of
FFT bin length adjustment WAR.
Change-Id: I02a280bc4e8e0839c894a70258e1f16a784c08a6
CRs-Fixed: 3051559
wma to target_if convergence code is guarded under the feature
flag ROAM_TARGET_IF_CONVERGENCE and it's is enabled currently.
Remove the flag usage and remove the deprecated code(else part)
also.
Change-Id: I6973d9c366ec6a9c6164dd19f6f4775dd3ebf5f0
CRs-Fixed: 3049942
Add tgt support in packet capture component to send user
configured beacon report interval to FW.
Change-Id: Ibeb9f9a7f9ad2c2afa6929c492bd1029784b5f9e
CRs-Fixed: 3046224
In packet capture component add support to send ctrl and beacon
frames config to FW based on frame filter received from user through
vendor command.
Change-Id: Ie45ea2135e237a156fb60663e3f85cc601490e4a
CRs-Fixed: 3046222
The "wmi_pdev_dfs_radar_detection_event" has an unused field "chan_freq".
It currently holds the value of primary 20MHz channel. With the
introduction of 11BE chipsets, this field is changed to hold the value of
the center frequency of the channel width on which the radar is found.
This new change is indicated by a wmi service
"wmi_is_radar_found_chan_freq_eq_center_freq".
For the Chipsets that support this service, the radar found frequency
can be calculated by mere addition of the fields "chan_freq" and
"freq_offset" field.
Change-Id: I8d2ce0023e2feb6e749ca8d7d5f547fafc0fdf98
FW sends Spectral scan detector info TLV in WMI_PDEV_SSCAN_FW_PARAM
event to indicate the information of a detector participating in a sscan
session. FW sends one TLV of this type for each detector participating
in a spectral scan session. Add support to process the TLV and update
the spectral host data structures accordingly.
CRs-Fixed: 3044193
Change-Id: Ie17b6ea9336ada7a00e4594fa2f7f49ef3d443e5
FW sends Spectral scan chan info TLV in WMI_PDEV_SSCAN_FW_PARAM_EVENTID
event to indicate the channel information for a spectral scan session.
Add support to process the TLV and update the spectral host data structures
accordingly.
CRs-Fixed: 3044162
Change-Id: Ibbf7f6bbbb267123bbdf44bcfffa2cfb1c2926df
1. Initialize the temporary variable to read snapshot to zero.
2. Read correct number of shared snapshot values.
CRs-Fixed: 3026029
Change-Id: I6f4fc9d1d2bfe4818304be16f7c80830b4fb260b
Export symbols("mlo_glb_h_shmem_arena_ctx_init" and
"mlo_glb_h_shmem_arena_ctx_deinit") for other modules.
CRs-Fixed: 3026023
Change-Id: I2a7c55f119be531b495a0f42a9b058734feb0ebb
On Beryllium architecture, PHY DMA applies a 32-bit byte swap to assist
in efficient Host reads when connected to a big-endian Host.
This is done to avoid byte swapping at the Host.
So, if the Host reads this data 32-bit word at a time, the byte order
would be intact. Report headers are not a problem because as they are
composed of 32-bit words. For FFT bins, read each DWORD at a time and
extract FFT bins out of that DWORD. Make this change in a generic way to
keep the design uniform across different chipsets and endian modes.
CRs-Fixed: 3042188
Change-Id: Idff1ac7eb5e18c692c9ee8b19b9ae9e6b962d486
Add Spectral APIs to convert channel width values
from enum phy_ch_width to nl80211_chan_width and
vice-versa.
CRs-Fixed: 3029184
Change-Id: I60fb7fb04b943b0d70c569ff6587e5e8efd7722b
Populate the list of supported spectral scan bandwidths for different
targets and use that in populating the detector list.
CRs-Fixed: 3042448
Change-Id: I5dac2c845843698bbafac64a01517acfbe120180
Initialize the variable "segid" to prevent the usage of junk value.
Dont dereference the spectral-lmac object if the same is NULL.
Change-Id: I5206a99017f77e5c94368d91171a7eb05745933c
Beryllium chipsets support FFT sizes as follows for different sscan widths.
20MHz:- Min FFT size: 5, Max FFT size: 9
40MHz:- Min FFT size: 5, Max FFT size: 10
> 40MHz:- Min FFT size: 5, Max FFT size: 11
Populate these FFT sizes for Beryllium targets.
CRs-Fixed: 3042443
Change-Id: Id7052e3513b29789e96c351aa4cdede499ef2578
Add support to configure spectral scan bandwidth as provided by the user.
Validate the user configured value before applying it. As the spectral scan
bandwidth is an optional parameter, when the user doesn't configure it, use
configure the spectral scan bandwidth to the maximum value supported by the
target for the current operating bandwidth.
Also, populate the spectral scan bandwidths supported for different
operating bandwidths on different targets.
CRs-Fixed: 3042424
Change-Id: I266aa5489b0ce5c149968067a06e1cc65bb4e3b7
There is a requirement to use REGDMN and wireless modes in UMAC layer of
the cmndev component. As the WMI_HOST_REGDMN modes currently are defined in
WMI layer, we can't use them directly in the UMAC layer. Hence move them
to the reg_services_public_struct.h and rename them as HOST_REGDMN modes.
Replace all WMI_HOST_REGDMN instances with HOST_REGDMN. Wireless modes are
currently defined in WIN component, use them to cmndev component.
CRs-Fixed: 3044590
Change-Id: Iee5fa1745a1a44b834334746b10bdbb6f6563a0a
Expose the following APIs from MLO global shared memory handling
- APIs required by the REO logic
- APIs required to invoke the MLO global shared memory parsing
Change-Id: Ia2fb0b0fee5d3904bae8cd70ce3364360d5ea16e
CRs-Fixed: 3014343
MLO global shared memory arena contains MGMT Rx REO snapshots in the
form of TLVs. Parse the shared memory and store the address of these
snapshots. These addresses will be required by the MGMT Rx REO algorithm.
CRs-Fixed: 3035491
Change-Id: Ica1b72cd8cf4083acdeefaee41df0da4a1f57f4f
Currently when sending multi vdev set param from MLME
vdev set param id is not converted to wmi layer id
resulting in incorrect mlme param update in firmware
for mbss common vap params.
Convert vdev set mlme enum id to wmi layer id when
setting multi vdev param from MLME.
CRs-Fixed: 3039992
Change-Id: Ibaeb974729f1ae9c272e203d1288229aca74b803
Add locks for detector list, per-session report info
and per-session detector map, to avoid inconsistent
concurrent accesses.
Using spin_lock_bh for locking between Process and
Tasklet context.
CRs-Fixed: 2983801
Change-Id: If709fd91f193072f07b9dae19bf48e6da2d369d3
Move the left band and right band edge extra bins to
the end of the Spectral bin_pwr array.
CRs-Fixed: 3002177
Change-Id: Iea93879763a7e2c56cdb5f4d3d163e2d4b082b26
Currently, the ROAM event is posted to scheduler thread when it's
received from firmware. This is done to avoid processing the
complete event in IRQ context as the same callback gets called
from IRQ context for WOW events(WOW_REASON_LOW_RSSI and
WOW_REASON_HO_FAIL). Posting the ROAM event to scheduler
thread may introduce some additional delay in processing it back
as there would be a context switch.
If this ROAM event carries ROAM_START which is followed by a
ROAM_SYNC event, there is chance to process the ROAM_SYNC
before ROAM_START as ROAM_SYNC would be processed in the same
context whereas ROAM_START needs a context switch. This results
into an invalid connection manager state after processing
ROAM_START event, which results a connection failure.
Same is applicable for ROAM_PMKID_REQ_EVENT and
ROAM_VDEV_DISCONNECT_EVENT. Avoid reposting the same to scheduler
thread.
Change-Id: Ic4fc1b3baf12e4ceee9a0975ebfee77fb88ab6f0
CRs-Fixed: 3033657