Commit Graph

1646 Commits

Author SHA1 Message Date
Manikanta Pubbisetty
d60dfebd0b qcacld-3.0: enabled EXT GRP IRQs after power save exit
Currently in the WoW design of Moselle, EXT GRP IRQs are
enabled before sending SMP2P power save exit message is
sent to the FW. Because of this, any pending IRQs in the
GIC will immediately fire and could race with the SMP2P
power save exit logic. Any access to the registers done
before power save exit would result in system errors.
Enable the EXT GRP IRQs after sending power save exit
command will fix the problem.

Change-Id: I16f580279b5aa24861ab5111b9c13db3e38063f4
CRs-Fixed: 2925554
2021-04-20 09:40:52 -07:00
Tiger Yu
fee8629f3e qcacld-3.0: Add is_2g_iface support in WLAN IPA
With IPA TX two pipes support, TX rings for 2G and 5G traffic
are separated. As a result, WLAN needs to let IPA driver
know if the interface registered to IPA is 2G or 5G so that
IPA could differentiate and designate the interface for the
correct IPA TX pipe.

In this change, a new param is_2g_iface is added for the
event interface between protocol and IPA component. And
this new param is applicable only STA_CONNECT and
AP_CONNECT where wlan will register interface details
including is_2g_iface to IPA driver.

For two pipes implementation, is_2g_iface piggy-backs
session_id when passing it to CDP layer. And CDP layer
needs to decode session_id and is_2g_iface.

Change-Id: I5e02ec6969bb2f77d6b40e89d5a9451a7bb0be9d
CRs-Fixed: 2702704
2021-04-20 03:32:15 -07:00
Abdul Muqtadeer Ahmed
de4bda2169 qcacld-3.0: Remove the NULL check for a pointer which will never be NULL
psoc_cfg is pointing to the address of a structure variable,
which will never be NULL.

To address this remove the NULL check.

Change-Id: I12f539ce2feace550c403ffc996fa315994470a7
CRs-Fixed: 2911862
2021-04-20 01:32:06 -07:00
Arun Kumar Khandavalli
40e2d02202 qcacld-3.0: update mlme caps for the EHT
update the mlme data structures with eht capabilities.

Change-Id: I3d6b450d673d07560086383a6e32f5602d59ae41
CRs-Fixed: 2911882
2021-04-19 00:52:39 -07:00
Abhishek Ambure
f0cc4d0d06 qcacld-3.0: Update protected bit for mgmt action frames
Host checks RMF enable and robust action frame category, if both are
true then sets protected bit in mac header of management action frame.

Change-Id: I2d57c52b66ff7abd44dd02b73ad18f13fbdef009
CRs-Fixed: 2917058
2021-04-18 10:43:01 -07:00
bings
e4742ba697 qcacld-3.0: check 11be IE is configured or not from userspace
When starting SAP, If 11be IE is configured from userspace,
driver need check concurrency, update phymode as 11be and notify mlo mgr.

Change-Id: I22fdec5d978c91a8fc292af49462f045922254ae
CRs-Fixed: 2908938
2021-04-16 09:19:55 -07:00
Bapiraju Alla
8b9c2b1322 qcacld-3.0: Add support for 11be parameters configuration
As part of 11be enhancements in the driver, new configuration
parameters will be added. Define new APIs to support EHT
configuration parameters in the host driver.

Change-Id: Ic1890943a2f941e864d0df102e4954aac75d9f11
CRs-Fixed: 2908030
2021-04-15 22:52:08 -07:00
Bapiraju Alla
85ab46fde0 qcacld-3.0: Add support for EHT in management frames handling
Current driver implementation supports management frames handling
till 11ax. As part of 11be enhancements, new information elements
were added. To support 11be in host driver, update management
frames handling to support EHT information elements.

Change-Id: Id7064cbfe0b2c6a413be20c3ea64747a39312845
CRs-Fixed: 2907983
2021-04-15 22:52:04 -07:00
Aditya Kodukula
d915a3dd26 qcacld-3.0: Restore the ini parameter etsi13_srd_chan_in_master_mode
The commit Ic695e36e9b4fc9952cc405d1345b4a6a7d543dad, removed the
ini parameter etsi13_srd_chan_in_master_mode assuming that the
ini is obsolete and no longer being used. But, the ini is still
being used by the OEMs. So, revert the previous changes.

