Commit Graph

17125 Commits

Author SHA1 Message Date
Amit Mehta
721afd10ab qcacmn: Move tcl_data_cmd function attribute to common file
Move the function attribute to common file so that the
parsing issue due to unreferenced tcl_data_cmd can be
fixed on other targets also.

Change-Id: I40a7196926061e8d232f0f070c0ed045dafd97e2
CRs-Fixed: 3228562
2022-06-28 01:13:01 -07:00
Shwetha G K
e36320f58f qcacmn: Update streamfs buf size for waikiki
Update streamfs buffer size for waikiki

CRs-Fixed: 3224877
Change-Id: I86a622ca8ea938915bcec00320918b87b2a4a74e
2022-06-27 23:30:19 -07:00
Srinivas Pitla
c6edce51c0 qcacmn: Fix max aid assignment
Current max aid assignment doesn't consider start aid
which is causing start aid greater than max aid in
MBSSID MLO case.

This change accounts start aid while updating max aid

Change-Id: Ic6af28cd2599090538393082032932ba416b4c66
CRs-Fixed: 3220059
2022-06-27 19:35:43 -07:00
Paul Zhang
9cd1e26ce6 qcacmn: Update EHT OP/CAP IE per draft 2.0
Update EHT OP/CAP IE per draft 2.0

Change-Id: I5fed019f3a1d5817123084a475e0940a653fe419
CRs-Fixed: 3221670
2022-06-27 12:17:33 -07:00
Venkateswara Swamy Bandaru
b9dedfd780 qcacmn: Add 11be Draft 2.0 support
Add EHT capability and EHT Operation changes to
support 11be Draft 2.0.

Change-Id: I3ab259be8a78c7504d22d3d1210f90f0dcb658d8
CRs-Fixed: 3220063
2022-06-27 12:17:27 -07:00
Vinod Kumar Myadam
b721690039 qcacmn: Add flag CONNECTIVITY_PKTLOG
Add new flag CONNECTIVITY_PKTLOG to make independent of
FEATURE_PKTLOG and REMOVE_PKT_LOG for packet logging.

This is because 32 tx/rx pkt logging is connection related
and this feature is independent of pkt log feature. Here
driver will send first 32 tx/rx pkts consisting of mgmt
and data pkts to userspace which can be used for debugging

Change-Id: I006a040546c9709f46e76dcd8630da8569c691c6
CRs-Fixed: 3222971
2022-06-27 12:17:21 -07:00
Edayilliam Jayadev
9f75a857b7 qcacmn: Do book keeping for frames which doesn't require REO
Management frames originating from links which doesn't require
reordering are not passed through mgmt Rx REO module. This may result in
delayed delivery of frames in the reorder list. Fix this by allowing
such frames to enter mgmt Rx REO module.

CRs-Fixed: 3224128
Change-Id: I94f7bc902acaac959b6bed475413925c266d5557
2022-06-27 08:26:33 -07:00
Shiva Krishna Pittala
f853241025 qcacmn: Interrupt assignment for UMAC HW reset feature
UMAC HW reset feature will be using the last interrupt context in each
DP interrupt combination i.e., on a system with more than 8 MSIs for DP,
UMAC HW reset will be assigned a dedicated interrupt context.
Add the necessary support for the same.

CRs-Fixed: 3163900
Change-Id: I26abd01e4261661ed95e1aa3cb2a774e78b50d9f
2022-06-27 05:29:10 -07:00
Vinay Adella
0e54add2cb qcacmn: Utility functions to parse Probe Request Variant of Multi-Link IE
These utility functions help to parse the Probe Request Variant of
Multi-Link IE.
It implements 11BE draft 2.0 spec

Change-Id: I09dcf47ef481278f5c74082002f83d9c8e2155a4
CRs-Fixed: 3213367
2022-06-27 02:10:23 -07:00
Hariharan Basuthkar
29ad2238f7 qcacmn: Add a null function for reg_modify_chan_list_for_indoor_channels
Add a null function for reg_modify_chan_list_for_indoor_channels
as it is not required for AP software.

Change-Id: I420521d66b332a9f2b01097092eeb94cd4301879
CRs-Fixed: 3221590
2022-06-27 02:10:16 -07:00
Amith A
98b8c53d08 qcacmn: Update super chan list with AFC_NOT_DONE flag for outdoor
Prior to receiving the power event, the super channel list is not getting
rightly updated with the REGULATORY_CHAN_AFC_NOT_DONE flag as it is filled
using afc_chan_list which is not filled until the power event is received.

