Commit Graph

27 Commits

Author SHA1 Message Date
Asutosh Mohapatra
33482ff25b qcacld-3.0: Fill flexible TWT feature info in twt_feature_set
With this change - I9f8b4186753ec9d446399be9e1cfc03a63a17391
code to fill flexible TWT feature info in twt_feature_set
was removed, as a result host fails to update flexible TWT
feature to fw as part of feature set query.

To address this issue, bring back the code to fill
flexible TWT feature info in to twt_feature_set.

Change-Id: Ia669992c92a02a909d5b64925b903bdef7fc1baa
CRs-Fixed: 3594895
2023-11-03 10:03:58 -07:00
Yu Ouyang
04fb2cea19 qcacld-3.0: Fix compile issue
If WLAN_SUPPORT_TWT or WLAN_TWT_CONV_SUPPORTED not defined, FEATURE_SET
is defined, function wlan_twt_get_feature_info() will be called by
wma_set_feature_set_info(). However wlan_twt_get_feature_info() is not
declaration.

Change-Id: I31b1e5c6520adf4dc495356d45fc89f481c9962e
CRs-Fixed: 3637229
2023-10-23 15:54:34 -07:00
Vinod Kumar Myadam
5db1e4740c qcacld-3.0: Add support for INI twt_disable_info
Add support for INI twt_disable_info to disable FW initiated
information frame for TWT

Change-Id: I06fe9be364d9def0ccfffc196ae31dcc2ab9a500
CRs-Fixed: 3621241
2023-10-04 22:02:37 -07:00
Deeksha Gupta
6e303e37aa qcacld-3.0: Add retries to TWT DEL dialog cmd during ps mode
If power save disable command commes, implicitly driver
teardown the existing TWT session by sending out
TWT_DEL_DIALOG command to fw. In firmware if
command fails due to firmware scan_in_progress or
chan_switch_in_progress then driver should retries
TWT_DEL_DIALOG implicitly.

In driver, add retries logic to the twt del dialog command in
case of power save disable.

CRs-Fixed: 3584286
Change-Id: I71299ea8239f33d194d2b55499f2d8e5946c42ba
2023-09-05 23:41:17 -07:00
Aasir Rasheed
cc9e1cf08f qcacld-3.0: Add check to prevent TWT CMD during suspend
Flush TWT commands when cfg80211 suspend is in progress
and schedule them for execution when cfg80211 resumes.
This prevents WMI from crashing due to concurrent
WMI_WOW_ENABLE_CMDID and twt requester enable commands
during suspend.

Change-Id: I505b789805d8a83564bf25d3f6c5c28d6d390966
CRs-Fixed: 3567817
2023-08-13 23:57:54 -07:00
Jyoti Kumari
3eec9dc69b qcacld-3.0: Don't populate twt_res bit for non assoc link
In MLO STA case, even though twt_responder ini is disable but
still this bit is getting populated in he_cap for non assoc link.
Reason:
1. twt_res is getting set from populate_dot11f_twt_he_cap()
for assoc link. For non assoc link, it's getting set from
mac context.
2. populate_dot11f_twt_he_cap() api doesn't have the interseted
value of ini and firmware caps according to twt component api.

As part of fix,
1. twt_req and twt_res should have intersected value in
populate_dot11f_twt_he_cap()
2. Update twt_res from populate_dot11f_twt_he_cap() for non
assoc link also as it will update the intersection of ini and
fw caps

Change-Id: I6ef34723f879aead4517c28cf6cfad2fa11165fe
CRs-Fixed: 3524903
2023-06-15 21:23:32 -07:00
David Oladunjoye
a89ab838b2 qcacld-3.0: r-TWT related changes
Need to add support for rTWT feature in host. Host needs to define rTWT
ini, and set rTWT bit in EHT Cap. rTWT ini will allow users to
enable/disable rTWT feature. We define rTWT ini and function to get ini
value. EHT Cap  will advertise rTWT support to peer. To populate EHT Cap
we must validate rTWT is supported in driver. To do this, we check rTWT
and bTWT params.

Changes are as follows.
1) Define rTWT ini
2) Get rTWT ini value
3) Get rTWT support
4) Set rTWT bit in EHT Cap

