Commit Graph

1683 Commits

Author SHA1 Message Date
Shiva Krishna Pittala
11fa724d8a qcacmn: Add support to extract link removal TLVs from MGMT Rx event
To assist the Host in ML reconfiguration element construction for probe
responses, FW sends MLO link removal information as part of the MGMT Rx
event containing the corresponding probe request. This information is an
array of TLVs, one TLV for each link that is undergoing link removal from
the MLD for which this probe request is intended. The TLV carries the link
removal TBTT countdown value maintained by the FW for that link.
Add support to extract the same.

CRs-Fixed: 3335361
Change-Id: I16c6791a443ddb166da596d404a52ff2a38da291
2022-12-11 23:52:12 -08:00
Shiva Krishna Pittala
22be442546 qcacmn: Add supoprt to process WMI_MLO_LINK_REMOVAL_EVENTID
WMI_MLO_LINK_REMOVAL_EVENTID will be sent by FW to update the Host on the
progress of the link removal operation. Add support to process this event.

Change-Id: I0c4d5b047cf062b421380f85717fac5a9bdea9c2
CRs-Fixed: 3334950
2022-12-11 23:52:04 -08:00
Shiva Krishna Pittala
11dccd8fac qcacmn: Add support to extract wmi_mlo_link_removal_tbtt_update TLV
WMI_MLO_LINK_REMOVAL_EVENTID will be sent by FW to update the Host with the
progress of the link delete operation. Add support to extract the TBTT
update TLV sent in this event.

Change-Id: I01ce710d282f16e7a7cf4fb767279661558d129f
CRs-Fixed: 3322714
2022-12-11 23:51:54 -08:00
Shiva Krishna Pittala
b24b3a7e25 qcacmn: Add support to extract wmi_mlo_link_removal_evt_fixed_param TLV
WMI_MLO_LINK_REMOVAL_EVENTID will be sent by FW to update the Host with the
progress of the link delete operation. Add support to extract the fixed
params TLV sent in this event.

Change-Id: Ic42a822339363b1347ae174926a4dac19eef3f99
CRs-Fixed: 3318005
2022-12-11 23:51:45 -08:00
Shiva Krishna Pittala
c1231d0824 qcacmn: Add support to populate and send WMI_MLO_LINK_REMOVAL_CMDID
WMI_MLO_LINK_REMOVAL_CMDID is to be sent by the Host to initiate the
removal procedure for a given link from its MLD. This command will be sent
on the impacted link only. Add support to populate and send this command.

Change-Id: I8485d8c8897bb2bb891d50546d5fbfac2a69a4ce
CRs-Fixed: 3314430
2022-12-11 23:51:35 -08:00
Surya Prakash Sivaraj
68c9e15c31 qcacmn: Increase PMK max length to 64bytes
For SAE-EXT-KEY AKM with group-21 pwe, the PMK
length is 64bytes. Therefore, increase the max
size of the PMK to 64bytes in host to facilitate
PMK storage and PMK offloads.

Change-Id: I049cd14c1c71e1809b394199862409780a16371d
CRs-Fixed: 3353114
2022-12-09 09:36:15 -08:00
Aditya Kodukula
89af1dd476 qcacmn: Move feature flags to avoid compilation failures
Move the functions wmi_get_tlv_length_for_mlo_stats and
wmi_update_tlv_headers_for_mlo_stats defined under
WLAN_FEATURE_11BE_MLO inside the feature flag
FEATURE_CLUB_LL_STATS_AND_GET_STATION to avoid compilation failures.

Change-Id: I7c5a273797c692d2f0303dd547d2917c2261e8f7
CRs-Fixed: 3354430
2022-12-09 09:36:04 -08:00
Surya Prakash Sivaraj
2be3e823e2 qcacmn: Add service bit for wpa3 sha384 roam
Add the service bit wmi_service_wpa3_sha384_roam_support
used by firmware to indicate the roaming support for
WPA3 SHA384.