Change-Id: I6b2ba8b8e41ab96981b92e5ff4b2f610f92d7e43
CRs-Fixed: 2923688
2021-04-15 17:45:52 -07:00
Srinivas Girigowda
997c8a07aa qcacld-3.0: Add support to reject TWT setup incase of concurrency
Add support to reject TWT setup request if received when the below
mentioned concurrency scenario exists.

STA + SAP: SCC or MCC: Reject TWT setup
STA + P2P: SCC or MCC: Reject TWT setup

Change-Id: I5c4c2bcc032276a0b83b7a46a44dbf7933cda29f
CRs-Fixed: 2923726
2021-04-15 02:56:11 -07:00
Vulupala Shashank Reddy
2ac9c7e39c qcacld-3.0: Fill timestamp for Mgmt tx packets for packet capture
Currently in packet capture mode for tx mgmt packets tsf_delta
filled in tsf timeestamp, which is incorrect.

So, fill tsf timestamp in Mgmt tx packets for packet capture.

Change-Id: I90da072ee6d7e0f7a9b6271086e163a71208b7f5
CRs-Fixed: 2916982
2021-04-15 02:56:06 -07:00
Alan Chen
753f93e6e0 qcacld-3.0: Change PMO_ACTION_BLKACK to PMO_MAC_ACTION_BLKACK
There is a compilation error due to use of PMO_ACTION_BLKACK, which
is not defined. Change PMO_ACTION_BLKACK to PMO_MAC_ACTION_BLKACK to
resolve this issue.

Change-Id: I011c4c323bfa7d104c6a6879aba93085a35fed3d
CRs-Fixed: 2923577
2021-04-15 00:12:10 -07:00
Paul Zhang
84c234f62f qcacld-3.0: Support congestion report on multiple interfaces
Support congestion report on multiple interfaces

Change-Id: Iff650519c5b0e48ad63bb0a05d1c736ec40b385d
CRs-Fixed: 2832477
2021-04-14 05:34:12 -07:00
Vulupala Shashank Reddy
d1f7201b35 qcacld-3.0: Fill timestamp for packet capture rx data packets
For rx data packets in packet capture mode fill timestamp
from msdu start.

Change-Id: Iebbdcf303e67369f855d5cf3514df0e03e38dedd
CRs-Fixed: 2917013
2021-04-14 05:34:08 -07:00
Amruta Kulkarni
d32aa6c182 qcacld-3.0: Add ssid info during roam sync
During roam sync add ssid infoemation in connect response structure.

Change-Id: I00c03305ddbfcf03397ad5e27fa3d5e52acdbb90
CRs-Fixed: 2919735
2021-04-13 11:52:15 -07:00
Srinivas Girigowda
1bc852f685 qcacld-3.0: Reject TWT setup if there exists another TWT session
Add support to reject the TWT setup request if there exists
another TWT session with different dialog id.

Change-Id: I59c0ba4279581bad14bec886d22c0ac65838ec17
CRs-Fixed: 2920494
2021-04-13 03:39:42 -07:00
Srinivas Girigowda
8703e09f92 qcacld-3.0: Enhance mlme_twt_is_command_in_progress() to return active_cmd
Currently, mlme_twt_is_command_in_progress() function checks if the given
command is in progress or not. For inputs like WLAN_TWT_ANY, if this function
returns true then from the current logs, its not known which
active command in progress.

Hence for better debugging, enhance this function to return active command.

Change-Id: Ibc5c5babb042408b0e8988fe229d344ed98bfff3
CRs-Fixed: 2920494
2021-04-13 03:39:37 -07:00
Yu Wang
fdc00052a7 qcacld-3.0: set msdu/mpdu aggr size for each vdev start
The global aggregation size is only set to firmware once
when vdev is created. And the size may be modified
dynamically for a specified AP during association, according
to the OUI based aggregation size configured by ini
'cfg_tx_iot_aggr'.

