Revīziju grafs

354 Revīzijas

Autors SHA1 Ziņojums Datums
Will Huang
b55e7ac81f qcacmn: Add support of sending multiple COEX config
Add an API to support sending multiple COEX config in one WMI command.
This is to optimize and save target host to firmware WMI command
communication time.

Change-Id: Ie510ee3ebfca67a2b748c403ec52a8d7b597f676
CRs-Fixed: 3651226
2023-12-05 02:18:28 -08:00
Priyadarshnee Srinivasan
10e648c51e qcacmn: Allow only 80P80 supported frequencies for 130 opclass
Pine and Spruce supports 80P80 mode of operation in 5 GHz band
and hence opclass 130 is sent to the user application in
MESH_MAP_OPCLASS_FOR_CUR_HWMODE NL80211 command.
However, these chips support 80P80 mode of operation
only on CFI 138 and 155, but to the application all the 80 MHz
channels in the 5 GHz band are advertised as supported.
This causes the application's channel selection algorithm to fail.
The existing API reg_is_chan_supported() can determine if the input
frequency is 80P80 capable only if cfreq2 of the 80P80 channel is
provided and in reg_get_cfis_from_opclassmap_for_non6g() API, it is not
possible to determine all combinations of cfreq2 for the given primary
frequency. Hence, a call to is_freq_80p80_supported() is made to
determine if any 80P80 combination is possible for the given input
frequency.
Also, 6 GHz channels do not support 80P80 mode of operation.
reg_is_cfi_supported() does a lot of computation to find out that
80P80 is not supported. Hence, if the opclass entry
is 6 GHz 80P80, set 80p80_supported as false.

Hence, send only the supported 80P80 CFIs in the
supported channel list array in MESH_MAP_OPCLASS_FOR_CUR_HWMODE command.

CRs-Fixed: 3627501
Change-Id: Ib5d3e872b34b8df81b8466e877b10f2fd4e68e40
2023-11-14 05:29:17 -08:00
Surya Prakash Raajen
6bd218f3be qcacmn: Send standby pdev info to FW
Send standby pdev/radio which is expected to be up while
in powersave mode to FW, to switch master control for
timers.

Change-Id: I4b48d93859359d1b6aee0b9993fd1bd3bff863f2
CRs-Fixed: 3621705
2023-09-25 05:17:23 -07:00
Vijay Raj
75a684099b qcacmn: Add support to handle WMI_MLO_LINK_STATE_SWITCH_EVENTID
Register event handler for WMI_MLO_LINK_STATE_SWITCH_EVENTID.
Add target if event handler for the
WMI_MLO_LINK_STATE_SWITCH_EVENTID event, and register
corresponding mlo manager callbacks.

Add extract API for link state switch event parameters received
Call the diag event API from MLO manager post extracting the
event

Change-Id: Ib588ee87a5c37c6a34c86ce8cbf134a273c6461b
CRs-Fixed: 3610041
2023-09-15 21:09:43 -07:00
Aasir Rasheed
760a93969c qcacmn: Implement handling of mlo standby csa
Implement handling of mlo sta standby csa beacon
and initiate the transmission of a link bss request
command tlv to the firmware for standby link.

Change-Id: Ibdf903c69757b47f301ab9fa7c563407915532d6
CRs-Fixed: 3605764
2023-09-13 14:20:44 -07:00
Aditya Sathish
25c27f83e0 qcacmn: Add support for WSI link info libraries
Add support to capture ingress and egress stats
in the MLO manager

Change-Id: Ife0acab15ba802c953cfcf3a720c6e54933ded5e
CRs-Fixed: 3601749
2023-09-11 15:50:46 -07:00
Surya Prakash Raajen
d0f606e7db qcacmn: Fix dec and test bit of shmem arena deinit count
Fix dec and test bit of shmem arena deinit count, as
qdf_dec_and_test returns true if the decremented resultant
value is 0,or false for all other cases.

Change-Id: I59523078bec409badbe253243443a12c508c036c
CRs-Fixed: 3593556
2023-09-01 21:01:50 -07:00
Subrat Mishra
cf8b664ae6 qcacmn: Add lmac interface to check ATF enable
Add South bound lmac interface to check ATF enable.

Change-Id: I3383a90f663079ae77872af09222e1758c7cb452
CRs-Fixed: 3600024
2023-08-31 11:00:55 -07:00
uvignesh
2bd93270d4 qcacmn: Return the status of regulatory init_cc handlers
When setting the country from user space, the thread sleeps and waits for
the init_cc event to awake. Right now the thread is woken up only in 2
case:
(i) when the country configuration is success from FW and regulatory and,
(ii) when country configuration failed in FW.

