Graphe des révisions

19022 Révisions

Auteur SHA1 Message Date
Jinwei Chen
bedb4f3049 qcacmn: Update rx_peer_metadata version to DP
Save rx_peer_metadata version to wlan_res_cfg, update this value
to DP.

Change-Id: If559d85ebb390b54d267f4bc4ba214631b547d32
CRs-Fixed: 3469154
2023-04-21 03:16:59 -07:00
Jeff Johnson
4612e27f35 qcacmn: Replace use of WLAN_OPEN_SOURCE
Currently the DebugFS logic in utils/fwlog/dbglog_host.c is protected
by the flag WLAN_OPEN_SOURCE. The WLAN_OPEN_SOURCE flag is a legacy
flag which had a specific use that is no longer valid. So replace the
use of WLAN_OPEN_SOURCE with a feature-specific flag.

Change-Id: I82c51efff8dfe6673c6b9d956f974cae2d21bb69
CRs-Fixed: 3464911
2023-04-20 21:28:06 -07:00
Ripan Deuri
81504e9000 qcacmn: Add change to update tsf2 periodically
Target update tsf2 periodically in the scratch register. Add change to read
tsf2 from scratch register on receiving mlo timestamp indicator event.

Change-Id: Ic68d216d94ece8eddbf8af0f13a3f1876a893df3
CRs-Fixed: 3472165
2023-04-20 19:39:51 -07:00
Jinwei Chen
d1152e8af9 qcacmn: update dp_vdev for TDLS based on MLO connection
Update dp_vdev for TDLS based on MLO connection,
if TDLS connection is from secondary dp_vdev, then
(1) update vdev->osif_vdev same as primary vdev to support RX
(2) update primary vdev's TX search to support TX over TDLS peer
else if TDLS connection is based on primary vdev, then
keep same as earlier.

Change-Id: I4b76afaa481e98c36bb5374eede8046b6cc69b4c
CRs-Fixed: 3469845
2023-04-20 17:46:02 -07:00
Amrit Sahai
47c6e8b612 qcacmn: Add support to peer disable sched mode
Add wmi ops to send peer level disable sched mode cmd

Change-Id: I54956abcd09934c413fc60640e731af910d9ec64
CRs-Fixed: 3471451
2023-04-20 15:59:09 -07:00
Jeff Johnson
8b0dc8c2bb qcacmn: epping: Remove use of WLAN_OPEN_SOURCE
The macro WLAN_OPEN_SOURCE served a legacy purpose which is no longer
required, so remove the usage.

Change-Id: I28c8225d6a9d132f2492665463be385ad139864c
CRs-Fixed: 3463713
2023-04-20 15:58:58 -07:00
SHIVAM KUMAR
54e48589ba qcacmn: Update the T2LM status code as 2 bytes
In the T2LM context status code was used as 1 byte.
As per ieee802.11 spec, Status code value is 2 bytes.
Hence, add the changes in T2LM code to use the status
code as 2 bytes.

CRs-Fixed: 3464786
Change-Id: I4dd54d8a12f3bb1ca493ee0e9b1ec20b3590d97b
2023-04-20 11:34:14 -07:00
Rakesh Pillai
e2d92112b0 qcacmn: Code movement to enable multipass support without WDS
Currently the code to support Multipass on SAP is
present along with the code to support WDS. Hence with
the code in its current state, we will not be able to
enable Multipass support without enabling WDS.

Move the multipass support code out of the WDS support
code, to be able to enable Multipass for chipsets which
do not use WDS.

Change-Id: Iaafa8dc4f16314d9e3e160fe01251c3684adbf67
CRs-Fixed: 3468548
2023-04-20 08:50:29 -07:00
Pavankumar Nandeshwar
4066ad2431 qcacmn: Allow ds tx descpool to have max size of 64K descs
Allow the ppe ds tx descriptor pool to have a maximum
size of 64k tx descriptors.