If global AMSDU size is 0, considering the case as below:
1. connect to AP-1 which is included in 'cfg_tx_iot_aggr',
   the AMSDU size will be set to the specifed value.
2. connect to AP-2 which is NOT in 'cfg_tx_iot_aggr',
   it doesn't reset the AMSDU size to 0, and firmware is
   still using the value set in step #1, it's wrong.

To fix this issue, set the global size for each vdev start,
as init values for each connection.

Change-Id: I790d580fc5762e6816e840ba5484b3cd758334df
CRs-Fixed: 2918046
2021-04-13 03:39:19 -07:00
Jianmin Zhu
ac8d6a6ba2 qcacld-3.0: Disable TX_AGGREGATION_SIZE ini for HSP
HSP doesn't support TX_AGGREGATION_SIZE ini, need disable it to avoid
confusing.

Change-Id: I9e49ad5218f913f116cf4472f768f572740f14df
CRs-Fixed: 2918796
2021-04-10 22:52:22 -07:00
Vulupala Shashank Reddy
85bf09b858 qcacld-3.0: Refactor the code related to packet capture header
Refactor the code to replace htt tx data header with packet capture
header. So that we can add extra parameters in packet capture
header to send required data to packet capture callback function.

Change-Id: I863c63b925d1cd8ba5a8a7f0bc08ee3cd2acb96b
CRs-Fixed: 2916795
2021-04-10 02:40:53 -07:00
Abhishek Singh
e948157697 qcacld-3.0: Fix the PMK sent for 11r
As part of I418be56d452389a9f7b8d48e28f793567e81767a due to copy
paste error in cm_roam_scan_offload_fill_lfr3_config the pmk was
copied to rso_11i_info instead of rso_11r_info.

Fix this by copying pmk to rso_11r_info.

Change-Id: If4d1ea23ab4b4c43db3fac78fbfd43ad74a7e1b4
CRs-Fixed: 2920206
2021-04-09 20:50:27 -07:00
Vulupala Shashank Reddy
a8d99b9c1b qcacld-3.0: Fix data rate in mgmt rx packets in packet capture mode
Currently the rate, ofdm and cck flags are filled to support only
legacy rates.To support other rates too, fill ofdm and cck flags
based on phymode and fill rate in terms of 500 Kbps in tx status.

Change-Id: I972919ebd2cbd19a1b55af0324e481fada7f12cd
CRs-Fixed: 2917079
2021-04-09 09:50:29 -07:00
Srinivas Girigowda
6879ad5d67 qcacld-3.0: Add support for TWT re-negotiation failure
1. If the TWT setup parameter re-negotiation results in failure,
   then host driver shall trigger TWT teardown for the
   existing TWT session.
2. Upon receiving the TWT teardown confirmation from the firmware,
   host driver shall cleanup TWT session, send teardown notification
   to the user space and ready for next TWT setup command.

Change-Id: I553ae7de8d900a3dc12d563b781f9fefa36f8a0b
CRs-Fixed: 2916548
2021-04-09 02:47:12 -07:00
Pragaspathi Thilagaraj
1d6fac590c qcacld-3.0: Clear TWT context on receiving roam synch indication
The userspace doesn't expect TWT teardown or notify events after
roaming. So to clear the driver internal TWT context, for old
peer, call the mlme_init_twt_context() on roam synch complete.

Change-Id: If1e4fe2d79561885052caf8d5231d1c943f10c96
CRs-Fixed: 2912872
2021-04-07 19:28:59 -07:00
Will Huang
4d62bb1bc2 qcacld-3.0: Fix roaming/disconnect not sync issue
Change I588a56f4c96d137d3283b2dc57274de069ecb4ab changed
wlan_cm_abort_rso() return status from BUSY to FAILURE when roaming
in progress, it caused disconnect command not wait for roaming
complete/abort, and lead to abnormal data access.

