Commit Graph

44 Commits

Author SHA1 Message Date
Rhythm Patwa
c5068e341f qcacmn: Add support to offload FILS Discovery to FW
Construct the FILS Discovery frame template and send
template to FW.

Change-Id: I1052b9b8240ea9461e19bb70887b49aabffc4e05
2019-10-16 21:54:34 -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
Rakesh Pillai
01b9b680fc qcacmn: Avoid REO destination change when IPA enabled in P2P mode
In cases where one of the interfaces is a P2P-GO and
IPA has been enabled, the P2P connection establishment
fails.

When IPA is enabled, the REO destination is changed to REO4
which can be reaped only by IPA module. But in case of P2P-GO
interface in operation, this change in configuration causes
all the RX packets to be stalled due to incorrect REO configuration.

Hence, to avoid this case, do not change the REO dest config
when the interface subtype is P2P.

CRs-Fixed: 2498315
Change-Id: Ie9f01c3b353c7c0503e1541d6c79c2f47c9782f3
2019-10-10 13:43:37 -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
Priyadarshnee S
c76f68bf02 qcacmn: Add a START RESPONSE failure status eventid
Add WLAN_MLME_HOST_VDEV_START_CHAN_INVALID_REGDOMAIN and
WLAN_MLME_HOST_VDEV_START_CHAN_INVALID_BAND event in host enum
wlan_mlme_host_vdev_start_status. This corresponds to the event id
WMI_VDEV_START_RESPONSE_INVALID_REGDOMAIN and
WMI_VDEV_START_RESPONSE_INVALID_BAND sent by FW.

WMI_VDEV_START_RESPONSE_INVALID_REGDOMAIN is sent if there is a mismatch
between host and FW dfsdomain.
WMI_VDEV_START_RESPONSE_INVALID_BAND is sent if the channel sent by
host in VDEV START is not in the supported band by the current HW Mode.

CRs-Fixed: 2514884
Change-Id: I6126cb9bf29b80ae5728e5e5a4018891510cc41a
2019-09-06 06:23:07 -07:00
Abhishek Singh
22911578a1 qcacmn: Fix WMI timeout for runtime PM
For runtime PM if the bus is suspended driver need to consider
extra PMO_RESUME_TIMEOUT time for bus resume.

Thus add PMO_RESUME_TIMEOUT extra in WMI timeouts if runtime PM
is supported.

Change-Id: Ifda596626ba39a894bebcb20fcfc2018012b0b54
CRs-fixed: 2513791
2019-08-24 04:23:53 -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
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
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
Himanshu Batra
1b60b56578 qcacmn: Replace void * data members of mlme with specific type
Replace mlme void * data members having different types across
different drivers with specific type.

Change-Id: I4343800e836c8ae0996c19b39a420b314e465a75
CRs-Fixed: 2477457
2019-07-27 18:21:29 -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
3998909959 qcacmn: Add MLME support for vdev delete all peer
Add umac/mlme support for vdev delete all
peer request which will replace individual peer
delete of peers under a vdev during vdev down.

Change-Id: I6afdfae619fce361acd60705fe2d7ad888a8e33e
CRs-Fixed: 2456858
2019-06-30 12:22:20 -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
Nirav Shah
05e77685a6 qcacmn: Add API to check vdev is in INIT state or not
Add API to check vdev mlme state is in INIT state
or not.

Change-Id: I86a919331d674f1defd896d5b8ae93a87a0a9376
CRs-Fixed: 2459908
2019-05-28 03:46:52 -07:00
Abhishek Singh
3b2666f1a5 qcacmn: Cleanup VDEV SM related flags and unused code
Legacy code for VDEV_SM is no more used, thus clean up flags
CMN_VDEV_MLME_SM_ENABLE and CMN_VDEV_MLME_CMPT_ENABLE.

Change-Id: I4f7b1099d4929f6250b1868c53b73d7c235a9c22
CRs-Fixed: 2457270
2019-05-24 06:42:20 -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
Abhiram Jogadenu
f404593b7c qcacmn: Increase response timer timeouts
Increase response timer timeout for Vdev delete response and
Vdev stop response as these take longer when KASAN is enabled.
Value is being increased from 2 secs to 3 secs after it passed
wifi up/down, load/unload for a period of ~10hrs.

Change-Id: I1884370bbc214683a238d0028c4fc26bba6c2ccb
CRs-Fixed: 2441815
2019-04-27 04:22:32 -07:00
Santosh Anbu
71b514664e qcacmn: Add debug logs for invalid response
Add change to print logs on return due to invalid response value

Change-Id: I4ca843375b95195f4e418540f895316affed17f4
CRs-Fixed: 2408750
2019-04-19 04:09:00 -07:00
Akshay Kosigi
e761764291 qcacmn: Add correct vdev id while sending vdev param to FW
Add vdev id into vdev_set_param structure for sending
        WLAN_MLME_CFG_MIN_IDLE_INACTIVE_TIME
        WLAN_MLME_CFG_MAX_IDLE_INACTIVE_TIME
        WLAN_MLME_CFG_MAX_UNRESPONSIVE_INACTIVE_TIME
timeout values to FW during vdev create complete

Change-Id: I891a683ee270f057a9d02c47019e2297c43596f5
CRs-Fixed: 2419117
2019-04-19 01:57:05 -07:00
Naga
9dad9767b1 qcacmn: Cleanup duplicate fields in vdev_mlme
Add change to cleanup duplicate fields of
of vdev_mlme, which are also in mlme_channel_param
and their dependencies while updating
vdev_start_param. Cleanup unused mlme_cfg_ids.