Change-Id: I4c09b6337efaabedea93f36a3477f5bdcc32f288
CRs-Fixed: 3468613
2023-04-20 08:50:18 -07:00
Kannan Saravanan
e11f459ade qcacmn: Pebble bring-up changes in Umac and target_if layer
Add device Id and target type checks for qcn6432 target
compilation
Add CFR and spectral support for QCN6432

Change-Id: Ic908fa768aa1be7cfc40be7fcc7f9ca6aa85aaa6
CRs-Fixed: 3351747
2023-04-20 04:59:28 -07:00
Guru Pratap Sharma
42a7f2f1b4 qcacmn: Adding and parsing of bandwidth indication element
Adding and parsing of bandwidth indication element sub IE

Change-Id: I20fca6ecf370d5d20f0e6e8e4f873bf57da3d181
CRs-Fixed: 3464120
2023-04-20 00:15:51 -07:00
Abhishek Singh
b51c893b65 qcacmn: Optimize connect/roam and disconnect complete logs
Optimize connect/roam and disconnect complete logs.

Change-Id: I9e0af49ce27c245b6e88befbe113a472b3b455f9
CRs-Fixed: 3470874
2023-04-20 00:15:39 -07:00
abhinav kumar
520730494b qcacmn: Add QCA vendor interface to get connected channels utilization
Add a new vendor command to trigger computation of connected channel
statistics such as channel utilization in STA mode.

Change-Id: I868a85bbbee9f9b050636789c3d7217b71164852
CRs-Fixed: 3460890
2023-04-19 22:12:35 -07:00
Kannan Saravanan
20a57094a3 qcacmn: Initial changes for QCN6432 bringup in Common dev to DP
Add device Id and target type checks for qcn6432 target
compilation.

Change-Id: I4bc0fe66f9da9fb8be26fca8dc23524a4fb54009
CRs-Fixed: 3351564
2023-04-19 20:16:40 -07:00
Jeff Johnson
b62151f8dd qcacmn: Fix utils/host_diag_log documentation
The kernel-doc script has identified multiple documentation issues in
the utils/host_diag_log folder, so fix them.

Change-Id: Iaaa241e7f2a18dd7952d491b31487c0b048cca52
CRs-Fixed: 3461770
2023-04-19 18:12:22 -07:00
Prakash Manjunathappa
50c9ab56a1 qcacmn: Do not subscribe for MC/BC frames for kiwi/peach
MC/BC frames are routed to FW ring based on routing config for MC/BC
data as SRC: FW2RXDMA and DST: RXDMA2DFW.
Data offload features in FW will take care of routing the MC/BC frames
to FW in both active and low power modes.

Make this change only for kiwi/peach using hal ops.

Change-Id: Id8665261a512c9db3e808f95082ff82b47f01ade
CRs-Fixed: 3464036
2023-04-19 18:12:11 -07:00
Kannan Saravanan
bbd8a57b8e qcacmn: Initial changes for QCN6432 bring-up in HAL layer
Add device Id and target type checks for qcn6432 target
compilation.

Change-Id: Ibad1763b2d32929d81fe876571c37da9fdd15ab3
CRs-Fixed: 3351745
2023-04-19 14:20:13 -07:00
Jithender Miryala
3a915602b8 qcacmn: Process the negative AFC standard EIRP power values
When we receive a negative EIRP value from AFC APP with UINT, we treat it
as a positive value. See the following reasons why EIRP power value
was changed when we received it as a UINT.

1. In the reg_find_eirp_in_afc_eirp_obj function, the afc 'eirp_power'
(16-bit) value is in units of 0.01, and it is an unsigned integer. For
example, if the negative value is "-1400" then it becomes "64136". With
this value, when we try to get the original EIRP value using division
(eirp_obj->eirp_power / EIRP_PWR_SCALE(100)), it returns "641", but the
expected EIRP value is -14.

