Commit Graph

44 Commits

Author SHA1 Message Date
Santosh Anbu
99028d078d qcacmn: Support multivdev restart response handling
Add TGT_IF change to support consolidated multi vdev restart
response handling.

Change-Id: I8d507dda8f39d36102a7aa7a7baf425335097047
CRs-Fixed: 2595769
2020-01-17 01:21:57 -08:00
Naga
cb4e5140f4 qcacmn: Fix WMI event registration context
Fix WMI event registration context for peer
delete all event.

Change-Id: I310c5f4f0ea1d52d7d02adbbf22c70322c1bb1ea
CRs-Fixed: 2597430
2020-01-12 22:29:50 -08:00
Akshay Kosigi
28d1d127aa qcacmn: Use correct vdev_id to fetch the vdev_rsp timer info
Fetch correct vdev_rsp timer info in case of multivdev restart case
using the right vdev_id.

Change-Id: I0d9cbb886ffcc66ada354e6db2b084beb2417bcb
2019-12-13 01:59:55 -08:00
Akshay Kosigi
71d3820a97 qcacmn: Move vdev_mlme timers to psoc_mlme
Add code to change the vdev_mlme timers to psoc_mlme timers
and also change code to send vdev_delete to FW while physical
destruction of vdev obj.

Change-Id: Ie041182155c75d0cc3825dc97b26abc6be38d76c
CRs-Fixed: 2563931
2019-12-05 11:50:53 +05:30
Arun Kumar Khandavalli
eaac8c195b qcacmn: Move wakelock to psoc level
Wakelock is system level lock not required to be taken
for every vdev, Hence move the wakelock to the psoc
hierarchy.

Change-Id: I525baf5f4b5dcadb493d84900dbd0a2e7c6407f6
CRs-Fixed: 2563406
2019-12-05 10:46:33 +05:30
Arun Kumar Khandavalli
614d1e4476 qcacmn: create the vdev response timers in psoc_mlme
Move the vdev response timer from the vdev object manager structure
to the psoc mlme structure.

Change-Id: Ieb87ac6549aa23e0beb61441fea459d3db78c2f3
CRs-Fixed: 2563410
2019-12-05 10:45:08 +05:30
Liangwei Dong
49472056b2 qcacmn: Enable Fils Discovery frame sending in 6GHz SAP
To enhance visibility of 6GHz AP, 6G only AP shall send
Fils Discovery frame periodically in one beacon interval.

Change-Id: I51487380fca10418d2260dc2612e2adcf6cbb93b
CRs-Fixed: 2562434
2019-12-02 05:22:42 -08:00
Jianmin Zhu
7ec8548fe6 qcacmn: Fix uninitialized parameters in cmn
fix uninitialized parameters in cmn

Change-Id: Ice6e9ab0a337de04a693615c607f0d5c4019defe
CRs-Fixed: 2559018
2019-11-17 01:39:35 -08:00
Jianmin Zhu
367c36003b qcacmn: Handle vdev start stop delete event in mc thread
vdev start/stop/delete event need be handled in mc thread to
avoid race condition issue.

Change vdev start/stop/delete event handler as static

Change-Id: I360c3b34a18c41c506179225168d3bb490fc8823
CRs-Fixed: 2554731
2019-11-01 08:17:42 -07:00
Aditya Sathish
fbf9ece75d qcacmn: Rename TX_DECAP_TYPE to TX_ENCAP_TYPE
The macros attributing the Tx encap type have been erroneously
named as TX decap.

Rename all occurences of TX_DECAP_* to TX_ENCAP_*. Also add support
to send WMI vdev params for tx_encap and rx_decap values.

CRs-Fixed: 2533710
Change-Id: Id6ef2955868010b264e76d2a416d22d30d2acedc
2019-10-10 22:59:18 -07:00
Abhishek Ambure
f1feeae916 qcacmn: Flush target_if response timers for vdev
Flush target_if response timers for vdev for given psoc. This API
used to flush target_if response timers for vdev while wlan driver
shutdown.

Change-Id: I1700893cdf0b0eb9d3419505c88c71fc86da0dab
CRs-Fixed: 2529284
2019-09-27 05:20:33 -07:00
Jianmin Zhu
ce7b04766e qcacmn: Don't set vdev packet type when vdev up
Vdev decap/encap type has been set when vdev create, don't need
set again when vdev up.