The thread is not woken up if there is failure in regulatory. This is
leading to timeout which will assert the kernel. In order to handle all the
return errors from the regulatory init_cc event handler should execute and
the status should be returned to thread waiting for the init_cc event
irrespective of the status of the init_cc handler. In order to achieve
this, the following actions are taken:
(i) Introduce a new regulatory tx_ops set_wait_for_init_cc_response_event()
that will wake up the thread waiting for init_cc response and return the
status of the init_cc response handler.
(ii) Remove the tx_ops set_country_failed() which just sends the failure
status to the thread waiting for init_cc event. This will be handled by the
new tx_ops.
(iii) Send the status of init_cc handler using the new regulatory tx_ops.

Change-Id: I1b29651682e9b7219d428c13d6d0ea299d6f81ba
CRs-Fixed: 3552823
2023-08-21 20:01:18 -07:00
Vinod Kumar Pirla
a147f231ea qcacmn: Use VDEV response timer in PSOC for MAC update
Use the VDEV response timer infrastructure to hold MAC address update
requests sent to FW on VDEV which is in link switch progress.

As post disconnect and sending set MAC address request, the scheduler
thread is exited and to notify MLO mgr about set MAC address update
complete (or either timer expiry due to FW response timeout) and
further the link switch process based on response.

This code is only applicable for Link switch VDEV MAC address update
path. For MAC update request from userspace still use the same path
without starting the timer as for those wait event is already in place.

Change-Id: Ice3e6f7b00f0d9d08d6aa62ee9c1e4d183142358
CRs-Fixed: 3556517
2023-08-02 04:55:03 -07:00
Vinod Kumar Pirla
af6cf93a07 qcacmn: FW Link switch request event handler and cnf resp
Once the FW sends the link switch request to host handle
the request from scheduler thread and send confirmation
back on completion of link switch process with status of
link switch (success/failure).

Add new serialization command type for link switch.

Introduce flags to get the current state of link switch
request, set the state to idle when no link switch in
progress or once the current link switch is completed.
Access to state is protected with MLO dev context lock.
Implement various helper API to:
    a) Transition link switch to next state.
    b) Get current state of link switch.
    c) To check whether any link switch is in progress.
    c) To check whether link switch is happening
       on assoc VDEV or not.

Introduce a new VDEV flag to suggest the VDEV is in
link switch process and also implement helper APIs to
set/get/clear this VDEV flag.
   a) The flag is set at start of link switch, once
      the FW request params are validated and before
      proceeding for link switch disconnect on VDEV.
   b) Clear the flag once the Link switch confirmation
      is sent to FW.

Validate the link switch request params:
     a) IEEE link ID's received.
     b) Check if new connection is part of MLO connection.
     c) Check if VDEV is MLO STA VDEV or not.
     d) Is VDEV in connected state or not, that means
        VDEV is not in transitioning state due to disconnect.
     e) Check if any link switch in progress on this MLD
     f) Current link ID of VDEV equals the FW params.

If validation is successful, serialize the link switch
command and in the serialization activation start the
actual link switch process.

Change-Id: Ie582650541054c8cf39aaa8316e86a7a40256a15
CRs-Fixed: 3556422
2023-07-31 19:38:48 -07:00
Vignesh U
416c570033 qcacmn: Include opclass 80p80 in AFC request only if device supports
AFC request is sent for all the opclass supported in the global opclass
including 80p80. Not all the devices support 80p80 and so, it is
unnecessarily included in the AFC request.

Create a callback function in regulatory to check if 80p80 is supported by
the device. If the support is present then the AFC request can include
80p80 opclass (opclass number 135 in global operating class). If not, then
the AFC request excludes 80p80 opclass.

Include 80p80 opclass in the AFC request based on the devices' support.

Change-Id: I9e72c960fefe6fbdc106bb83fb240d84d8522b80
CRs-Fixed: 3538926
2023-07-27 08:32:09 -07:00
Subrat Mishra
e6b159369e qcacmn: Extract WMI ATF 512 Max client support from FW
Extract WMI Service bit for ATF 512 Max client support advertised by
Firmware as part of wmi service ready.

Add rxops functions as for upper modules to get it.

Change-Id: I51e8dcaad96bdd29eb6fd4c37b0917127696ede6
CRs-Fixed: 3551661
2023-07-10 18:04:07 -07:00
Subrat Mishra
5d85f97e90 qcacmn: Add north bound interface for ATF max client change
Add north bound interface to support increase ATF maximum client
changes.