2. In the reg_get_sp_eirp function, both the variables 'afc_eirp_pwr'
(8-bit) and 'reg_sp_eirp_pwr'(16-bit) are declared as unsigned integers.
For example, when "-14," is assigned to "afc_eirp_pwr", it becomes "242".
And assuming 'reg_sp_eirp_pwr' is "36", the minimum of the two variables,
using QDF_MIN(afc_eirp_pwr, reg_sp_eirp_pwr), becomes "36", but the
expected minimum is "-14 or 242".

Process the positive or negative EIRP values that are received from AFC
application. Receive it as an int instead of an unint and typecast it to
int when we check for minimum value from afc power and standard power.

Change-Id: I255225e1f68ab897d36f3d4fbd5e5815a862460b
CRs-Fixed: 3398501
2023-04-19 10:36:58 -07:00
Kenvish Butani
711fb71599 qcacmn: Revert "Optimize DP Rx Error Handling (Part-2)"
This reverts the commit.

Change-Id: Ia1a304daa5d63a063bfc2d22b9b99ccad02af0e1
CRs-Fixed: 3472017
2023-04-19 05:43:51 -07:00
Nitin Shetty
7045ccc728 qcacmn: handle ppeds init/deinit
based on ppeds_handle allocate and free the
ppeds resources.

Change-Id: I70fc4bfa879fcd62c0e8a80c5b57938a2063bccc
CRs-Fixed: 3462725
2023-04-19 03:55:26 -07:00
Venkateswara Swamy Bandaru
c7c3c49381 qcacmn: Add 11be D3.0 status code
Update status codes enum with new EHT status codes
as per 11be D3.0

Change-Id: Ib3a4963a01f1df98d2adf77d57b03d933753f297
CRs-Fixed: 3469032
2023-04-19 00:02:07 -07:00
nobelj
45043b787f qcacmn: Add fix to increment NSS after parsing
NSS value derived from HW, need plus 1 to match the sniffer capture.
Added fix to increment NSS after parsing the TLV.

Change-Id: I1e0ef3949cefa1453290e400fa4a66000a3b5dea
CRs-Fixed: 3444508
2023-04-18 22:03:00 -07:00
Sreeramya Soratkal
73d7e4d15a qcacmn: Derive TID from DSCP in case of legacy SCS
With the convergence of SCS and SAWF, do not override the TID
for legacy SCS case. Retain the value obtained using DSCP in
this case.

CRs-Fixed: 3460620
Change-Id: I19502d09f5f37376bac08eb05fcf770c71331e1c
2023-04-18 22:02:50 -07:00
Gururaj Pandurangi
1958f62e8a qcacmn: Add new wrapper API to send peer-level T2LM
Add a new wrapper API to send peer-level negotiated
tid-to-link mapping to FW as the existing API to send
the mapping received from the beacon/probe response
uses ML dev context whereas the new API uses ML peer
context.

Change-Id: Ifada5600e9524585c69847f332ed0280fd316813
CRs-Fixed: 3423127
2023-04-18 20:04:44 -07:00
Deeksha Gupta
28f7114375 qcacmn: Add new APIs to get t2lm info from vdev or peer obj
Add new APIs to get t2lm info from vdev or peer obj

Change-Id: Id1d3bf9ec88cb14574803ac952304a3103397799
CRs-Fixed: 3431479
2023-04-18 20:04:33 -07:00
Surya Prakash Raajen
74c7a8d542 qcacmn: Add CDP api support for umac reset init
Add CDP api support for umac reset init API, these apis are expected
to be called whenever shmem is deinitialized.

Change-Id: I307c586454580ab8f83b0d515defa93d4e8ff656
CRs-Fixed: 3458268
2023-04-18 14:27:32 -07:00
Jianmin Zhu
07390f2011 qcacmn: Don't handle assoc vdev roam if link vdev failed
If link vdev roam sync failed and new dp mlo peer wasn't created,
assoc vdev roam sync was still handled, dp peer update failed
and asserted for mlo peer not found.