Vdev mlme mgmt.generic.rx_decap_type isn't initialized, can't be
used to set vdev decap type.

Add tgt_vdev_mgr_set_tx_rx_decap_type to set vdev tx/rx cap/decap
type by wlan_util_vdev_mlme_set_param.

Change-Id: If487a890eafd0e4e5e6cda31c22d459e342770de
CRs-Fixed: 2516997
2019-09-06 23:40:50 -07:00
Naga
f01c83d57e qcacmn: Avoid host panic on vdev request timeout
Avoid host panic on vdev request timeout when target
assert is triggered and trigger target assert using
RECOVERY_SIM_ASSERT, else host panic is not allowing
target dump in lithium case.

Change-Id: I32c2de358ec8839ad7a522c31dd359436ba16d08
CRs-Fixed: 2515401
2019-09-04 11:30:54 -07:00
Jianmin Zhu
eb1cc95361 qcacmn: Set target if vdev start resp handler as public
Set target if vdev start resp handle as public to be registered
when wma open.
Remove wma_remove_vdev_req in ocb, don't use wma vdev cmd queue
and timer.

Change-Id: I2cd48ddd700ed1cde34231c22c02e0e54d4df5e3
CRs-Fixed: 2516536
2019-08-30 02:27:59 -07:00
Abhishek Ambure
47e709a62b qcacmn: Move vdev resp timer to scheduler context for MCL
For MCL, vdev manager resp timer callback should be called in scheduler
context. Hence vdev manager response timer callback code is refactored.

To handle vdev response timer, MCL specific change is to post message to
scheduler thread and handle timer callback in scheduler thread. This MCL
specific change is protected using "SERIALIZE_VDEV_RESP_TIMER" macro.

Change-Id: I4c5a24cd4c8afba92e407fc229a9d2c295cecb57
CRs-Fixed: 2507577
2019-08-16 10:48:43 -07:00
Abhishek Ambure
c367e06da5 qcacmn: Enable target_if common code for vdev stop
As vdev conversion is done in phases, so vdev stop response
handler for target_if is made global. To process vdev stop
response tlv extraction API is registered to WMI tlv_ops.

Change-Id: Ib00f7339330e69d6103a175611df7b59c01faad0
CRs-Fixed: 2506500
2019-08-12 02:45:19 -07:00
Abhishek Ambure
c76db37021 qcacmn: Clean up CMN_VDEV_MGR_TGT_IF_ENABLE
WIN and MCL both uses common targer_if code for vdev manager.
So legacy code and "CMN_VDEV_MGR_TGT_IF_ENABLE" macro is removed.

Change-Id: I2984ae44f3a7cfa01b8f1455353d09deb4db5759
CRs-Fixed: 2503804
2019-08-11 10:38:20 -07:00
Naga
004bb25c0b qcacmn: Add support for self recovery in target_if
Add support to trigger self recovery in case
of vdev request timeout, as when host is asserted
fw dumps are not collected

Change-Id: I534ada61b114f5b96ecfae1ff27d692ee496edba
CRs-Fixed: 2496796
2019-08-08 12:52:15 -07:00
Gurumoorthi Gnanasambandhan
80e1ae17a6 qcacmn: Enable/Disable multi group key support
Support to Enable/Disable multi group key and configure
maximum number of group keys.

Change-Id: Ie6ce2a38d0ad04a47f966fc281f35a8af7125447
CRs-Fixed: 2490599
2019-08-06 10:31:49 -07:00
Naga
91449253d8 qcacmn: Add support to simulate fw response from target_if
Add support to simulate fw response and release ref
from target_if request timeout handler for every case
of timeout, but do panic or inject fw crash when
system is not in recovery or fw down or driver unload state.

Change-Id: I5c94df59319a901d9cfd89bd42b96118e9e641bb
CRs-Fixed: 2501920
2019-08-06 02:48:56 -07:00
Abhishek Ambure
21ff0a53bf qcacmn: Common code changes for VDEV conversion
This change is required by MCL for VDEV conversion. This change
adds target_if all common code.