Change-Id: I4bb4f9fd83085c48c646818124265486bae62c0c
CRs-Fixed: 3334343
2022-12-09 07:32:42 -08:00
Vijay Raj
af28913edf qcacmn: Modify KEK and KCK length in WMI_GTK_OFFLOAD_CMDID for AKM24
In order to support AKM24, the max length of KCK is modified to
24 bytes and KEK max length is modified to 32 bytes for
cmd WMI_GTK_OFFLOAD_CMDID.

Change-Id: Ia504a1ce92c80793fc1302fdf03b8d93471d9322
CRs-Fixed: 3305317
2022-12-09 07:32:32 -08:00
Deeksha Gupta
9c289d3485 qcacmn: Handle default case in send_mlo_link_set_active_cmd_tlv()
Handle default force_mode case in send_mlo_link_set_active_cmd_tlv()
to avoid compilation issue

Change-Id: I9d269ce906f560decbab8bce0af1c7cc7aad35fc
CRs-Fixed: 3354134
2022-12-07 14:29:38 -08:00
Chaoli Zhou
79aef5290e qcacmn: Change kmsg log debug log
Change qdf_print to wmi_info to print out
log with info level not error level.

Change-Id: I9da34693292bee2405e0bf5fbfe857eac1dfcfb3
CRs-Fixed: 3352909
2022-12-07 09:47:19 -08:00
Shashikala Prabhu
952dd4de06 qcacmn: Add API to parse the T2LM event ID
Add API to parse the TID-to-link mapping event ID for the AP vaps.
As part of this event,
	 - Update the mapping switch time TSF value in host data structures.
	 - When mapping switch time or expected duration expires in the FW,
	   update the host data structure.

Change-Id: I93232429fe5c2aa12dc4bf9f6a2f014761b7df15
CRs-Fixed: 3350697
2022-12-05 13:03:47 -08:00
Sai Pratyusha Magam
a76b886ed4 qcacmn: Check for WMI_RXERR_MIC status flag
When beacon protection is enabled, On the station side,
MIC validation is performed in firmware for the received
beacons ,by computing the expected MIC and comparing it
against the MIC received in MMIE of the beacons. Check for
WMI_RXERR_MIC, a status in Mgmt RX WMI event reported to
host when a MIC validation failure/mismatch found.

Change-Id: I2f55d4481e8a0decbc89d2fc88a442478a09faf6
CRs-Fixed: 3344354
2022-12-04 12:07:30 -08:00
Sai Pratyusha Magam
c87c0928b1 qcacmn: Add Keyix param for PN request to FW
Add Keyix param for PN request cmdid and event to FW
WMI_PEER_TX_PN_REQUEST_CMDID,
WMI_PEER_TX_PN_RESPONSE_EVENTID

Change-Id: I2803fdfaa20fae543cf0de34dd5c3f0966f2d605
CRs-Fixed: 3345914
2022-12-03 11:34:15 -08:00
Surya Prakash Sivaraj
3f1ea18b05 qcacmn: Enhance MBSSID profile config debugs
Add debugs in VDEV UP cmdid to track the MBSSID profile
count and index being sent to the firmware.

Change-Id: I592d9abe9226d2f065ea8c3b6ad5c7e8db62965e
CRs-Fixed: 3347415
2022-12-02 10:30:36 -08:00
Surya Prakash Raajen
73591dcdf2 qcacmn: Add sanity check for t2lm ie info and macro changes
Add sanity check for t2lm ie info and use appropriate macro
changes for expected duration.

Change-Id: Ib369c44b41247e0ca5174b65e39e9d94e19c7af2
CRs-Fixed: 3339695
2022-11-27 12:31:56 -08:00
Surya Prakash Raajen
6a2a1f1a5e qcacmn: Add vdev wmi cmd and event support t2lm ie info
Add support for vdev level WMI Command and event to send
and receive t2lm ie info

CRs-Fixed: 3339695
Change-Id: I8b896a961cba8f1d8e11111f900a98da090b9513
2022-11-27 12:31:47 -08:00
Chaoli Zhou
b17c45a9d8 qcacmn: Logging bdf version status
Extract the bdf version status from ext2 service ready
event to indicate if bdf file match with wlan fw
well or not.