Change-Id: I2a86cccc4834cb713b1c4a3624ae950ab9e02b3b
CRs-Fixed: 3503390
2023-07-08 11:11:35 -07:00
Prasanna JS
5f2fa5a090 qcacmn: Add target_if API to update SR threshold
Add target_if api to update SR threshold.

Change-Id: Ia2fd40a92598c772bb02998d938edb9b98ac253e
CRs-Fixed: 3374628
2023-07-03 12:53:54 -07:00
Himanshu Batra
be34bbe6fc qcacmn: Add support for ptqm migration
Add support for ptqm migration

Change-Id: I3f3d6e410bee554477e8e058b1da51f2af5abb23
CRs-Fixed: 3529926
2023-06-27 04:03:41 -07:00
Gururaj Pandurangi
2d67497cfb qcacmn: Add support to force power save the active MLO links
Add MLO manager and target interface support to force power
save on all the active MLO links for a defined number of
beacon periods. Force power save allows the firmware to
suspend STA links for X beacon periods and remain asleep
even if the AP advertises TIM as opposed to regular power
save mode where STA links wake up if the AP indicates that
it has buffered data to send.

Change-Id: Idb3ea42cfc2333a4b177780d09ddec6904ea0c16
CRs-Fixed: 3514468
2023-06-09 13:49:57 -07:00
Thirusenthil Kumaran J
6e4cdcf45c qcacmn: Support channel list update when afc_reg_no_action is set
In enterprise mode, when power event is received from Target, ACS is
not called and regulatory takes no action to AFC power event.
Hence, when host receives the event REG_AFC_EVENT_TIMER_EXPIRY with
subevent type SWITCH_TO_LPI or STOP_TX from FW as a response to payload
reset command from client application, the channel list is not updated
as 'afc_reg_no_action' is enabled.

To fix this issue and update the channel list, add reg txops to trigger
channel list update while processing REG_AFC_EVENT_TIMER_EXPIRY event
from FW when 'afc_reg_no_action' is set.

It is to be noted that 'afc_reg_no_action' should be set only in
enterprise mode.

Change-Id: I9ba2a0a0d0c4282895b3787943aca1dd45c199c3
CRs-Fixed: 3492604
2023-05-22 16:46:10 -07:00
Subrat Mishra
2214e091a8 qcacmn: Change ATF north bound function pointer name
Change ATF north bound function pointer name from atf_set to more
appropriate atf_send_peer_list.

Change-Id: Icd62a39548c58b47aa3f1de9db92dee100be3416
CRs-Fixed: 3490457
2023-05-20 08:37:57 -07:00
Surya Prakash Raajen
cb01519700 qcacmn: Trigger UMAC reset with mode1 SSR teardown
Add support to trigger UMAC reset with mode1 teardown request
for mode1 target recovery SSR.

Change-Id: Ib2d1679162a2084488081c76f6753287a6e4d5c4
CRs-Fixed: 3458369
2023-05-14 13:37:48 -07:00
Surya Prakash Raajen
8171e77523 qcacmn: Add recovery mode support in shared memory
Add api support to read the pointer to recovery mode in shared
memory, this pointer will store the if the mode recovered is
mode1 or mode0

Change-Id: I9e8dbd32c62dbb75d27d590a5013b4a9837fae24
CRs-Fixed: 3458369
2023-05-09 21:48:39 -07:00
Amruta Kulkarni
c16aa9d544 qcacmn: Add handling for mlo link disable event
Add code changes to handle new wmi_mlo_link_disable_event
Extract the wmi event params and store in host defined
structure.

Change-Id: I6893bfa4da7b27f4a9b1ce2936057bb3576a317c
CRs-Fixed: 3458680
2023-05-09 01:48:41 -07:00
Ripan Deuri
6bc59d4929 qcacmn: Add UMAC ID and LMAC tx ops for SAWF
Add UMAC ID and LMAC tx ops for SAWF.

Change-Id: I3ef2b8ec53ed891b94dd2f800415dd33f0de29e6
CRs-Fixed: 3479786
2023-05-03 02:24:27 -07:00
Naveen Gurujala
2467d81f7b Revert "qcacmn: Add target_if api to update SR threshold"
This reverts Change-Id: Idddfcfe55d28af2b122ac9260dc8388feec42d14

Change-Id: I4f79b0bcc223adfc776608d85156721eb80f9d21
CRs-Fixed: 3374628
2023-04-26 03:26:17 -07:00
Prabhu Dass Mahalingam
6cf82b42f0 Revert "qcacmn: Add UMAC ID and LMAC tx ops for SAWF"
This reverts Change-Id:	I1513c47989fb1e826fe030c043cd5e4f4382fb54