Change-Id: Id5676c6b7c3d4f48a0010f2e9ae369d9dfa710e9
CRs-Fixed: 3446652
2023-04-19 22:12:00 -07:00
David Oladunjoye
73687ef87e qcacld-3.0: Replace obsolete TWT function
Obsolete TWT functions are still called in driver. As part of
removal, Remove these functions and use component function.

Change-Id: I9f8b4186753ec9d446399be9e1cfc03a63a17391
CRs-Fixed: 3294868
2023-03-29 19:55:06 -07:00
Nirav Shah
2e86058c4a qcacld-3.0: Handle twt renegotiation failure scenario
Handle twt renegotiation failure scenario when there is
error reported by firmware as part of
wmi_twt_ack_complete_event_id event.

Change-Id: I91e4bfd8f08ae81b474354c90ab8c770dcdfe19b
CRs-Fixed: 3297783
2022-10-17 03:02:15 -07:00
Pragaspathi Thilagaraj
134dc39a2c qcacld-3.0: Change the default value of "twt_responder" ini
Disable "twt_responder" ini by default. TWT responder
configuration comes from hostapd.

Change-Id: Id094a72f70e71bac23295221dc6d12c2e7685803
CRs-Fixed: 3298565
2022-09-29 07:41:30 -07:00
Pragaspathi Thilagaraj
177ccb0f9e qcacld-3.0: Check the TWT responder capability before enable
TWT responder should be enabled based on the hostapd
configuration and self capability.
But when SAP is started, the TWT concurrency work is
scheduled and its enabling the TWT responder without
checking the hostapd configuration. This causes TWT
responder to be enabled even though the hostapd configuration
disables the responder.

Check the TWT responder configuration from TWT component before
sending enable command for TWT responder

Change-Id: Ia6755299421f00b2a1a69fc2e19fac3d39ab95f6
CRs-Fixed: 3291939
2022-09-22 19:18:24 -07:00
Ashish Kumar Dhanotiya
2490a83a25 qcacld-3.0: Add support to get feature set info
Based on the new requirement, add support to get requested
feature set info from different feature components.

Change-Id: I1bfc097c8ae8c4ab678d4dc07b7932cf3272d851
CRs-Fixed: 3262868
2022-08-12 18:55:15 -07:00
Jianmin Zhu
ab5022192c qcacld-3.0: Fix issue uapsd AC is 0 when set enable_twt 0
After WLAN_TWT_CONV_SUPPORTED enabled, TWT variables are moved from
COMP_MLME to COMP_TWT, APIs are updated too, hdd_update_tgt_twt_cap
just intersects enable_twt and twt_requestor of COMP_TWT instead of
COMP_MLME, legacy variable mlme_cfg->he_caps.dot11_he_cap.twt_request
isn't controlled by ini enable_twt now.

Change-Id: I71bb09704fd96591f37019ebbb77733cff04af25
CRs-Fixed: 3229121
2022-07-07 14:24:16 -07:00
Jyoti Kumari
72c3404391 qcacld-3.0: Handle TWT renegotiation failure case
Generally below process should happen in renegotiation failure
case.
1. TWT setup (successful)
2. TWT setup (renegotiation failure)
3. TWT teardown
4. TWT GET STATUS - 0(dialog ID) 0 0 0
5. TWT setup - successful

Since all WMI TWT events gets executed in WMI thread. So when
renegotiation failure case hits, driver sends TWT
teardown to firmware and waits for twt ack in worker thread.
In same worker thread TWT event needs to be processed.
TWT ack event will not process as it's waiting in same worker
thread and it will get timedout.

As part of fix, break the context in renegotiation and
send the teardown in the new worker context.

Change-Id: I13c8d44d6582e39d1cc2c2aa10a500fffbf150b1
CRs-Fixed: 3204750
2022-06-10 18:58:11 -07:00
Jyoti Kumari
abf8be9f56 qcacld-3.0: Add ini to support twt in 11n mode
Currently TWT works only in 11ax. Add enable_twt_in_11n
ini to support TWT in 11n mode.
False: DO not support TWT in 11n mode
True: Support TWT in 11n mode