To fix it, if link vdev roam sync failed, return to trigger HO_FAIL,
don't handle assoc vdev roam sync.

Change-Id: I47aa70723cd741839cdb8fb21d446730a8ed80e5
CRs-Fixed: 3468553
2023-04-18 14:27:22 -07:00
Adwait Nayak
b37c9cf461 qcacmn: Initial changes for Pebble bring-up in HIF Layer.
Add device Id and target type checks for qcn6432 target
compilation.

Change-Id: Id95d5902e3f3711ab6836b72dc3bcb66b1abf3c6
CRs-Fixed: 3351550
2023-04-18 12:44:37 -07:00
Priyadarshnee Srinivasan
37050737b1 qcacmn: Export regulatory APIs
Export wlan_reg_get_freq_range() and wlan_reg_get_freq_range() APIs
to be invoked by other modules.

Change-Id: I2de7acf395011bdcc20100fc5980ab69f2b9fbeb
CRs-Fixed: 3459316
2023-04-18 12:11:54 -07:00
Priyadarshnee Srinivasan
f1afedc3b6 qcacmn: Set ap_pwr_type only for a 6 GHz pdev
reg_set_ap_pwr_type() API is invoked per pdev and the default ap power type
is set for all bands of the pdev (2.4 GHz / 5 GHz/ 6 GHz). Hence, the
user space command g_ap_power_type retrieves SP Power mode for 2.4 GHz
and 5 GHz pdev in outdoor deployment mode.

Since power type is valid only for a 6 GHz pdev, check if the chip
supports 6 GHz channel range and set the power type.

CRs-Fixed: 3459316
Change-Id: Ib5038d5d019ab9ffaa6a607916e5187ecdbd4e2b
2023-04-18 12:11:35 -07:00
Venkateswara Naralasetty
26099afe23 qcacmn: suspend/resume changes for WCN6450
Changes required for suspend/resume support for WCN6450

Change-Id: I4610f6bdb8de92f03884af6c07a5141dd27174be
CRs-Fixed: 3447469
2023-04-18 12:11:24 -07:00
Ruben Columbus
476546a791 qcacmn: flush ext_qdesc buffer
send CMD_FLUSH_CACHE to HW to flush extended descriptor based
on its size.

Change-Id: Ia1260e54614467215711f84fe5cf51b1d05b050a
CRs-Fixed: 3426113
2023-04-18 12:11:13 -07:00
Namita Nair
e92b9d5b61 qcacmn: Fix memory leak in ipa_config_mem_alloc
Currently when ucfg_ipa_uc_ol_init() fails,
the wlan_ipa_cleanup() is not called. As a result
g_instances_added is not decremented. This
change performs the cleanup if ucfg_ipa_uc_ol_init()
fails.

Change-Id: I22a83f08c51e10246fa99dff2a06c9ec486f605e
CRs-Fixed: 3456523
2023-04-18 12:11:03 -07:00
Shreedhar Parande
9ec10780d7 qcacmn: Fix primary UMAC configuration for bridge peer
Use primary UMAC derivation logic for bridge peer case.

Rename mlo_get_primary_umac_vdev() to
mlo_get_link_vdev_from_psoc_id()

CRs-Fixed: 3454734
Change-Id: Ic732cc6e85b6d9f0d7bc8cea041642164952e304
2023-04-18 12:10:54 -07:00
Sushant Butta
aad187e304 qcacmn: Use monitor pkt tlvs and buffer size for monitor
Use monitor pkt tlvs size and monitor buffer size
instead of data pkt tlv size and data pkt buffer size.

Change-Id: I3099f6526aa11b353c8a5178de450d48f141a461
CRs-Fixed: 3406962
2023-04-18 12:10:42 -07:00
Rakesh Boyina
2567b43224 qcacmn: Add enum to map AFC response format.
Add enum to parse and store AFC response format type. This enum is
used to map the response format negotiated with FW during WMI init.