Change-Id: Ia07cb692704eb48261c9830ca5b3a0f01b67f61a
CRs-Fixed: 3472179
2023-04-25 12:07:03 -07:00
Linux Build Service Account
d6d961b525 Merge "qcacmn: Add UMAC ID and LMAC tx ops for SAWF" 2023-04-21 09:15:30 -07:00
Linux Build Service Account
fe4470547c Merge "qcacmn: Add target_if api to update SR threshold" 2023-04-21 09:15:27 -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
Ripan Deuri
403f01ef79 qcacmn: Add UMAC ID and LMAC tx ops for SAWF
Add UMAC ID and LMAC tx ops for SAWF.

Change-Id: I1513c47989fb1e826fe030c043cd5e4f4382fb54
CRs-Fixed: 3472179
2023-04-19 18:45:41 +05:30
Prasanna JS
c59bc65907 qcacmn: Add target_if api to update SR threshold
Add target_if api to update SR threshold. Previously
we were using WMA api's since it will be eventually
removed in future we moved the functionality to target_if

Change-Id: Idddfcfe55d28af2b122ac9260dc8388feec42d14
CRs-Fixed: 3374628
2023-04-06 01:55:21 -07:00
Aasir Rasheed
ca023bedc9 qcacmn: Register MLO get link state event handlers
Register and unregister the MLO get link state WMI event handler.

Change-Id: I7ac0a20949cc435907e433c279f14fd792415824
CRs-Fixed: 3432102
2023-04-01 09:15:27 -07:00
Rachit Kankane
f5820188d2 qcacmn: Trigger SAP / GO channel switch
Trigger SAP / GO channel switch on receiving
wmi_csa_ie_received_event_id from FW in STA + SAP / GO DFS SCC
concurrency.

Change-Id: Iff60dffb71b170f56c4fbee4e297b81b87632a2a
CRs-Fixed: 3431365
2023-03-27 09:23:01 -07:00
Surya Prakash Raajen
aad2e9bdb9 qcacmn: Re-init mlo global shmem in case of recovery
Re-init mlo global shmem region whenever in case of expected
target recovery mode. In case of mode1 recovery assert, need
complete teardown of mlo and clearing out global mlo shared
memory, when asserted SoC is recovered, re-init global shared
memory region again.

Change-Id: I475b08934bdceb78b87d115b79abf45e76633795
CRs-Fixed: 3390199
2023-03-23 00:14:31 -07:00
Himanshu Batra
21a548ada6 qcacmn: Rename WLAN_TELEMETRY_STATS_SUPPORT to WLAN_CONFIG_TELEMETRY_AGENT
Rename telemetry agent macro WLAN_TELEMETRY_STATS_SUPPORT to
WLAN_CONFIG_TELEMETRY_AGENT

Change-Id: I9b2feb33b32daf56e584ae04f260749c358c8ea4
CRs-Fixed: 3425567
2023-03-16 13:50:32 -07:00
Chaithanya Garrepalli
b57fbc13f4 qcacmn: Add umac callback to get MLO chip ID
Add new MLO mgr callback to return MLO chip ID

Change-Id: I214b600830991f846ded208b16ed2fb1407a5a28
CRs-Fixed: 3432589
2023-03-15 13:02:42 -07:00
Amith A
b9bdf95319 qcacmn: Add dispatcher & core APIs for rate2power update response handler
Add API reg_process_r2p_table_update_response to handle the event received
from target in response to rate2power table update cmd. Make a call to
end_r2p_table_update_wait from this API to end the wait timer triggered
for the update cmd. Add end_r2p_table_update_wait to
wlan_lmac_if_reg_tx_ops. Add a dispatcher
tgt_reg_process_r2p_table_update_response for this API and register it as
a rx_ops.

Add register and unregister APIs of rate2power table update response
handler to wlan_lmac_if_reg_tx_ops. Call the register API in
regulatory_psoc_open and unregister in regulatory_psoc_close. Define
struct r2p_table_update_status_obj and its members to receive the
response of rate2power table update cmd from target.

Change-Id: I6909e37620b94dc7fdcd3c7c0915a3fad8fa1cda
CRs-Fixed: 3405417
2023-02-28 00:43:04 -08:00
Subrat Mishra
19f2d80322 qcacmn: Add 160 MHz and 320 MHz BW support for Smart Antenna
Add 160 MHz and 320 MHz BW support for Smart Antenna.

Peer connect gets rate codes for all supported BW on connecting peer
as part of wmi_peer_ratecode_list_event. This changes add 320 MHz and
160 MHz BW support.