To fix this issue, call reg_assign_afc_chan_entry_to_mas_chan in
reg_update_sup_ch_entry_for_mode only if AFC power event is received.

Now the super channel list is copied from mas_chan_list_6g_ap before the
power event and from afc_chan_list after the power event is received.
These lists have the REGULATORY_CHAN_AFC_NOT_DONE flag updated during
construction. So remove the  call to reg_update_6g_chan_for_outdoor as
it is redundant.

Remove the return statement after disabling the out of chip range channels
as it does not get reflected the super channel list. This disabling is
done on local data and it is copied to super chan list only towards the
end of the function.

Change-Id: I725cf41ec3dc68ba9a615752fd170fc7b574aa16
CRs-Fixed: 3216916
2022-06-26 23:10:33 -07:00
Hariharan Basuthkar
409d5044e2 qcacmn: Move reg_get_regd_rules to reg_services_common.c
reg_get_regd_rules is needed to fill the NL_REGDB_UPDATE_EVENT
in case of the 6 GHz outdoor AP.

Therefore, move reg_get_regd_rules from reg_utils.c to
reg_services_common.c.

Change-Id: Id99a8bc52ec24044845303fe3772082977962264
CRs-Fixed: 3158134
2022-06-26 08:20:05 -07:00
Utkarsh Bhatnagar
3031faee57 qcacmn: Add TDLS 6 GHz FW service capability
Add TDLS 6 GHz FW service capability

Change-Id: I8bf7b9b4fe2d57e5bd96018483c7eb128800ee68
CRs-Fixed: 3223678
2022-06-25 03:03:50 -07:00
Wu Gao
cd9a1b63a3 qcacmn: Fix compilation issue after enabled CONFIG_WDI_EVENT_ENABLE
This change fixed compilation issue when enabled two configures -
CONFIG_WDI_EVENT_ENABLE and CONFIG_REMOVE_PKT_LOG.

Change-Id: I121ea61bd3681b834a36c0bc8017b855897023a4
CRs-Fixed: 3223552
2022-06-25 03:03:44 -07:00
Rakesh Pillai
4b31289715 qcacmn: Skip sanity of sw_cookie in RX error for KIWI
Currently the sw_cookie is validated in RX error path
using the pool_id logic, which is not valid for KIWI target.
Kiwi target has a different logic to assign rx sw_cookie, as
compared to other legacy chipsets.

Hence this sanity of sw_cookie fails always for RX error
packets on KIWI target, and these corresponding buffers are
never released/replenished back. Eventually as more RX error
packets are received, the device runs out of buffers in the
refill ring and induces a backpressure.

Hence disable this sanity check for sw_cookie in rx error
path for KIWI target.

Change-Id: I320fcb268c1fe24695daeb4677af6cc0cbc445ed
CRs-Fixed: 3228792
2022-06-25 03:03:37 -07:00
abhinav kumar
edd1669c23 qcacmn: Handle vendor control command and event
WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID: Add support
for a new roam command to get vendor control parameters
from FW. Host needs to send proper param ID in command
(from enum WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID)
to get corresponding INI value from FW.

WMI_ROAM_GET_VENDOR_CONTROL_PARAM_EVENTID:
Add support for a new roam event to get param value
from FW. FW sends this event upon receiving
WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID command.

Change-Id: Ic7b3badb14daff183dd36927b4dae6bbc036e6cd
CRs-Fixed: 3225166
2022-06-25 01:08:55 -07:00
Pragaspathi Thilagaraj
87136b1636 qcacmn: Add bt_coex active field in roam scan done info
Add bt_coex active field in roam scan done info as
part of roam stats event handler.

Change-Id: Ief31efe491bede5ae4571bf0f5ace284aa6ea0fe
CRs-Fixed: 3226707
2022-06-24 18:21:28 -07:00
Pooventhiran G
ea990338cf qcacmn: Add API to copy MLO vdev list
Add a new API to copy all partner vdev's from MLD vdev_list