Change-Id: I5c0b61aeddfce1d1b64f9225f64546f80d0e9e3e
CRs-Fixed: 3420549
2023-04-18 12:09:30 -07:00
Nandha Kishore Easwaran
985fc0f9b5 qcacmn: Add txmonitor masks to legacy interrupt
Add txmon masks to legacy irq interrupt calculation.

Change-Id: I247008c89361c069c62c0ac90b12fb798261b9e5
CRs-Fixed: 3438542
2023-04-17 07:08:25 -07:00
Amrit Sahai
9fea4029b7 qcacmn: Fix printing of stats for TX ring for SDX_75
In SDX_75, doorbell register is only writable not readable
so fix printing of stats for TX ring.

Change-Id: I058c4241b9c91902f32ed76f099f7501e667c78b
CRs-Fixed: 3436677
2023-04-17 07:08:14 -07:00
Asutosh Mohapatra
8aa59894fc qcacmn: Invoke reg_propagate_mas_chan_list_to_pdev API during pdev creation
Currently many pev related API's are not present in
wlan_regulatory_pdev_obj_created_notification. As a result many info
is not saved to pdev.

To address this issue invoke reg_propagate_mas_chan_list_to_pdev
from wlan_regulatory_pdev_obj_created_notification.

Change-Id: I47b7c09006c93828db32710d1fa882eb1f9b8ba5
CRs-Fixed: 3461593
2023-04-17 04:35:37 -07:00
Hariharan Basuthkar
457c4a4d08 qcacmn: Move fill_umac_legacy_chanlist out of reg_propagate_mas_chan_list_to_pdev
In the change-id Ied56965c2e8d700a2fc14a5a2b79beed95ac7818,
the call of reg_propagate_mas_chan_list_to_pdev in pdev_obj_creation,
leads to a fatal assert.

Within reg_propagate_mas_chan_list_to_pdev,
ol_ath_fill_umac_legacy_chanlist is called, and internally
within ol_ath_fill_umac_legacy_chanlist, the cookie for the event
ic->ic_wait_for_init_cc_response is set, before the
ic->ic_wait_for_init_cc_response is created in the function
wlan_pdev_update_feature_ptr. This leads to a crash.

To fix this issue, separate fill_umac_legacy_chanlist from the function
reg_propagate_mas_chan_list_to_pdev and call fill_umac_legacy_chanlist
only when WMI_REG_CHAN_LIST_CC_EVENTID or
WMI_REG_CHAN_LIST_CC_EXT_EVENTID is received.

Change-Id: I5fcf85eed32d3ab2cd4fd88ad117fcf22c5875b2
CRs-Fixed: 3427982
2023-04-17 04:35:25 -07:00
Aasir Rasheed
9de835aa83 qcacmn: Add 11be Draft 3.0 support
Add EHT capability and EHT Operation changes to
support 11be Draft 3.0.

Change-Id: I099416f985af1f4e6f2f69fc3d55ef158d6fb2ca
CRs-Fixed: 3453366
2023-04-17 00:43:25 -07:00
chunquan luo
6d4417ce5f qcacmn: Update roam trigger sub-reason
Update roam trigger sub-reason for common roam
and wlan diag event need update to user space.

Change-Id: I66733736d9148e3748c653d4b43a1aa6d2f438cf
CRs-Fixed: 3459385
2023-04-16 20:57:42 -07:00
Asutosh Mohapatra
936a78882e qcacmn: Validate reg rules received from fw
Currently host isn't validating the reg rules received from
fw. Host saves these reg rules locally and updates the same
info to kernel.
To address this issue add logic to validate reg rules in host.

Change-Id: I7369126e83ab210720cb5b2db2e11d3aa7491b4a
CRs-Fixed: 3376632
2023-04-16 00:36:13 -07:00
Jia Ding
e5050154f1 qcacmn: Add WLAN IPA RX exception packet to pm queue
Below signature is seen in driver logs.
Target is suspended (via send_process_dhcp_ind_cmd_tlv:244)
cds_trigger_recovery_handler: critical host timeout trigger
fw recovery for reason code 34