Change-Id: I7a81667a42fb825c02da1662afdace4d0cbe3cae
CRs-Fixed: 3334551
2022-11-25 14:33:26 -08:00
Asutosh Mohapatra
4f77d1f3c1 qcacmn: Optimize log prints
Optimize log prints in extract_reg_chan_list_ext_update_event_tlv.

Change-Id: I3a4242873486d914e15a9f3940e9e4fb59814cf8
CRs-Fixed: 3338254
2022-11-24 01:22:55 -08:00
Divya R
4960c64911 qcacmn: Assign value for ADFS 320 MHz support capability bit
Assign value for ADFS 320 MHz support chain mask capability bit
extracted from WMI event.

Change-Id: I9d96fe9072a390da4d57585358bac516007f9620
CRs-Fixed: 3333937
2022-11-22 04:13:05 -08:00
Divyajyothi Goparaju
7a737732fe qcacmn: Define set params for no host to target conversion
Currently if ENABLE_HOST_TO_TARGET_CONVERSION is defined,
host pdev/vdev set params can be translated to
target pdev/vdev set params through APIs
convert_host_pdev_param_tlv,convert_host_vdev_param_tlv.
If ENABLE_HOST_TO_TARGET_CONVERSION is not defined,
host pdev/vdev set params in
common code is sent to firmware directly, which is incorrect.

Define pdev/vdev set params in such away they represents
host params on ENABLE_HOST_TO_TARGET_CONVERSION enabled and
target params on ENABLE_HOST_TO_TARGET_CONVERSION disabled.

Change-Id: I5718c76c351b2d7904d8bf8b603073ffcb0a039d
CRs-Fixed: 3321556
2022-11-18 11:52:27 -08:00
Basamma Yakkanahalli
c1bece57dd qcacmn: Handle CU and BPCC for probe and assoc response
Add changes to indicate ongoing critical update CU flags and
BPCC values in probe and assoc/reassoc response.

For beacon FW update the CU flags and BPCC values in impacted
and partner links and keeps the latest copy of BPCC for ML VDEV.
The similar CU indication needs to be considered for probe,
assoc/reassoc response.

FW indicate to host the ongoing CU flag within DTIM interval for
impacted, and latest BPCC values of AP MLDs in impacted
and partner link VDEVs as part of mgmt_rx_event.
Extract cu_vdev_bitmap and bpcc values CU information from
wmi_prb_tmpl_ml_info TLV for probe and assoc / reassoc request.

Pass these values to umac, mgmt and ol layer as part of rx status.
Refer these values to update CU flag in capability information,
and BPCC values to update BSS Parameter Change Count in RNR,
MLIE and per sta profile.

CRs-Fixed: 3301916
Change-Id: I92ededb6598f85f3ea21b9d5e69d182c6180e30d
2022-11-18 00:31:48 -08:00
Vinod Kumar Myadam
238df32c0b qcacmn: Optimize log prints
Current log format has redundant info in wmi_log_cmd_id.
Ex: wmi_log_cmd_id: Send WMI command:WMI_INIT_CMDID command_id:1 htc_tag:0
Optimize the same by removing "Send WMI command" and "command_id"

Change-Id: I394a42033cdef2b5fb51343a1f6f9690a5a41fba
CRs-Fixed: 3328230
2022-11-17 20:22:33 -08:00
Will Huang
f8f0b97ffa qcacmn: Add APIs to configure target AFC flags
Add common code to configure target AFC flags:
enable_6ghz_sp_pwrmode_supp, afc_disable_timer_check,
afc_disable_request_id_check.

Remove cfg_get set is_afc_reg_noaction code, add it to psoc regulatory
private data.

Add APIs to set and get these AFC configures.