Change-Id: I34ab253f4939e2f1f607e971e38c245cad091037
CRs-Fixed: 3224259
2022-06-24 14:14:24 -07:00
Gerrit - the friendly Code Review server
9c3c815c25 Merge changes into wlan-cmn.driver.lnx.2.0 2022-06-24 11:06:49 -07:00
Aravind Kishore Sukla
e84ac077e5 qcacmn: Update connect request crypto parameters
Update the connect request crypto parameters based
on the new kernel changes to increase the size of the
akm_suites array in connect request

Change-Id: I6e9cecdb6fa02da5f2b2e238780d3f0fb389c8a2
CRs-Fixed: 3214567
2022-06-24 03:55:06 -07:00
Vignesh U
4b079efdfe qcacmn: Increment loop control variable
reg_freq_to_chan_for_chlist() is called in a loop for every power mode.
The loop control variable input_6g_pwr_mode is not incremented and will
become an infinite loop.

If the reg_freq_to_chan_for_chlist() is not able to find a chan, increment
the loop control variable input_6g_pwr_mode.

Change-Id: Ibcd095ab291b3c487cd31c2af0dd736e852d0918
CRs-Fixed: 3226433
2022-06-24 03:55:00 -07:00
Tiger Yu
89e38bb46b qcacmn: Remove unused local variable mon_soc to fix compiling issue
Remove unused local variable mon_soc in the dp_pktlogmod_exit to
address the compiling issue when PKT log enabled.

Change-Id: I5de03433603988e6f8125285a58c141551d7a149
CRs-Fixed: 3225370
2022-06-24 02:07:12 -07:00
Vinod Kumar Pirla
2c18eafe69 qcacmn: Add vendor event to indicate driver ready after SSR
Add QCA vendor event to indicate user space that the driver
recovery is completed after the internal failure.

Change-Id: Ib65c9773dd64fab36ba10493c27bd670c2bb6d08
CRs-Fixed: 3226415
2022-06-24 00:28:32 -07:00
nobelj
9ed0445e60 qcacmn: tx monitor add support for hw generated response
tx monitor add support for hw generated response

Change-Id: I5e2cd1420051e940f9276e07e7da6ca539dd0d5a
CRs-Fixed: 3205855
2022-06-23 18:01:14 -07:00
nobelj
8c3b9f7684 qcacmn: tx monitor populate block ack information from tlv
tx monitor populate block ack information from tlv

Change-Id: I500015e888a0984188bcee821262dee072dea7f9
CRs-Fixed: 3205304
2022-06-23 16:22:12 -07:00
nobelj
1113811c53 qcacmn: tx monitor populate SIG information from tlv
tx monitor populate SIG information from corresponding tlv.

Change-Id: I8b90c27e88574d4bb6610e500e33efd54a270c76
CRs-Fixed: 3204953
2022-06-23 16:22:06 -07:00
nobelj
69a8a9c767 qcacmn: tx monitor populate basic tlv
tx monitor populate basic tlv data.

Change-Id: I346b5da00b967fb9717009a153e8f8db239494ef
CRs-Fixed: 3204929
2022-06-23 16:21:59 -07:00
Huashan Qu
5ec471e872 qcacmn: Fix compile error for function wlan_reg_get_eirp_pwr()
When CONFIG_BAND_6GHZ is undefined, it will report missing-prototypes
compile error for function wlan_reg_get_eirp_pwr().

Add 'static inline' for function wlan_reg_get_eirp_pwr() to fix
compile error.

CRs-Fixed: 3227164
Change-Id: I9db007fee3aa0061aa9a8e030e45738c0953f36a
2022-06-23 12:58:19 -07:00
abhinav kumar
f55ec57e32 qcacmn: Support vendor handoff service bit info from FW
Add change to fetch and save the WMI service capability
bit of FW to support vendor handoff control feature
using service bit.

Change-Id: I6bc85f2807032bf84d391f34c814c91de906ab42
CRs-Fixed: 3225147
2022-06-23 08:51:02 -07:00
Amit Mehta
6e1dde7e43 qcacmn: Add QDF packet type enum
Add new QDF enum for packet type and make
changes to pass status and type to packetlog callback APIs as QDF type

Change-Id: I423839e42b316ce43feaae34e297d3d8f0dee7ba
CRs-Fixed: 3224881
2022-06-23 07:04:02 -07:00
Amit Mehta
6b576c65bb qcacmn: Add packet logging support for initial 32 packets
Add packet logging support by registering
Rx and Tx callback functions for packet logging of
initial 32 Tx and Rx packets.

