Gráfico de commits

19015 Commits

Autor SHA1 Mensagem Data
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
Srinivas Girigowda
cfbf0f77e5 qcacmn: qdf: Add IEEE80211 type/subtype macros
As part of TX Mon 2.0, WIN has IEEE80211 specific macros only in WIN side
header file, but now Tx Mon 2.0 is required to be supported on MCC side
and these macros are not available. Hence extend by adding the required
type/subtype macros in qdf common header file.

Change-Id: I76cf0a0c226664c34c9c8bd10e280a500b3c61a9
CRs-Fixed: 3415715
2023-04-14 08:24:10 -07:00
Srinivas Girigowda
82089b850a qcacmn: Add QCA vendor command to get the monitor mode status
Add a new vendor command QCA_NL80211_VENDOR_SUBCMD_GET_MONITOR_MODE to
get the local packet capture status in the monitor mode. Add required
attributes to respond with status of the monitor mode. The monitor mode
can be started/configured by using the
QCA_NL80211_VENDOR_SUBCMD_SET_MONITOR_MODE subcommand.

Change-Id: I72edd46f85b545d7aecb3c704441e810db9ca711
CRs-Fixed: 3415711
2023-04-14 08:23:58 -07:00
syed touqeer pasha
5b0980f461 qcacmn: Check Tx halt during umac reset
1. Check Tx halt during umac reset and avoid halt if set already.
2. Perform SRNG disable only in case of umac reset

Change-Id: Id364a6460a64e83002b5c96e08031ad2a0bc8fd7
CRs-Fixed: 3459427
2023-04-14 01:54:13 -07:00
Jinwei Chen
499696eab5 qcacmn: update TX ILP capability to DP and target
After receiving WMI service ready ext2 event and htt msdu index to
qtype map is derived, call CDP API to evaluate whether TX ILP can be
supported or not, update the TX ILP capability to DP, also send WMI
INIT CMD to FW to notify if host has enabled the TX ILP support or
not.

Change-Id: I472ebc5c7fa4b2996b790b58274fa3c048f6d7f9
CRs-Fixed: 3447519
2023-04-13 20:05:46 -07:00
Shwetha G K
ebdd12b6a9 qcacmn: Update the metadata version for Waikiki
Update meta data version of Waikiki as it supports AOA
phase delta extraction now.

CRs-Fixed: 3462217
Change-Id: I909802417125ecafaf4d14466c349f0ed9b45fd2
2023-04-13 16:35:03 -07:00
Vijay Krishnan
c75e7910c9 qcacmn: Declare puncturing SM states, APIs
Implement the data structures for DFS puncturing and
un-puncturing state machines. For details of state
machine implementation refer to the change id
I5accbf2866a830447bd776b989c31909060c45ca.

CRs-Fixed: 3462277
Change-Id: I026228fb72302408f2992325099a31a60e986e3c
2023-04-13 16:34:53 -07:00
Srinivas Pitla
4d1ebd3402 qcacmn: Fix duplicate allocation for aid mgr
For MBSSID, aid mgr is allocated twice in
few corner cases of VAP create.

This change adds check, if aid mgr is allocated
by legacy code in vap create, aid mgr allocation
would be skipped

Change-Id: Ie44fab12badb5c9487ce3de333376e1885e727d0
CRs-Fixed: 3461883
2023-04-13 13:59:24 -07:00