Change-Id: If1011c9a24b9c285199d7b0e60e5614d6c1f8786
CRs-Fixed: 3185100
2022-05-04 10:48:16 -07:00
Vishal Miskin
d75a1c786c qcacld-3.0: Add support for QCA_WLAN_TWT_SET_PARAM command
Add support for QCA_WLAN_TWT_SET_PARAM command to configure
QCA_WLAN_VENDOR_ATTR_TWT_SET_PARAM_AP_AC_VALUE attribute.
This attribute provides access category value for
WMI_PDEV_PARAM_TWT_AC_CONFIG. This is used by firmware to
configure access category for TWT HW queue in TWT Responder
mode(SAP).

Change-Id: I5131967ff2061bf6afad7bc5f091a7eb5ee01b8a
CRs-Fixed: 3168197
2022-04-26 07:03:27 -07:00
Srinivas Girigowda
7ea8a92863 qcacld-3.0: Add support for TWT Get_traffic_stats
Add support for TWT Get_traffic_stats command in TWT component.

Change-Id: I927ce90e1dd6b5cc047d99fcd7b54a16a34ca4ed
CRs-Fixed: 3085887
2022-02-11 00:23:23 -08:00
Srinivas Girigowda
22c05ef081 qcacld-3.0: Add support for TWT get_status
In TWT component, add support for TWT get_status command
i.e when host wants to query current status of TWT sessions.

Change-Id: Ib43009e5f6a90c589db25f78e1ca43563f2950fe
CRs-Fixed: 3085483
2022-02-11 00:23:14 -08:00
Srinivas Girigowda
8d529074a0 qcacld-3.0: Add TWT nudge support to componentization
In TWT component, add support for TWT nudge command
i.e when host wants to suspend the TWT session.

Change-Id: I176fdaf0f2ccc2d0656f9108484fc80b409268ef
CRs-Fixed: 3085999
2022-02-11 00:23:05 -08:00
Srinivas Girigowda
82b323d139 qcacld-3.0: Add TWT resume support to componentization
Add TWT resume support to componentization.

Change-Id: I3e6d81591e9a7739050445e4a67d81626febf68f
CRs-Fixed: 3085995
2022-02-11 00:22:55 -08:00
Srinivas Girigowda
0142156257 qcacld-3.0: Add TWT pause support to componentization
In TWT component, add support for TWT pause command
i.e when host wants to suspend the TWT session.

Change-Id: I8a60bb40fe9d37121d700f246b91e3211af66189
CRs-Fixed: 3085990
2022-02-11 00:22:45 -08:00
Srinivas Girigowda
b4132f35eb qcacld-3.0: Add support for TWT concurrency
Add support for TWT concurrency.

Change-Id: I859c5764a6828e60554978104fd747ec5ac2a058
CRs-Fixed: 3085555
2022-02-11 00:22:12 -08:00
Srinivas Girigowda
96132d1c52 qcacld-3.0: Add TWT notify support to componentization
Add TWT notify support to componentization.

Change-Id: I44afb4a0d045916e9ca0f29924330de3a5d95859
CRs-Fixed: 3085549
2022-02-11 00:22:05 -08:00
Srinivas Girigowda
fa14a0ad6b qcacld-3.0: Add TWT sta teardown support to componentization
Add TWT sta teardown support to componentization.

Change-Id: I5a0f05105aad1aa92257af47f50913ae1e61730a
CRs-Fixed: 3085543
2022-02-11 00:21:58 -08:00
Srinivas Girigowda
5fd6f2b7d8 qcacld-3.0: Add TWT setup support to componentization
Add TWT setup support to TWT componentization
i.e to setup TWT session.

Change-Id: Ic79be278b264634d1d54759950167547d0daf1ef
CRs-Fixed: 3085483
2022-02-11 00:21:51 -08:00
Srinivas Girigowda
0737e8caec qcacld-3.0: TWT cfg params initialization
Initialize TWT psoc cfg params with the cfg.ini values.

Change-Id: I326239d4f3f146113871fb3700fa82260988d697
CRs-Fixed: 3085507
2022-02-11 00:21:22 -08:00
Srinivas Girigowda
38fe8b7acb qcacld-3.0: umac: Add TWT componentization public structs and files
Add TWT componentization public structs, files and skeleton code
i.e add new dispatcher APIs, target_if callbacks.

Change-Id: I21fd6f5c3e92f8ea725771c20cd6dfdb560b2bf3
CRs-Fixed: 3085430
2022-02-11 00:20:54 -08:00