Change-Id: I91b59b7c5f65f505e3ee730c497347be28955128
CRs-Fixed: 3224881
2022-06-23 07:03:56 -07:00
Rakesh Pillai
06c5d97195 qcacmn: Increase the max rx descriptors to 16K
Currently the max number of rx descriptors, via INI,
is 4096, which is not sufficient if the number of
entries in rx buffer refill ring is increased.

Hence the set the max allowed number of rx descriptors
to 16K, which is also the max allowed entries in the
rx buffers refill ring.

Change-Id: I287a3f47525179ebf8de65e2f8310a961881916b
CRs-Fixed: 3224590
2022-06-23 05:17:32 -07:00
Himanshu Batra
b11cdd3210 qcacmn: Resolve static analysis issue in BE monitor path
Resolve static analysis issue in BE monitor path

Change-Id: I8db589de1a8b80ec35e6135a5c84c9d45785741d
CRs-Fixed: 3214297
2022-06-23 05:17:25 -07:00
Pragaspathi Thilagaraj
27b99a6947 qcacmn: Introduce new vendor diag events to indicate reassoc req/res
Add attributes to indicate reassociation request and response events from
driver/firmware.
Introduce new attribute for Association ID.
Add support to listen for BT Coex for SCAN DONE diag event.

Change-Id: Ieedd0d154cd3287aca23c03ca573b87e8127726e
CRs-Fixed: 3221625
2022-06-23 01:59:14 -07:00
Priyadarshnee Srinivasan
94a8e47bd9 qcacmn: Add 6gpwr_type as an input to get_channel_state API
Add 6 GHz power type as an input to
reg_get_20mhz_channel_state_based_on_nol API. This is to
ensure that the state of the bonded channel is retrieved based
on the input 6 GHz power mode instead of the current power mode.

CRs-Fixed: 3226230
Change-Id: If2791653c79b347d0cbfb59544a166c9f60b5ab7
2022-06-23 01:59:07 -07:00
Ripan Deuri
26dff6988a qcacmn: Handle PPDU ID format message
This is a generic T2H message in which a target can specify bits and
offsets to extract a parameter from PPDU-id. Use link-id bit and offset
present in T2H message to extract hw link-id from PPDU-id on Tx completion.

Change-Id: I64b7559e88b037e30f52ba0b75ab62349e469d20
CRs-Fixed: 3195432
2022-06-23 01:59:01 -07:00
Gururaj Pandurangi
83d3a9032e qcacmn: Add set/get APIs to update eMLSR capability
Add set/get APIs to update the eMLSR capability bit.
This flag is used to determine if the current MLO
connection is eMLSR.

Change-Id: Ib72131e4740387918addca551dc11b349cd79bba
CRs-Fixed: 3220952
2022-06-22 22:00:36 -07:00
Priyadarshnee Srinivasan
47812b3daa qcacmn: Add a dispatcher API for reg_get_eirp_pwr
Add a dispatcher API for reg_get_eirp_pwr().
Also export dispatcher APIs that are invoked by other modules.

CRs-Fixed: 3220143
Change-Id: I40459352046285a04142dc57e1f643b10ac59150
2022-06-22 16:43:01 -07:00
Wu Gao
e46707f810 qcacmn: Correct registers when populate CFR elements from tlv
This is requirement change about correcting the registers when
populate CFR elements from tlv.

Change-Id: I424a0d3ae569dae3378137b84067a30b0fa28413
CRs-Fixed: 3218220
2022-06-22 16:42:55 -07:00
Ananya Gupta
025b889ef6 qcacmn: Check client count below HIF_RTPM_ID_MAX
While registering a client, HIF_RTPM_ID_MAX is also being
checked for registering.
Fix is to exclude HIF_RTPM_ID_MAX id.

Change-Id: I57e572abc22a27586cf350af423293a8b455af1c
CRs-Fixed: 3223394
2022-06-22 09:01:20 -07:00
Wu Gao
5e7510f34a qcacmn: Use HAL_RX_GET_64 to read cfr elements
Host failed to read some of cfr elements by HAL_RX_GET for kiwi since
their LSB is big then 32 and ready 4 bytes isn't enough. This change
reads 8 bytes and then gets cfr elements properly.