Suspend/Resume test is run with SAP started and a ref-client
is associated with the SAP. One DHCP-Req packet is received
from ref-client before driver completes the resume process.
With SAP_DHCP_FW_IND feature enabled, driver will send one
WMI cmd to target for such DHCP packets received.

With IPA_OFFLOAD enabled, such DHCP packets are received from
the RX exception callback from IPA driver. Hence add support
to queue these DHCP packets onto pm_queue_head skb queue when
WLAN IPA component is still in suspended state. When IPA component
is resumed from suspend state, pm_queue_head skb queue will be
drained to pass up queued RX exception packets to stack.

For QCA_IPA_LL_TX_FLOW_CONTROL enabled platforms, such as WIN
chipsets, suspend/resume is not supported. Hence wrap fixes
only for !QCA_IPA_LL_TX_FLOW_CONTROL.

Change-Id: I823005d9b58d1d62eec2c044621e1c1423aa3537
CRs-Fixed: 3457254
2023-04-15 12:07:00 -07:00
Jianmin Zhu
54d4446b4b qcacmn: Add channel switch wrapper IE V2 present flag
Channel switch wrapper IE V2 includes bandwidth indication sub IE from
IEEE802.11be draft 3.0 optionally.

Change-Id: Ie1b62ad18dfeccc64505240399947fc5f3e8a18d
CRs-Fixed: 3458351
2023-04-15 02:57:49 -07:00
Gururaj Pandurangi
a24e1ab231 qcacmn: Add a new MSD duration subfield
Add a new MSD duration subfield that holds duration value
in the units of 32us. Deprecate the old subfield msd_dur_us
that holds the duration value in microseconds.

Change-Id: Id4789c550778d901cb519e53e350cc9fc66611e7
CRs-Fixed: 3446377
2023-04-14 23:40:42 -07:00
Deeksha Gupta
f2a2315e31 qcacmn: Introduce new macro to support get TID to link map info
Introduce new macro to support get TID to link map status command
and TID to link response event.

Change-Id: I2f8fc03c306eae7f11d77253ce0ec565c9df2d71
CRs-Fixed: 3431459
2023-04-14 10:13:35 -07:00
Srinivas Girigowda
3228443af7 qcacmn: Set Tx ring packet type flag properly
Currently, HTT Tx ring packet type flag is set as bitwise operation
which is incorrect and results in "Debug Assert Caught".

Set this CTRL and DATA packet type flag with a value of 1.

Change-Id: I62e89fe637441fcc680ea8d5fe8d157d8e7142ae
CRs-Fixed: 3415733
2023-04-14 08:24:44 -07:00
Srinivas Girigowda
7a5a84d777 qcacmn: Fix compile error 'address of array will always evaluate to true'
address of array 'tx_ppdu_info->hal_txmon.rx_user_status' will always
evaluate to 'true' [-Werror,-Wpointer-bool-conversion]

Change-Id: Ic148f34b82ce756eb07173b43f8f155a7b4a12d9
CRs-Fixed: 3415726
2023-04-14 08:24:33 -07:00
Jinwei Chen
075d9641ff qcacmn: fix dp_peer ref_cnt leak in CFR processing
dp_peer ref_cnt is increased in dp_rx_mon_populate_cfr_ppdu_info(),
but it does not release it at last, this leads to dp_peer ref_cnt
leak which then dp_peer memory can't be freed and corresponding dp_vdev
leaked as well.

release the ref_cnt for dp_peer at the end of
dp_rx_mon_populate_cfr_ppdu_info().

Change-Id: I8ac301609deb3790ad9f3d6eda85d502cede9799
CRs-Fixed: 3461642
2023-04-14 08:24:21 -07:00