Change-Id: I16004b006283c05ed94fb3ca4bc0e9376485aca7
CRs-Fixed: 2910443
2021-04-07 01:21:54 -07:00
Pragaspathi Thilagaraj
4cad5e9c11 qcacld-3.0: Enable partial roam scan for provided triggers
By default, the driver fills the roam scan scheme as none for
all the triggers in WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID
but if the roam scan scheme bitmap is set for particular
trigger, then for the corresponding trigger the roam scan scheme
should be sent as ROAM_TRIGGER_SCAN_MODE_PARTIAL.

Send ROAM_TRIGGER_SCAN_MODE_PARTIAL if roam scan scheme bitmap is
provided.

Change-Id: I82f16f7c0e24be472c95278eb3085f7d2623b63a
CRs-Fixed: 2914142
2021-04-06 23:12:27 -07:00
sheenam monga
6e6c139e05 qcacld-3.0: Add support to offload igmp feature to fw
offload igmp feature to fw in case of suspended state
to avoid high power consumption.

Change-Id: I05fbf23dc2836f8f5dc6e2f45b35bf2d30c39790
CRs-Fixed: 2907644
2021-04-05 15:22:23 -07:00
sheenam monga
70f283c5d8 qcacld-3.0: Add ini to enable disable igmp offload
enable/disable the IGMP offload feature to FW.

Change-Id: I57241b193598124cba147e86c2d5199c1d5c53ee
CRs-Fixed: 2904964
2021-04-05 15:22:14 -07:00
Karthik Kantamneni
54860cdcc8 qcacld-3.0: In resume sequence mark runtime resume as success properly
Currently runtime resume is marked as success after kicking
HTC queues, due to this non PM marked WMI commands are not
sent out properly.

Fix this by marking runtime resume as success before kicking
HTC queues, since resume is set as success as part of HTC kick
queues WMI commands will be sent out properly.

Change-Id: I5e3f98cbc5888bdf83f760b055c9b706c18737ef
CRs-Fixed: 2899609
2021-04-05 08:50:39 -07:00
Tushnim Bhattacharyya
c6b86c0ac9 qcacld-3.0: Remove all WLAN_REG_CHAN_TO_BAND instances
Use wlan_reg_freq_to_band API to get band instead of
the deprecated WLAN_REG_CHAN_TO_BAND API as part of
regulatory cleanup effort.

Change-Id: Id3028ecba15608c6bd48dff1ed5d5a8ef15cdab4
CRs-Fixed: 2898140
2021-04-05 06:53:26 -07:00
Kiran Kumar Lokere
c702414dd6 qcacld-3.0: Add support for RF test mode and safe mode config
Add RF test mode and safe mode configuration support for 6GHz.

Change-Id: Icb6382f425b21e89a8cb2481c8f7bf480c4f6c19
CRs-Fixed: 2904749
2021-04-02 15:03:09 -07:00
Vevek Venkatesan
42c0970be1 qcacld-3.0: add checks for deinit in ipa_register_ready_cb
Since stop_modules can happen in parallel due to idle shutdown,
add additional checks whether the IPA deinit happened already
or in-progress, in ipa_register_ready_cb.

Change-Id: Icc1973be3e90d4231addcebab55e621d19c5789c
CRs-Fixed: 2903419
2021-04-01 20:34:02 -07:00
Utkarsh Bhatnagar
f469d5b928 qcacld-3.0: Add connection record info in connection manager code
Add connection record info in connection manager code.

Change-Id: Idf61755eeaad5990223895b66487a08fc69bdfc3
CRs-Fixed: 2913983
2021-04-01 11:00:56 -07:00
sheenam monga
f8314f95bc qcacld-3.0: Add ini to support different versions of IGMP
Add bit mask ini support to decide IGMP version

Change-Id: I2676f9adb83c421c28a1d19efb8fe13a64f34de9
CRs-Fixed: 2907553
2021-03-31 17:11:55 -07:00
Aditya Kodukula
d4cad42cac qcacld-3.0: Remove INI parameter etsi13_srd_chan_in_master_mode
As part of WiFi ini clean-up FR, the ini parameter
etsi13_srd_chan_in_master_mode, is identified as an obsolete. Hence,
it can be deprecated and use its default value for the config
CFG_ETSI_SRD_CHAN_IN_MASTER_MODE.