Change-Id: I7715ae7c713e2b8e15ec19a191be2f770e2971a6
CRs-Fixed: 3218274
2022-06-22 09:01:14 -07:00
Venkateswara Swamy Bandaru
fb890d204b qcacmn: Add D1.5 missing mac caps in vdev
Add D1.5 missing mac caps in dev

Change-Id: I96ba90e0ae43559ec8a2690f6f4270335cf120ea
CRs-Fixed: 3219280
2022-06-22 01:01:11 -07:00
Jinwei Chen
45f5248753 qcacmn: support UL delay report for KIWI
support Ul delay report for KIWI

Change-Id: If78be5b7d1fa29e522d1df1d4372115d8e00473c
CRs-Fixed: 3222167
2022-06-21 05:18:22 -07:00
Yu Tian
7c157e8716 qcacmn: Set BA status to active when receiving ADDBA event
Usually, ADDBA frame exchange is handled by HOST. But when this
is offloaded to FW, an HTT event is reported and HOST only needs
to update RX tid parameters, no need to send addba resp frame again.
BA status update is in addba resp TX completion, so there is no chance
to update this field in ADDBA offload case. This change is used to
set ba status to active to make ba session in correct status.

Change-Id: Iae4a1974cf4b8c55b20862df51b14d5011aefd73
CRs-Fixed: 3201455
2022-06-21 03:13:26 -07:00
Abishek Ganapathy
87190fa5f8 qcacmn: Fix multicast traffic failure in QWRAP repeater
In the case of qwrap repeater, send the original packet on the
interface where it received and send the packet with dummy src
on the mcast primary interface

Change-Id: I08f64559ff2a9430b140c962117d4d71ab684b8d
CRs-Fixed: 3214360
2022-06-20 21:30:42 -07:00
Venkateswara Naralasetty
d5720bc4a3 qcacmn: Skip invalid Rx descriptor access in wbm err path
There is a possibility where host can receive invalid SW cookie
in wbm internal error path which causes invalid rx descriptor
access.

Add a sanity check on received SW cookie to prevent the invalid
rx descriptor access. Also, add sanity check for the duplicate
rx descriptors.

Change-Id: I6400cb1fc067f4bc474f2768c18c8f7ce587fbbe
CRs-Fixed: 3220371
2022-06-20 14:22:18 -07:00
nobelj
373d053c4c qcacmn: tx monitor include tlv header files
Tx monitor feature need tlv, include all supported tlv header files

Change-Id: Ia01f7d0e498f7082376851334f5f3a31083b36f8
CRs-Fixed: 3203050
2022-06-20 14:22:12 -07:00
Venkateswara Naralasetty
c92ceccc09 qcacmn: Fix invalid pool_id used in wbm internal error handling
Currenly pool id retrieved from the sw cookie is used in rx buffer
replenish for both buffer type and link desc type in wbm internal
error handling.

In case of wbm internal error with link desc type, pool id can't be
used for rx buffers replenish because pool id notion of rx desc is
different from link desc and this could cause out of memory access
issue.

Fix this issue by using the pool id retrieved from the msdu sw cookie.

Change-Id: I7184571e1f6a67c7266335154121b345fa12b4ab
CRs-Fixed: 3214867
2022-06-20 12:45:44 -07:00
Nandha Kishore Easwaran
e34a1ed32c qcacmn: Increase number of DP interrupt to 16
Increase the number of DP interrupts to 16. The interrupt assignment
table is updated to add new values for different MSI interrupts
available. 9, 10 and 11 MSIs configuration will take the same
configuration as that of 8 MSI. 13, 14 and 15 MSIs configuration
will take the same configuration as that of 12 MSI. New MSI assignment
configuration is introduced for 12 and 16 MSIs.

Change-Id: I82af75b21c793a62fc8f0bd5515e1160b601c0c2
CRs-Fixed: 3209397
2022-06-20 07:28:11 -07:00
Vivek
f64cf6e11b qcacmn: Add CDP ops to get SAWF stats from telemetry agent
The telemetry agent on certain intervals needs to pull the
SAWF stats from the driver.

Add CDP ops to pull the SAWF stats from the driver.

CRs-Fixed: 3210834
Change-Id: Ibc27059ff13b33acc4e71d3174a0415756dcfc5e
2022-06-20 00:35:47 -07:00