Change-Id: If43cbbe12c9b4a2bc7fc46ff01f24a2fb6fda09e
CRs-Fixed: 2460791
2019-08-05 07:50:05 -07:00
Naga
bf48fb69ac qcacmn: Add support to print vdev req/resp string
Add support to print vdev req/resp string
on target_if timer start conflict and timer
timeout handler

Change-Id: I0116c03089f4ab80623596bb9e8d0268efb0dd87
CRs-Fixed: 2495018
2019-07-29 02:22:54 -07:00
Naga
8d8b66b40d qcacmn: Fix bit value to stop target_if timer
Fix bit value to stop target_if timer when
start is attempted for same which is already
in execution.

Change-Id: I0d299719d865d92cd5515de4d0441dd215f0aecf
CRs-Fixed: 2494428
2019-07-24 17:09:58 -07:00
Abhishek Ambure
6825cfe7fe qcacmn: Move rsp timer stop logic from tgt to target if
Currently vdev response start timer logic is in
target_if layer and stop timer logic is in tgt
layer which is asymmetry.

So, move stop timer logic from tgt layer to
target_if layer for vdev start, stop and delete.

Change-Id: Ia06e2e6d90cf9c4366d654e016e2eeab8c2a0719
CRs-Fixed: 2442199
2019-07-19 20:40:38 -07:00
Naga
52beb2c087 qcacmn: Add target_if/mlme support for vdev delete all peer
Add target_if/mlme support for vdev delete all
peer request which will replace individual peer
delete of peers under a vdev during vdev down.

Change-Id: Ic9aadefefe26bcdcd38bb5a28be712e3c5e2963a
CRs-Fixed: 2456858
2019-07-05 10:26:40 -07:00
Naga
f69b80a563 qcacmn: Add support for target_if timer restart
Add support for target_if timer restart when
vdev mgmt ops request is queued though the intended
response corresponding to request is not yet received.

Change-Id: I08e474ac66a0c399a93ffbc4a24aab78084072d2
CRs-Fixed: 2463180
2019-06-21 13:40:24 -07:00
sandeep puligilla
370e41c760 qcacmn: Create vdev rsp wakelock api in target if
Currently, wakelock apis are in wma. Create vdev resp wakelock apis
in target_if. Plan is to remove it latter from wma.

Change-Id: Ib410ee2404751544db2f291b466ff0d6ff248e8f
CRs-Fixed: 2441245
2019-06-17 11:45:04 -07:00
Akshay Kosigi
2a2a8afda4 qcacmn: Add change to restart target if timer
Add code to restart timer for a new vdev command being sent to FW,
while we are awaiting for a response from FW for a previous command.

Change-Id: I1847968831cca6b0ee1e49d32b83196061341702
CRs-Fixed: 2450682
2019-05-16 14:46:39 -07:00
Naga
f1313ba77e qcacmn: Add change to avoid sending wmi cmd
Add change to avoid send wmi command in case
of vdev start, multi vdev restart, stop and delete
when vdev_mlme object is NULL.

Change-Id: Iaa3d3f56fb9caf37b933f029c57311edef0281b4
CRs-Fixed: 2443599
2019-05-15 05:47:17 -07:00
Akshay Kosigi
4a994eff88 qcacmn: Add change to send target if response to HOST
Add code to enable sending target_if vdev response to host,
if FW fails to send response within expiry time.
Move timer free functionality to vdev destroy path so as
to make the system not to go into deadlock

Change-Id: I72bdecf2502a755ffc09414f8b72d230bf9c559f
Crs-Fixed: 2449238
2019-05-14 23:57:56 -07:00
Naga
35fa197776 qcacmn: Add change to remove setting txbf
Add change to remove setting txbf irrespective
of opmode before sending vdev up cmd

Change-Id: Ic5b604fb34456203f1afda759ab81595ef1ccd04
CRs-Fixed: 2446756
2019-05-08 04:47:12 -07:00
Akshay Kosigi
3d91d4d32c qcacmn: Add mgmt tx rate code to send to FW
Add a new mgmt tx rate code id to send mgmt rate code to fw

Change-Id: If294982bae5c273c085d1b9bf46f3ad53db60b93
CRs-Fixed: 2428713
2019-04-08 17:43:46 -07:00
Akshay Kosigi
8ca3339524 qcacmn: Add beacon tx rate code to send to FW
Add a new beacon tx rate code id to send rate code to fw instead of
sending beacon tx rate