Change-Id: Ie32971283a337f04692c0c0bc7f41fff75c090c3
CRs-Fixed: 2407953
2019-04-11 01:14:21 -07:00
Naga
613a74a6cf qcacmn: Add change to send custom AMPDU/AMSDU aggr size
Add change to support sending AMPDU/AMSDU custom aggregation
size to FW using converged MLME and target_if framework.

Change-Id: Icf665e3bf30c5ef5903342264e89776611c7774a
CRs-Fixed: 2430278
2019-04-10 05:27:02 -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
d3f552ff90 qcacmn: Fix the typo for PROFILE_IDX
Fix the typo for PROFILE_IDX and also add WMI macros
for short slot time update under MLME.

Change-Id: I3c09a7f01029af0f075086166be1c85bd1d7de34
CRs-Fixed: 2412160
2019-04-06 11:36:05 -07:00
Akshay Kosigi
a178724b30 qcacmn: Add new API to set ratemask config
Introduce new API to set ratemask configuration value and also send it
to FW

Change-Id: Iba236500a896c6f4893f506511483bde98072368
CRs-Fixed: 2415610
2019-04-05 17:21:49 -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
658d712ace qcacmn: Add code to send rate mask info to FW
Add support to send rate mask information to FW using utils API

Change-Id: Ibb62e4f92b0c3e656cc11ae941c58723a43fbf12
2019-03-18 13:07:21 -07:00
Akshay Kosigi
3e7e01e645 qcacmn: Add change to send beacon rate to FW
Add support for sending beacon tx rate to FW when we are creating an
interface

Change-Id: Id48a545f154af4139541ab347eec4ce5c91c278d
CRs-Fixed: 2413314
2019-03-14 19:27:47 -07:00
Akshay Kosigi
ce7a81cbed qcacmn: Move deletion of datapath vdev to vdev destroy handler
Move dp vdev detach flow to vdev destroy handler from vdev delete
sequence.

Change-Id: I727d70e77f8e913ca732b6ae56c60049161547de
2019-03-14 13:01:32 -07: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
Srinivas Pitla
8d19efa7c2 qcacmn: Optimize VDEV MLME SM prints
Reduced VDEV SM debug level, and added prints for state abd substates at
event handling API

Change-Id: I3076c590131581a8728548592e0a9b4e66db377e
CRs-Fixed: 2394012
2019-02-23 11:06:11 -08:00
Naga
916a4b1e96 qcacmn: Add mlme/vdev_mgr support for vdev mgmt ops
Add support in mlme vdev_mgr to update
data structures corresponding to vdev mgmt
ops as expected by WMI and send the same to
target_if/mlme/vdev_mgr for sending to WMI.

Core MLME data structures in wlan_vdev_mlme.h
will be updated through provided ucfg APIs
which are used in updated vdev mgmt ops
data structures.

Change-Id: Ic6fc03bcb817c9f2f2724a9591b76656840903ba
CRs-Fixed: 2383346
2019-02-05 06:29:43 -08:00
Srinivas Pitla
39a9222d27 qcacmn: VDEV MLME SM changes
1) Fixes to enable VDEV MLME SM with legacy code
2) Define/Enable PDEV MLME component object.

Change-Id: Ieb87e5b7b70d6bb593ba0950297894a81c6a4feb
CRs-Fixed: 2384173
2019-01-26 19:58:58 -08:00
Srinivas Pitla
1ff074ce30 qcacmn: Add support for scan and MLME synchronization
Reject scan request, if any VDEV is in START/DFS_CAC/SUSPEND states.

Change-Id: I1047ba510df5ae5debd1e3d5c8a064a57af65fbf
CRs-Fixed: 2384163
2019-01-24 09:59:14 -08:00
Srinivas Pitla
0b50f1289c qcacmn: Add lock for MLME command queuing to Serialization
MLME commands need to be queued back to back in few scnearios,
added lock to avoid interleaving between commands queueing.

Change-Id: If34aee5849938cbd76183af971ea058ce63505ee
CRs-Fixed: 2384147
2019-01-21 17:12:44 -08:00
Srinivas Pitla
d3a3c544bf qcacmn: VDEV MLME component changes
1) replace legacy string with ext
2) Added new compile CMN_VDEV_MLME_CMPT_ENABLE macro for
   VDEV MLME component

Change-Id: I75fc7cbae9c437d60e666f0c188fb63e98fdac3b
CRs-Fixed: 2307722
2018-12-06 10:28:06 -08:00
Abhishek Singh
97d6a98c03 qcacmn: Fix compilation error in vdev state machine
Fix the compilation error in vdev state machine and make state
transition logs from debug to info.

Change-Id: I7d7975931232f041206bdb64c639456bf9327b3f
CRs-Fixed: 2321726
2018-09-27 18:54:20 -07:00
Srinivas Pitla
90713473d1 qcacmn: Implement VDEV MLME State machine
This change implement VDEV MLME State machine based on design,
and handles valid events in each state and invokes legacy callback
APIs to perform state specific operations

Change-Id: I38a11778cba31276c720bc13c085ade60b1fb0c4
CRs-Fixed: 2307722
2018-09-14 08:16:51 -07:00
Srinivas Pitla
be8dac4d5d qcacmn: Define VDEV MLME component object
This change defines VDEV MLME object, and registers with object manager to
be notified on creation/destroy, and also initializes MLME SM

Change-Id: I75bb7de7326e4bbed21ef9653427c4e0694c3ffc
CRs-Fixed: 2307722
2018-09-14 08:16:48 -07:00