Change-Id: Ic695e36e9b4fc9952cc405d1345b4a6a7d543dad
CRs-Fixed: 2896031
2021-03-31 06:04:48 -07:00
abhinav kumar
ca8d71c421 qcacld-3.0: Configure proper default scan mode while roaming
Currently, host configures scan mode as ROAM_TRIGGER_SCAN_MODE_PARTIAL
instead of ROAM_TRIGGER_SCAN_MODE_NONE via
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID command for below roam
reasons:
WMI_ROAM_TRIGGER_REASON_BSS_LOAD
WMI_ROAM_TRIGGER_REASON_BTM
WMI_ROAM_TRIGGER_REASON_LOW_RSSI
WMI_ROAM_TRIGGER_REASON_BMISS
WMI_ROAM_TRIGGER_REASON_PER
WMI_ROAM_TRIGGER_REASON_PMK_TIMEOUT

Fix is to send proper by-default scan mode while roaming.

Change-Id: I60999c1c0f1068417aed54bcb49d16cfaed135d5
CRs-Fixed: 2907413
2021-03-31 03:11:25 -07:00
Yeshwanth Sriram Guntuka
43a40f83b0 qcacld-3.0: Set system suspend/resume state in hif ctx
Set system state in hif ctx to suspend or resume on
system suspend and resume respectively.

Change-Id: If1904a4fe5c861deed1b35071be10cb8cc8d6407
CRs-Fixed: 2899520
2021-03-31 01:03:47 -07:00
Amruta Kulkarni
07ff785c3e qcacld-3.0: Fix param passed to sme_qos_csr_event and cm_remove_cmd
Fix to pass assoc_info instead of address of assoc_info
to sme_qos_csr_event_ind() and cm_remove_cmd()

Change-Id: I9f6c12870954c42f2b1e6250e7547c45a593cae8
CRs-Fixed: 2911027
2021-03-30 22:54:57 -07:00
Yu Wang
71abae6a8e qcacld-3.0: protect the reject ap list with mutex lock
Any operation on the reject ap list should be protected
by the mutex lock, otherwise, race condition may happen
and result in list corruption.

Change-Id: Iefe0594a62563d800e85f8f6ebd747ab46c19fcf
CRs-Fixed: 2901576
2021-03-30 04:41:31 -07:00
Aditya Kodukula
38bc15e6c7 qcacld-3.0: Remove INI parameter ImplicitQosIsEnabled
As part of WiFi ini clean-up FR, the ini parameter ImplicitQosIsEnabled,
is identified as an obselete parameter and hence it can be deprecated.

Change-Id: Id2ea893ec714150d6144aead2dc3c2b5967d805b
CRs-Fixed: 2896059
2021-03-29 17:47:13 -07:00
Aditya Kodukula
edfbff8b2a qcacld-3.0: Remove INI parameter gEnableLPRx
As part of WiFi ini clean-up FR, the ini parameter gEnableLPRx,
is identified as it is no longer used. Hence it can be deprecated,
and all instances of the config CFG_LPRx is removed.

Change-Id: I77f8f6839534c9a79cb3c7414582a5f31b87c561
CRs-Fixed: 2896027
2021-03-29 17:47:08 -07:00
Aditya Kodukula
7beff561cc qcacld-3.0: Remove INI parameter gDataInactivityTimeout
As part of WiFi ini clean-up FR, the ini parameter
gDataInactivityTimeout, is identified as it is no longer used
and hence it can be deprecated.

Change-Id: Ic01ba8934058cf2fb3bec042f11b01ea70ef7a3f
CRs-Fixed: 2896042
2021-03-28 23:36:47 -07:00
Amruta Kulkarni
6c678097a0 qcacld-3.0: Support roam ho fail and roam invoke fail ind in CM
Add change to support roam ho fail and roam invoke fail
indication in connection manager.