Change-Id: I8cfe6024b9adf4b25c8686e837c94b86dddceab5
CRs-Fixed: 2428706
2019-04-08 17:43:42 -07:00
Akshay Kosigi
aeaa258b54 qcacmn: Change to remove WMI dependency from mlme component
Replace WMI references in mlme component with wlan_mlme macros.

Change-Id: I7fcd241581972674e19e088c44409d7a5f6ebf58
CRs-Fixed: 2414375
2019-04-06 11:36:09 -07:00
Akshay Kosigi
09b50e625d qcacmn: Add psoc id value to debug prints vdev mlme timer APIs
Add psoc id value for the debug prints of, error handling vdev mlme timer
APIs

Change-Id: I7d225114e91ff4b6f898450ca3ef7d2e21be631a
CRs-Fixed: 2427905
2019-04-05 18:45:44 -07:00
Naga
df242752b2 qcacmn: Add TxBF caps in target_if/mlme
Add change to frame TxBF caps from vht_info
in target_if and send to FW

CRs-Fixed: 2412867
Change-Id: Ibc26b96cad2a5e72eb293f5a5d6847f19122ea0f
2019-04-03 15:45:05 -07:00
Akshay Kosigi
ce1e21c209 qcacmn: Add change to send listen interval value to FW
Add code to support host sending listen interval value to FW

Change-Id: Ibd0134f5045ab289065214e6485f2dd261abf4a3
CRs-Fixed: 2419185
2019-03-20 22:10:40 -07:00
Akshay Kosigi
c5d48d06c6 qcacmn: Add code to send correct AMDPU command to FW
Change to send correct WMI command for AMPDU configurations.

Change-Id: Ic139bd088996389227e4493e053436b0d4f38586
CRs-Fixed: 2415352
2019-03-19 02:24:52 -07:00
Santosh Anbu
ab422a470b qcacmn: Fix sending of txbf caps to FW
Add change to avoid resetting txbf caps by setting SU_BFEE param.

Change-Id: Ib0de197829454923ef349a020c8ef515658e6e56
CRs-Fixed: 2410130
2019-03-07 02:01:56 -08:00
Naga
0891ef366c qcacmn: Use wmi_service_enabled to check for service
Add change to use wmi_service_enabled for
wmi_service_sync_delete_cmds instead of using
chipset specific name in target_if

Change QDG_BUG to QDF_DEBUG_PANIC in target_if
vdev response expiry handler.

Change-Id: Ie0f3de2a043198e5aaf5a11add3b8e13b6a47812
CRs-Fixed: 2407877
2019-03-04 08:52:01 -08:00
Santosh Anbu
3e67f9aa15 qcacmn: Fix typo in conditional check
Add change to fix typo on a conditional check.

Change-Id: I5928ed07f6bca18e2f6266b658365fd5317de31b
CRs-Fixed: 2404622
2019-02-26 11:30:16 -08:00
Naga
7dd88340fe qcacmn: Enhance and update target_if/mlme/vdev_mgr
Enhance target_if/mlme/vdev_mgr by addressing
review comments and update response handling
APIs to handler timers and response bit maps
as expected

Change-Id: I8a5bf3f2931f0c36a367dfebfc898ed2621f3516
CRs-Fixed: 2397184
2019-02-24 20:04:45 -08:00
Akshay Kosigi
1726ae21c5 qcacmn: Add API to update cmn vdev mlme structures
Add API to update cmn vdev mlme structures,
with the addition of new members to the new mlme
vdev structure,new api's are required to update
those members which will be subsequently used the
new mlme target if layer to send commands to the firmware

Change-Id: I9618613c0ad00f78003cd32951b30b631934ba71
2019-02-24 20:04:41 -08:00
Naga
f3a70cea4e qcacmn: Add target_if/mlme/vdev_mgr for vdev mgmt ops
Add target_if/mlme/vdev_mgr to handle vdev
mgmt related ops inorder to send corresponding
requests to WMI and processing response events
and Tx callbacks are introduced in MLME LMAC
Tx Ops structure which are initialized from
target_if main.

Change-Id: I9d02b17fdb04757d7dc523dd41e409c0fb1e5edf
CRs-Fixed: 2383346
2019-02-05 06:29:48 -08:00