Change-Id: I715dd5a64c38114fef6e17c2e2f6a526e1a716c2
CRs-Fixed: 3381648
2023-02-27 20:54:01 -08:00
Edayilliam Jayadev
a0d45f3ac7 qcacmn: Add tgt APIs to schedule/cancel delivery of frames
Add tgt APIs to schedule/cancel the delivery of management
frames.

Change-Id: Id9b78f8819270f2eba143e9b19dc245eb925612c
CRs-Fixed: 3408594
2023-02-21 22:04:08 -08:00
Edayilliam Jayadev
f4f7014f11 qcacmn: Add target if APIs to schedule/cancel delivery of frames
Add target if APIs to schedule/cancel the delivery of management
frames..

CRs-Fixed: 3408279
Change-Id: I2063541648f3257994909fed63ce171fdc97b784
2023-02-21 22:02:37 -08:00
Mukul Dhiman
7b27742e7c qcacmn: add doc for stat_periodicity, telemetry stats etc
add doc for stat_periodicity, telemetry_stats. add modify
doc for ucfg_send_telemetry_cp_stats_request.

CRs-Fixed: 3387941
Change-Id: I40a7f7223717fa681978421d5d2b4a67018f77dd
2023-02-16 03:07:50 -08:00
Jianmin Zhu
a8fbfe3aae qcacmn: Enable dynamic puncture for DFS radar
1. Enable sub chan DFS type if QCA_DFS_BW_PUNCTURE defined, or all bonded
operation freq will be affected and disabled for nol, puncture can't work,
always need to switch freq.

2. Find nearest puncture pattern for a bitmap.
For example, SAP started with channel width 320 MHz, if only 20 MHz freq
affected by radar, 320 + 20 puncture pattern is invalid, but puncture
pattern 320 + 40 can be used.

3. Fix build issue when QCA_DFS_BW_PUNCTURE defined as following.
error: incompatible pointer types passing 'qdf_freq_t[16]' (aka
'unsigned int[16]') to parameter of type 'uint16_t *' (aka 'unsigned
short *')

Change-Id: I374ed76c6a13ef5fac1a78073f1b8974b0a9bb30
CRs-Fixed: 3386020
2023-02-07 11:32:35 -08:00
Jeff Johnson
08e20d47d6 qcacmn: Fix global_umac_dispatcher documentation
The kernel-doc script identified a large number of kernel-doc issues
in the umac/global_umac_dispatcher folder, so fix them.

Change-Id: I576614727dd2be174563c2af4bb055ebb05e61fd
CRs-Fixed: 3375263
2023-01-24 04:49:13 -08:00
Mukul Dhiman
b590809644 qcacmn: Add wmi support to get telemetry stats from FW
Add wmi support to get telemetry stats from FW.

Change-Id: I7aec4ff19dc0a23755f572d3bca32f8491c60a5b
CRs-Fixed: 3376707
2023-01-22 22:25:44 -08:00
Surya Prakash Raajen
6ef9d4cb8e qcacmn: Add multi group support for MGMT Rx Reordering
Add multi group support for MGMT Rx Re-ordering.

Change-Id: I2b172d1f0db58afee06db3eefc06b618fcf9a627
CRs-Fixed: 3343170
2023-01-05 22:32:57 -08:00
Surya Prakash Raajen
93d7b3fc1a qcacmn: Add support for multi group in global memory region
Add support for multi group in global shared memory region.

Change-Id: Ib8920f9180b3ba50f3f8faf0d9b020abfd0bc150
CRs-Fixed: 3343170
2023-01-05 22:32:37 -08:00
Vijay Raj
2413e83ebd qcacmn: Add event response for green ap low latency pwer save mode
Add low latency power save mode event response for xpan
profile.

Change-Id: If3271c8a0ed649cd04b9060060706de9ec5764c1
CRs-Fixed: 3267486
2022-12-26 03:24:24 -08:00
Vijay Raj
f0578f5bdb qcacmn: Add ucfg and wmi changes for green ap low latency ps mode
Add ucfg and wmi changes to support for green ap low latency
power mode enable/disable command.

Change-Id: Ib9112e384c8354f1eff0f15610301225d51ef3ac
CRs-Fixed: 3265649
2022-12-26 03:24:14 -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
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
Amruta Kulkarni
8759cf1c1e qcacmn: Add support for T2LM timer handling
Adds api's to handle t2lm timer functionality.
Api's added are timer initialize, start, stop, expiry handler.

Change-Id: If52453135921067d04f8349ece64c33cd524af00
CRs-Fixed: 3342822
2022-12-08 11:01:09 -08:00