Change-Id: I8e4fed2ca4b9c6e95da86b0c37e39da8f2bc4953
CRs-Fixed: 2906319
2021-03-25 22:23:16 -07:00
Utkarsh Bhatnagar
106e4937db qcacld-3.0: Fix TDLS teardown issue
TDLS teardown happens in high throughput
scenario as rx pkt count increment API
"tdls_update_rx_pkt_cnt" is not called
if hdd_is_current_high_throughput API
returns TRUE. The reason for this is due
to high cpu cycles consumed by
tdls_update_rx_pkt_cnt API.

As part of fix optimize tdls_update_rx_pkt_cnt,
tdls_update_tx_pkt_cnt API's for high
throughput scenario. In high throughput
scenario mostly the use-case is to increment
the pkt counter so move that logic to
the top of the API's.

Change-Id: I4eb0da3571c45b5ee91e051e251158af15f73973
CRs-Fixed: 2888746
2021-03-25 20:20:02 -07:00
Utkarsh Bhatnagar
00b694406f qcacld-3.0: Fix TDLS ax throughput issue
When TDLS connection is made in 160 MHZ
for 11ax staions, the MCS rates for the
same aren't updated correctly.
Also, MCS rate can change in case the
connection between both stations is made
with AP operating in NSS 1x1, as there is
a check in lim_populate_he_mcs_set which
will disable MCS rates corresponding to
nss > 1x1.

To fix this, copy 160 MHZ mcs from the
staion parameters which gets updated in
change station. Also, use nss parameter
which is passed by lim_populate_he_mcs_set()
in the check which was used to disable mcs
rates corresponding to nss > 1x1. Thus,
peer station nss will be used to
determine whether to disable or not.

Change-Id: I23079aed3795202e6ae32583a220c1ed3227c1dd
CRs-Fixed: 2904540
2021-03-25 18:20:27 -07:00
gaurank kathpalia
b8c690744f qcacld-3.0: Change the cm ext init function to pass ext ptr
Change the cm ext init function to pass ext ptr.

Change-Id: I6c40bb54b96b94bec66d161ae924cd723720357d
CRs-Fixed: 2907938
2021-03-25 09:43:54 -07:00
Jianmin Zhu
a8863243de qcacld-3.0: Clean up wlan_reg_get_channel_reg_power
Clean up channel id api wlan_reg_get_channel_reg_power.

Change-Id: I2757383c182f84ed8e5089a9584f003d06ade28e
CRs-Fixed: 2905089
2021-03-24 21:02:09 -07:00
Liangwei Dong
576283f245 qcacld-3.0: Allow hw mode change for dbs 2x2 target
Previously, the hw mode changing is not allowed when SAP is CAC
state in old target which supports 1x1 dbs. The reason is
some action frame would be sent out when chainmask changes in
those target. But for 2x2 dbs target, chainmask is not changed
and hence not action frame will be sent out.
Allow the hw mode change for 2x2 dbs target when SAP is CAC.

Change-Id: I2d123a7f0065a562048584f56d5dd7640aaaf975
CRs-Fixed: 2892813
2021-03-24 12:04:10 -07:00
Amruta Kulkarni
15ac4a4e5a qcacld-3.0: Support roam sync indication in CM
Add change to support roam synch indication
in connection manager.

Change-Id: I06b23ae085a5a86caf4fe04fe5929b86d8d5c543
CRs-Fixed: 2901858
2021-03-24 09:47:46 -07:00
Srinivas Dasari
84f2788e50 qcacld-3.0: Wait for RSO stop response only if roaming is enabled
When host driver receives RSO_STOP from userspace, HDD sends the
RSO_STOP down to lower layers and starts a wait for response upon
success status.
Below layers(connection mgr/CSR) ignore the RSO_STOP request and
return success if the current state is not RSO_ENABLED or
IN_PROGRESS. This keeps the HDD waiting for response and a timeout
happens after 2 seconds.
So, wait for RSO stop response only if roaming is in enabled state
to avoid this wait and timeout.

Change-Id: I3ed81c5da26ebe05d17fc37dc43665f1f7b7c8b2
CRs-Fixed: 2901494
2021-03-24 04:33:20 -07:00