Change-Id: Idf74b245113eee18b071a7fbb92bb151cd535ce8
CRs-Fixed: 3154185
2022-11-17 15:35:45 -08:00
Divyajyothi Goparaju
ac613788de qcacmn: Optimize log for pdev/vdev set params
Currently logs having multiple pdev/vdev set params
with same API name which is redundant, optimize the
log by removing API name from logs with
wmi_nofl_debug.

Change-Id: Ib26f21d8ba9f6b0ba5cd57c9516a1611011c0439
CRs-Fixed: 3329645
2022-11-17 11:45:23 -08:00
Jeff Johnson
21ba9eb74b qcacmn: Fix wmi_unified_twt_tlv.c documentation
The kernel-doc script identified several documentation issues in
wmi_unified_twt_tlv.c, so fix them.

Change-Id: I205b507b482281787b85019580e6ea5b7f6ccac3
CRs-Fixed: 3335510
2022-11-17 06:15:50 -08:00
Jeff Johnson
af0661492d qcacmn: Fix convert_gpio_direction() documentation
Fix the documentation of convert_gpio_direction() to match the code.

Change-Id: I0c595e346aa734759b4d7668d5ab9ead5501f00c
CRs-Fixed: 3330739
2022-11-15 11:56:49 -08:00
Basamma Yakkanahalli
23001226b9 qcacmn: Critical update signaling for 20TU Probe Response
Critical update is the explicit signaling for STA to notify
any change in BSS param.

Present support is there for beacon, host notify to FW by
updating current link CU param in wmi_bcn_tmpl_ml_info TLV
of BCN TMPL CMD by setting the corresponding cu_vdev_map
for category 1 / category 2 based on change in critical
update params of ML VDEV.

The same Critical update signaling is extended to 20TU
unsolicited broadcast probe response.
In 6 GHz link host notify the same category 1 / category 2
cu_vdev_map critical update params of ML VDEVs in 20TU
enabled group wmi_prb_tmpl_ml_info TLV of WMI_PRB_TMPL_CMD.

CRs-Fixed: 3314429
Change-Id: I84dbd1901c5a3f2ef28f981c581fd7350d147829
2022-11-14 11:11:46 -08:00
Jeff Johnson
45e1b1f348 qcacmn: Fix wmi_unified_tlv.c documentation
The kernel-doc script has identified numerous documentation issues in
wmi_unified_tlv.c, so fix them.

Change-Id: Icf82bc87e576965f5bfe64d416be2da71a250cb6
CRs-Fixed: 3326205
2022-11-07 13:10:55 -08:00
Hariharan Basuthkar
7da66639f7 qcacmn: Add mapping for wmi_service_eirp_preferred_support
Map wmi_service_eirp_preferred_support to
WMI_SERVICE_EIRP_PREFERRED_SUPPORT in populate_tlv_service.

Change-Id: Ibbf3d6fbd5b257f5562a0a51f11dec7e2bcf07bd
CRs-Fixed: 3322363
2022-11-02 11:32:22 -07:00
Shubham Pawar
1ac8aa1bd9 qcacmn: Add support to process direct DMA event in the configured context
In the current implementation, the Direct DMA completion event is getting
processed in the tasklet context. When the Direct DMA events land on the
same processor core as the one used by the WLAN data path events, the
Direct DMA events can pre-empt the data path events as the datapath
events usually run in NAPI context. This could impact the data path
throughput when there is a high volume of frequent Direct DMA events. To
fix this, Direct DMA events can be run in work queue context based on
user configuration. Add support for the same.

Change-Id: I1a89b185c6765addc7ee725e9324025f0318d9ed
CRs-Fixed: 3276157
2022-10-28 11:52:21 -07:00
Rahul Gusain
8e01b67f81 qcacmn: Add support for NAN enable rsp in non-dbs platform
Currently, in non-dbs platforms, firmware controls NAN enable/disable.
To enable NAN in non-dbs platform, host driver sends NAN generic
request to firmware and firmware enables NAN and provides generic
response to that.
But for some legacy platforms, requires enable NAN in host.
For this, firmware adds new TLV for NAN enable response and
sends with NAN generic response. Host extracts the NAN enable
response parameters from NAN generic response packet.

