Add cfr_enable flag in Probe response, so that FW can start CFR
capture for particular client.
Change-Id: Id38b61317384a069308de4931463f1aef4f65f38
CRs-Fixed: 2502030
There are 2 issues in the driver:
1. Currently host incorrectly fills the pdev id value as 0
in stats request, If host sends the pdev id as 0 for
stats request then FW sends the stats for all the pdevs.
2. If host requests pdev stats with pdev id as 0,
FW can send multiple events for each pdev stats
if one event buffer is not sufficient to fill the stats
for all the pdevs. Curent host logic doesn't process
multiple pdev stats events.
Address above 2 issues with below fixes:
1. Send correct pdev id to FW in the stats command.
2. Add a logic in host to process all the pdev stats events
received as part of the pdev stats request.
Change-Id: I5b5bfcda2f30fb32749c653c6524ecbd2edc44a4
CRs-Fixed: 2503273
Currently CP stats component does not fill the proper pdev_id
in the command for the stats request. This causes the value
sent to firmware to be 0 bydeafult. As per the logic in firmware,
if the value is zero then the stats for all the pdevs are sent.
To get only stats for a single pdev, send the pdev_id along with
the vdev_id in the stats request command.
Change-Id: Ic4ecad132c8764196b9f5ed6af76fe4f2778d8d1
CRs-Fixed: 2502459
Cleanup dp_clear_peer to be peer mac address based
from local peer id based.
Also, modify the API cdp_clear_peer with addition argument
for peer mac address.
Change-Id: I1bd3fab1b9510b5f1d4476e11b617fcb6417f2c4
CRs-Fixed: 2503774
rxhost ring backpressure:
identifying rings causing rx backpressure after being notified
by FW message. Adding logs to be able to see at what state
the ap was after a backpressure event was triggered.
Adding radio stats (261) as well as napi stats for better
state description.
Change-Id: I395450be6faaf959f91729516a7b229c5b3396ce
Add auto PM tag for WMI_HW_DATA_FILTER_CMDID command such
that CCE HW fiter feature can be enabled for runtime pm
as well.
Change-Id: Iec1495ebecb0aab0e695fb5e656ac13a22bba338
CRs-Fixed: 2505994
Currently a single API(dfs_get_precac_enable) is used to get
dfs_precac_enable and dfs_agile_precac_enable. This API is
wrongly returning value for dfs_precac_enable since agile
capability is set even for Cascade.
Separate out the GET APIs for getting dfs_precac_enable and
dfs_agile_precac_enable so that getting these flags becomes
independent of each other.
Change-Id: I08b0cbcd29c320a345865e3e9456ce3e809e26a6
CRs-fixed: 2501266
Add support for OWE and SAE roam target capability.
Add event mapping for the tgt event
WMI_ROAM_PREAUTH_START_EVENTID.
Add changes to send WMI_ROAM_PREAUTH_STATUS_CMDID after
the SAE external authentication event is received.
Also for SAE/OWE/802.1x, the key management offload
needs to be enabled by default as PMKSA caching if
set_pmksa is received from the supplicant. So remove
the additional key management offload check so that
OKC and PMKSA is enabled by default for SAE and OWE.
Change-Id: I01d3a07e2ce60e25ea8624c030c6a5802205566d
CRs-Fixed: 2491042
As vdev conversion is done in phases, so vdev stop response
handler for target_if is made global. To process vdev stop
response tlv extraction API is registered to WMI tlv_ops.
Change-Id: Ib00f7339330e69d6103a175611df7b59c01faad0
CRs-Fixed: 2506500
In the function extract_ndp_ind_tlv the data from FW is assigned
to the event.The event fields ndp_cfg, ndp_app_info and ndp_scid
are used as source in the memcpy without null check which can cause
undefined behaviour.
To solve this, add null check for ndp_cfg, ndp_app_info and ndp_scid
before memcpy use.
Change-Id: I4bf592e6977c50518e53ece268c34450d9684304
CRs-Fixed: 2476173
Optimize BSS score to consider OCE WAN and Band score only if
congestion is less than 75% (CONGESTION_THRSHOLD_FOR_BAND_OCE_SCORE)
Change-Id: I114032db59be162cad62dfa4cdcd52983f5eec9b
CRs-Fixed: 2505430
WIN and MCL both uses common targer_if code for vdev manager.
So legacy code and "CMN_VDEV_MGR_TGT_IF_ENABLE" macro is removed.
Change-Id: I2984ae44f3a7cfa01b8f1455353d09deb4db5759
CRs-Fixed: 2503804
Target will be sharing the time taken for reset in the
first Spectral report after reset. The reset delay value
is common for all the Spectral modes. Host updates
the timestamp WAR offset variable for all the Spectral modes.
CRs-Fixed: 2504798
Change-Id: If7d47a434054f220b0717f7d8939f9f8922af30f
Add device ID change and target type checks for pine.
Also remove memory war added for Hk emulation.
Change-Id: Idf531a48a03202d4fb241a92a1d671ee2b94cfbd
CRs-fixed: 2453899
In case of peer reuse case rx_tid locks are destroyed as
part of peer cleanup and are not initialized again. So while
deleting this peer as part of unref delete peer cleanup is done
which again tries to destroy the rx_tid locks which were already
destroyed. This leads to assert complaining destroying lock with
out initialization. So dont destroy the rx tid locks in case of
peer reference reuse.
Change-Id: I860de558950009cae6f62385dd665badfe9964e0
CRs-Fixed: 2504973
In regulatory non-offloads, when a user is trying to set the country code,
if the country code is not present in the driver regulatory database then
restore to WORLD domain.
Change-Id: I7de523f734920baaf5a7c690873a69c346d55a64
CRs-Fixed: 2495799
Current regulatory non-offloads has following issues:
1) In "iw reg get" output "00" can not be shown when trying to
set country code to "00".
2) In BDF file, if only reg domain is specified then
"iw reg get" output should contain alpha2 code of country which
first matches with BDF reg domain.
To fix these issues in reg_get_reginfo_form_regdmn_pair(),
populate reg_info->alpha2 with:
(a) "00" for WORLD domain and
(b) alpha2 code of first country matching with non WORLD domain.
Change-Id: I5cf87587a1a0f648700cffdc7ff60f05f043f723
CRs-Fixed: 2494516
Read extra bits of fcs okay bit map from
RX_PPDU_END_USER_STATS_EXT TLV and use the same
to send first fcs okay packet in case of M COPY
CRs-Fixed: 2499150
Change-Id: I1a25971ea789dd7fddddb312af8a18a4cccdc178
This feature enables user to change HW mode dynamically
from DBS to DBS_SBS mode and vice-versa. Currently, HW
mode configuration is only possible through INI setting
requiring a subsequent reboot.
Relevant WMI changes are:
1. Relocate API wmi_unified_soc_set_hw_mode_cmd from
wmi_unified_sta_api.c to wmi_unified_api.c
2. Define API wmi_unified_extract_hw_mode_resp to extract
FW response
3. Parse and store new dev-cap fields wireless_modes,
low_2ghz_chan_freq, high_2ghz_chan_freq, low_5ghz_chan_freq,
and high_5ghz_chan_freq.
Change-Id: I49f975e7c5abc8503b651a3ebd4d56b23af915db
CRs-fixed: 2490212
This feature enables a user to change HW mode dynamically
from DBS to DBS_SBS mode and vice-versa. Currently, HW
mode configuration is only possible through INI setting
requiring a subsequent reboot.
Primary target_if changes are:
1. Add structure definition wlan_psoc_host_hal_reg_cap_ext
to parse and store the new extended regulatory capability
info in WMI_MAC_PHY_CAPABILITIES tlv sent in EXT service
ready WMI event
2. Add API target_psoc_get_num_radios_for_mode to retrieve
the number of radios corresponding to a hw-mode
3. Add API target_psoc_get_mac_phy_cap_for_mode to retrieve
the pointer to the mac_phy_cap info of the first radio
corresponding to the input hw-mode.
Change-Id: Ia10f0fd5e50c0ce0cbe99f9281147266aedce4e9
CRs-fixed: 2490212
Cleanup dp_register_peer to be peer mac address based
from local peer id based.
Change-Id: Ifc0166b8ace5aabd7c287941476df47c806e8663
CRs-Fixed: 2503680
Local peer_id is being cleaned up across DP, HDD and PS/WMA.
So, any references to local peer_id/sta_id will be replaced
by peer mac address and all interactions between the layers
will be based on peer mac address.
Change-Id: I3a141d0a1e549fcbb587373f1e0d57dfd031911f
CRs-Fixed: 2503144
In standard linux kernel, dma_iommu_mapping is not defined for arm64, while
in qualcomm linux kernel, dma_iommu_mapping is defined for arm and arm64.
To fix build error in standard linux kernel, use struct dma_iommu_mapping
only when ENABLE_SMMU_S1_TRANSLATION is defined.
Change-Id: Ib02073163f2a38c47f864c6592fe2470046868ce
CRs-Fixed: 2496729
Map mac_for_pdev appropriately for both MCL & WIN,
since MCL have multiple monitor buffer rings and
WIN just has one mon buffer ring, below API helps
identify accurate monitor buffer ring for both cases
CRs-Fixed: 2502051
Change-Id: I3929f3f7717d795850a41f4148397d87b0415118
Add support to trigger self recovery in case
of vdev request timeout, as when host is asserted
fw dumps are not collected
Change-Id: I534ada61b114f5b96ecfae1ff27d692ee496edba
CRs-Fixed: 2496796
Add support for separate Coldboot calibration mode (10) for Coldboot
Calibration in FTM Mode.
Change-Id: I8e4e2c370053b55c3755339d7ead863ba950856e
CRs-Fixed: 2497548
Frequent log in direct buffer rx component will cause platform assert,
so lower the log level. Get wmi handler by psoc since since pdev
creation is in progress and it doesn't have related information yet.
Change-Id: Iaaf5a43642f9b6dfaf07ddd3f158abd346903a87
CRs-Fixed: 2495249
This feature enables user to change HW mode dynamically
from DBS to DBS_SBS mode and vice-versa. Currently, HW
mode configuration is only possible through INI setting
requiring a subsequent reboot.
Relevant DP changes are:
1. Add API cdp_txrx_handle_pdev_status_change to pass
pdev 'up' or 'down' status to DP module
2. Add pdev-status check in dp_rx_process_invalid_peer
3. Add pdev-status check in dp_tx_comp_handler to free
buffer and release descriptor
Change-Id: I74b144abb1b0dc41a26a18ad28f872e6457e9653
CRs-fixed: 2490212
Tags are programmed using wlanconfig commands. Rx IPv4/v6
TCP/UDP packets matching a 5-tuple are tagged using HawkeyeV2 hardware.
Tags are populated in the skb->cb in the REO/exception/monitor data
path and sent to upper stack
CRs-Fixed: 2502311
Change-Id: I7c999e75fab43b6ecb6f9d9fd4b0351f0b9cfda8
A new firmware capability advertising support for flow search engine
in HW has been added. Process the new service for flow tagging.
CRs-Fixed: 2475913
Change-Id: Ie69cfd5733b6d6c02792da59dee4f823a72fb431
Tags are programmed using wlanconfig commands. Rx IPv4/v6
TCP/UDP packets matching a 5-tuple are tagged using HawkeyeV2 hardware.
Tags are populated in the skb->cb in the REO/exception/monitor data
path and sent to upper stack
CRs-Fixed: 2475913
Change-Id: I534a633b99a8b1c4c9aab71fbf5857710d7977a1
struct stack_trace is defined only when CONFIG_STACKTRACE is defined
Do not use stack_trace if CONFIG_STACKTRACE is not defined.
Change-Id: I5f619938729ef07d4e69b0b4df9b5be5eac22ad4
CRs-Fixed: 2496665
Support to Enable/Disable multi group key and configure
maximum number of group keys.
Change-Id: Ie6ce2a38d0ad04a47f966fc281f35a8af7125447
CRs-Fixed: 2490599
VLAN group keyix is greater than WLAN_CRYPTO_MAXKEYIDX
Each VLAN will have separate group key in single VAP.
CRs-Fixed: 2490599
Change-Id: I585b2deaa13da337c5df7b55ec8e4672221e4edb
Changing return type of ce_send_single and hif_send_single functions
to return QDF_STATUS instead of int so caller can handle as needed.
Change-Id: Ifa0db300982e22c2784662492727923e4614c2b7
CRs-Fixed: 2468534
Add support to simulate fw response and release ref
from target_if request timeout handler for every case
of timeout, but do panic or inject fw crash when
system is not in recovery or fw down or driver unload state.
Change-Id: I5c94df59319a901d9cfd89bd42b96118e9e641bb
CRs-Fixed: 2501920
When the scheduler thread initiates the WMA_SET_BSSKEY_REQ
we send CMD_UPDATE_RX_REO_QUEUE to REO srng. This is done by
posting a descriptor to the reo command ring and then we
update the HP so that the HW can consume the descriptor.
Avoid accessing HP shadow address when we are in runtime
suspend state. Perform a hif_pm_runtime_get to resume the
link and access the shadow register and once done initiate a
hif_pm_runtime_put to allow device to go into runtime
suspend.
Change-Id: I24c3e046a5769f03a0f1969360cccdbe55b81d45
CRs-Fixed: 2495720
It is easier to just compare return value of reg_freq_to_chan/
reg_chan_to_freq with 0 to check whether the channel is valid.
Change-Id: I4124cc090d31687774d8d71fee4efc822e0a6b38
CRs-Fixed: 2496010