Change-Id: I1f4460137913780d4c262b5e40342dbb0b9a87c7
CRs-Fixed: 3263746
2022-10-28 11:52:13 -07:00
Rajeev Kumar
cd265b572e qcacmn: Log vdev param id with 0x(hex) prefix
VDEV param id is logged in hex without 0x(hex) prefix
which creates confusion. And hence log WMI vdev param id
with 0x(hex) prefix for easy correlation.

Change-Id: Ib8a868fa43a911817c8e5540a07562dde08e0818
CRs-Fixed: 3320943
2022-10-26 20:15:41 -07:00
Hariharan Basuthkar
9b699d0eb9 qcacmn: Add WMI_SERVICE_EIRP_PREFERRED_SUPPORT service bit
Add WMI support for WMI_SERVICE_EIRP_PREFERRED_SUPPORT service bit,
which indicates that the target prefers EIRP in the
WMI_VDEV_SET_TPC_POWER_CMD_ID.

Change-Id: I1433bd698e124336082e12f509f271c9dd7df40a
CRs-Fixed: 3307372
2022-10-22 19:48:49 -07:00
Liangwei Dong
c4c0d15a2c qcacmn: Allow to set zero count action oui entry
Allow to set zero count action oui entry to clear the
target setting.

Change-Id: I76af4d7067a0764cfae0a1a4c378c3cbcb572402
CRs-Fixed: 3316588
2022-10-21 15:23:54 -07:00
Asutosh Mohapatra
db0def4e98 qcacmn: Add cosmetic changes for fcc rule specific functions
Place extract_ext_fcc_rules_from_wmi function near its
caller and modify function definiton of empty function
reg_set_pdev_fcc_rules.

Change-Id: I6918addbe81bb410355616023e0c6dac534700b6
CRs-Fixed: 3286479
2022-10-20 01:11:37 -07:00
Yu Wang
093c816d05 qcacmn: print SSID with QDF_SSID_FMT and QDF_SSID_REF
To protect user privacy, print SSID with QDF_SSID_FMT
and QDF_SSID_REF, then SSID will be hide in logs if
anonymization is enabled.

Change-Id: Ifad0ccd76bd1184a9b1d20f3d7fa4455df924843
CRs-Fixed: 3291826
2022-10-18 11:57:53 -07:00
Jhalak Naik
a29914f3dc qcacmn: Convert channel width to WMI format
Convert host channel width (enum phy_ch_width)
to WMI channel width before sending this value
to target.

Change-Id: If6ec2f7a9872cd28eafdce30397ec9aa1b0a1739
CRs-Fixed: 3311319
2022-10-17 16:22:45 -07:00
Liangwei Dong
7f3b6c9512 qcacmn: Add new enum action OUI type support
Add ACTION_OUI_11BE_OUI_ALLOW enum to support new WMI action
oui type WMI_VENDOR_OUI_ACTION_ALLOW_11BE.
Add scan entry to candidate validation struct.

Change-Id: I502a246584cd5ee6b4759d8fbb67629628314560
CRs-Fixed: 3301859
2022-10-17 12:58:09 -07:00
Rachit Kankane
c7964d96d6 qcacmn: Add VDEV MLME support for SR Prohibit
Add VDEV MLME variables, function to support SR prohibit
Enable / Disable

Change-Id: I9b6128f179880dd407dc042f6bbbbde63135f4ed
CRs-Fixed: 3308159
2022-10-17 06:49:01 -07:00
Rachit Kankane
58ccce90fb qcacmn: Send VDEV command to enabled SR prohibit
Send WMI_VDEV_PARAM_ENABLE_SR_PROHIBIT_CMDID to enable/disable
SR prohibit.

Change-Id: I4123af04ab2c4cf539a4ea7938d2a34e58a7ba45
CRs-Fixed: 3308068
2022-10-17 06:48:22 -07:00
Rachit Kankane
a9083f7afe qcacmn: Add macro for Spatial Reuse
Add below macro for SR:

1. HESIGA_Spatial_reuse_value15_allowed bit
2. NON-SRG PD disabled threshold
3. Minimum PD Threshold
4. Add service bit - wmi_service_obss_per_packet_sr_support

Change-Id: I9560518cadc5c6f916579af63ef44d41c748fd8d
CRs-Fixed: 3307369
2022-10-17 06:48:16 -07:00
Jeff Johnson
bf756f06de qcacmn: wmi: Fix misspellings
Fix misspellings in wmi/...

Change-Id: I7fe506919cf382e3c19feeee550ce41646c974df
CRs-Fixed: 3304705
2022-10-15 12:12:39 -07:00
Ashish Kumar Dhanotiya
a55da582be qcacmn: Update vendor1 requirement1 version for feature set
With change update vendor1 requirement1 version to the latest
version 3.3.

Change-Id: I56df41ca093d4d4dd3db5aa01c630fa61f976b8d
CRs-Fixed: 3309525
2022-10-14 13:43:05 -07:00
Shashikala Prabhu
8ba6f73786 qcacmn: Add support to send RX filter WMI command to firmware
On the initiator side, Host needs to send
WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_CMDID to firmware before sending the
PASN Auth frame. Hence, move send_set_mac_addr_rx_filter_cmd_tlv() from
wmi_unified_p2p_tlv.c to wmi_unified_tlv.c file.

Change-Id: Ia5517dbdd5ec46f611537b12b7046e3a9d859082
CRs-Fixed: 3304909
2022-10-12 08:18:52 -07:00
nakul kachhwaha
566ce9d06b qcacmn: Handle new WMI param to support flexible TWT
This change is to handle new WMI param sp_start_offset. It
is use to pass value to fw to offset the start time of next SP.

Change-Id: Id3eb1cecdcdfc883c0620ad7f5cf18a50bd5256b
CRs-Fixed: 3266687
2022-10-08 05:12:57 -07:00
Ashish Kumar Dhanotiya
4432410b9c qcacmn: Add support to send band capability to fw
Currently host does not update band capability to fw as
part of feature set info.
With this change update band capability as well as part of
feature set info.

Change-Id: I09982f2f1b7b831a62f6f4db97691aeb4a4fb894
CRs-Fixed: 3303427
2022-10-06 15:15:45 -07:00
Shashikala Prabhu
5e43636b8c qcacmn: Add support for 11az RTT
- target_if layer was calling UMAC layer wifi_pos_get_rx_ops(). This was
  leading to compilation errror in WIN platform. Hence, added target_if
  layer API target_if_wifi_pos_get_rx_ops().

- WMI_RX_SERIALIZER_CTX is used to register PASN peer create and delete.
  WIN platform does not use the above context. Hence, use WMI_RX_UMAC_CTX
  for WIN and WMI_RX_SERIALIZER_CTX for MCC.

- WIFI_POS rx_ops callbacks are registered in target_if layer. But, these
  callbacks are called by UMAC component. Hence, move this registration
  function to UMAC layer.

- Add an API to convert host PASN peer type value to target defined value.

Change-Id: I2a262121f959c2343e88158b94468d104b9e164c
CRs-Fixed: 3289852
2022-09-30 07:49:24 -07:00
Bing Sun
cb2c6707f6 qcacmn: Add API to update peer channel width and puncture parameter
Add API to send peer param WMI_PEER_CHWIDTH_PUNCTURE_20MHZ_BITMAP

Change-Id: Id05629b12059ff2258e196b3e9aa78f5fb52bda4
CRs-Fixed: 3269745
2022-09-23 20:20:55 -07:00
Ashish Kumar Dhanotiya
b8e6415c0b qcacmn: Parse tx and rx rate count from peer extd stats
Based on the new requirement, fw fills the tx rate count and
rx count per mcs index in the peer extd stats event.
Add logic to parse tx rate count and rx rate count from peer
extd stats event.

Change-Id: I13382366f52964b83eb26473fa03267ac7309bb9
CRs-Fixed: 3289779
2022-09-16 19:38:58 -07:00