Commit Graph

607 Commits

Author SHA1 Message Date
Jianmin Zhu
aac14e0ac6 qcacld-3.0: Remove useless legacy roam reason eCsrLostLink1/2/3
1. Remove eCsrLostLink1/2/3 from csr_roam_reason.
2. Remove eCsrLostLink1/2/3 from csr_get_roam_cmd_type.
3. Remove csr_set_abort_roaming_command
4. Remove CSR_IS_ROAMING_COMMAND

Change-Id: Ibcc5dc63739b2764301f5a35a2110d570bc3928e
CRs-Fixed: 2308267
2018-09-05 05:08:47 -07:00
Jianmin Zhu
1ad0dadd83 qcacld-3.0: Remove useless legacy roam reason eSmeIssuedIbssJoinFailure
Remove all eSmeIssuedIbssJoinFailure relative code in disasssoc
and roam result handler.

Change-Id: Ia204fa331ec6f5de1ff52b8c2d2907d10f0d1ee4
CRs-Fixed: 2308522
2018-09-05 05:08:44 -07:00
Rajeev Kumar Sirasanagandla
e3b599151d qcacld-3.0: Add support to store vdev object in PE session
Add support to store vdev object in PE session and acquire/release its
reference count during PE create/delete session respectively.

Change-Id: I476798c4c42992dec2a2648319780b206274e8c4
CRs-Fixed: 2306387
2018-09-05 05:08:37 -07:00
Rachit Kankane
ee1735c905 qcacld-3.0: Featurize RMC
Featurize RMC and disable for Genoa

Change-Id: I66b17622c89dd5736f152c4cd9506ce2706b4604
CRs-Fixed: 2304269
2018-09-05 00:17:52 -07:00
Rachit Kankane
f6834c4b4c qcacld-3.0: Featurize Dynamic Voltage Config
Host provides INI way to control voltage configs, featurizing the
same for Genoa.

Change-Id: Ia58d84eb2e2a67ead189a51d2a0b98230513f8f9
CRs-Fixed: 2304125
2018-09-05 00:17:45 -07:00
Abhishek Singh
78f654bcc5 qcacld-3.0: Validate cbmode and bw provided by AP in HTinfo IE
Driver checks if 40 Mhz is supported for the channel but doesn't
validate if the cbmode provided by AP is valid.

Invalid cb mode provided by AP can lead to failure.

Add check to validate cbmode and bandwidth from AP in htinfo IE.

Change-Id: I3d2da7a8e3045594baf201732dd80a82bd88e16c
CRs-Fixed: 2303267
2018-08-30 10:15:57 -07:00
Jeff Johnson
9743eb7f49 qcacld-3.0: Refine the extscan stop BSSID hotlist logic
Make the following updates to the extscan stop BSSID hotlist logic:
1) Exclusively use the Unified WMI data structures.
2) Update the HDD<=>SME interface to enforce the contract that SME
   must not make any assumptions about the buffers provided by HDD.

Change-Id: I01e29a96fded829c734532b021aeea1960bba641
CRs-Fixed: 2294273
2018-08-20 22:32:28 -07:00
Jeff Johnson
57b264e259 qcacld-3.0: Remove ftm_msg_processor_callback from MAC context
The MAC context ftm_msg_processor_callback is a remnant from the
legacy FTM support. Since this callback is no longer used, remove it.

Change-Id: Ibd375bcd91900654315681f7f9b56bf100090942
CRs-Fixed: 2298895
2018-08-20 10:16:38 -07:00
Qiwei Cai
e689a26cd8 qcacld-3.0: Featurize some vendor commands
Featurize some vendor commands to compile out when not needed.

Change-Id: I6757b5764930efbd9cd1c7ab74e5990e96267421
CRs-Fixed: 2270461
2018-08-13 23:15:17 -07:00
Jeff Johnson
1148cb0bb2 qcacld-3.0: Refine the extscan start BSSID hotlist logic
Make the following updates to the extscan start BSSID hotlist logic:
1) Exclusively use the Unified WMI data structures.
2) Use the new wmi_unified_extscan_start_hotlist_monitor_cmd() API.
3) Update the HDD<=>SME interface to enforce the contract that SME
   must not make any assumptions about the buffers provided by HDD.

Change-Id: I4d9f982177bc61a751ba0e7437fe55482dfd2723
CRs-Fixed: 2291946
2018-08-09 04:24:06 -07:00
Vignesh Viswanathan
d5a5f2e278 qcacld-3.0: Add support for OUI framework during join request in CSR
Add support to use the action OUI framework to identify vendor APs from
the ini and apply vendor AP specific WARs during CSR join request.

Change-Id: Icb6742bfeb9515c11d61034b795b95b92e833b64
CRs-Fixed: 2254532
2018-08-07 08:41:18 -07:00
Nirav Shah
6a17618a8a qcacld-3.0: Replace MAX_SME_SESSIONS macro to SIR_MAX_SUPPORTED_BSS
Use SIR_MAX_SUPPORTED_BSS macro to decide max number of SME sessions
to avoid timer leak issue as SIR_MAX_SUPPORTED_BSS can be
configured through kbuild.

Change-Id: I86377d43ceb1b5cfcaa7c17a15a4fb300b79246b
CRs-Fixed: 2288864
2018-08-07 02:19:15 -07:00
Kiran Kumar Lokere
86e855955c qcacld-3.0: Set the TxBF CBF frame rate with NSTS setting
Set the TxBF CBF frame rates to FW with user NSTS configuration
setting.

Change-Id: I553c253bddb695f5c61d889cd7ef57694d00954f
CRs-Fixed: 2281265
2018-08-01 20:37:24 -07:00
Dundi Raviteja
e232cf1691 qcacld-3.0: Use request manager framework for LL stats response event
We are transitioning the usage of LL stats response event
to request manager framework.

Change-Id: Ice8b3d53beb47b345ed569f2b4bf790e9f5ce506
CRs-Fixed: 2274933
2018-07-30 02:53:31 -07:00
Nirav Shah
790d943594 qcacld-3.0: Add per module logging macros without function/line info
Add per module logging macros without function/line info
to avoid adding function/line info where it is not required.

Change-Id: Id808fef623b82cec38fc31071ef384f3ff0c92da
CRs-Fixed: 2278874
2018-07-27 09:09:42 -07:00
Pragaspathi Thilagaraj
b37dad385f qcacld-3.0: Serialize the command eSmeCommandDelStaSession
The command eSmeCommandDelStaSession issues vdev delete to
firmware. As this command eSmeCommandDelStaSession is not
serialized, this may issue delete vdev before the peers for the
vdev are deleted, resulting in fw assert. Serialization should
be brought in for this command, so that first eSmeCommandRoam
command will do vdev_stop-->remove_peer-->vdev_down and then
eSmeCommandDelStaSession will be processed which will send vdev
delete.

Post the command eSmeCommandDelStaSession to the serialization
module and WMA_DEL_STA_SELF_REQ will be posted from the sme
eSmeCommandDelStaSession handler.

Change-Id: I60fcbf622b961162c647db3638b5e019c5231971
CRs-Fixed: 2270982
2018-07-26 15:36:53 -07:00
Nirav Shah
d6fa0f8cd8 qcacld-3.0: Add compilation flag for enter/exit macros
Map all enter/exit log macros to enter/exit QDF TRACE macro
to provide option to compile out enter/exit logs if required.

Change-Id: I0c6cd633705e820fcfeb47e3f81a3522c9ef1974
CRs-Fixed: 2274850
2018-07-25 09:40:33 -07:00
Jeff Johnson
62cd6803a7 qcacld-3.0: Remove tHalStopType
There are multiple places where a tHalStopType parameter is passed but
unused. This is a historical artifact, so remove all instances of it.

Change-Id: Iebcbbac580495a376b7456b3a2901f33c2474f83
CRs-Fixed: 2283460
2018-07-24 15:10:49 -07:00
Jeff Johnson
ca7a716d96 qcacld-3.0: Rename tCsrLinkStatusCallback and related identifiers
To align with the coding standard rename tCsrLinkStatusCallback to not
use camelCase. As part of the process also rename other link status
identifiers.

Change-Id: I5df83512259f0f48d84a2bef77e333bb0a78eea4
CRs-Fixed: 2281797
2018-07-19 23:10:05 -07:00
Jeff Johnson
1be200ae98 qcacld-3.0: Refine the CSR channel status APIs
Currently csr_get_channel_status() and csr_clear_channel_status() both
use void * for their p_mac parameter. Since this is not an opaque data
structure update the APIs the use the correct underlying data type.

Change-Id: I900e97cbdeced3bacc1f2da30f892a4d55648059
CRs-Fixed: 2281794
2018-07-19 21:33:03 -07:00
Jeff Johnson
daba7ef043 qcacld-3.0: Remove csr_disconnect_all_active_sessions()
Function csr_disconnect_all_active_sessions() is obsolete and no
longer used, so remove it.

Change-Id: Ia2c0faa2429b706a2b7829444cd21cae4431a6ea
CRs-Fixed: 2281077
2018-07-19 00:56:39 -07:00
Jeff Johnson
f7e36d6e4e qcacld-3.0: Refine the P2P LO callback API
The P2P LO Callback currently specifies a void pointer for the event
payload. In the case of this API the event payload is always a struct
sir_p2p_lo_event so update the API to explicitly use this type. In
addition, currently the callback is not using the registered
user-supplied context, so update the callback to correctly use the
user-supplied context.

Change-Id: I566facea3c92b377823c1b3e38f99c84bc65e9d4
CRs-Fixed: 2278587
2018-07-19 00:56:36 -07:00
Jeff Johnson
0e96308f39 qcacld-3.0: Refine the Thermal Level callback API
The Thermal Level callback currently specifies a void pointer for the
context. In the case of this API the context is actually known to be
an HDD handle, so update the API to explicitly use this type. This
will allow the compiler to verify that the correct type of parameter
is being passed.

Change-Id: Ifa6f9fb5d3e27470b3f5292552b871d072150988
CRs-Fixed: 2278586
2018-07-19 00:56:30 -07:00
Kiran Kumar Lokere
f54b85555f qcacld-3.0: Add support to configure HE trigger frame MAC padding
Add support to configure HE trigger frame MAC padding and disable
the MU EDCA param update when user configures the padding.

Change-Id: Ief928c5421366b03ee6e1d6253963b10fd3b87b6
CRs-Fixed: 2265331
2018-07-18 23:18:12 -07:00
Kiran Kumar Lokere
fba2063db1 qcacld-3.0: Add support to configure HE MU EDCA params
Add support to configure the  HE MU EDCA params with default
values and update the params to FW.

Change-Id: Ia7485949c040cb8f83ccfe1f8336267051dbfd13
CRs-Fixed: 2262874
2018-07-18 23:18:09 -07:00
Chaoli Zhou
75b062f194 qcacld-3.0: Allow Setting Channel&Bandwidth in STA mode
Add one new ini configuration item to disable/enable
setMonChan in STA mode with disconnected state for
spectral scan test at CV2X platform.

Change-Id: Ie9ffc701d93ed1c050375dd56151b7a0da69cdce
CRs-Fixed: 2279013
2018-07-17 03:48:30 -07:00
Jeff Johnson
dc198eccdb qcacld-3.0: Refine the Lost Link Info callback API
The Lost Link Info callback currently specifies a void pointer for the
context. In the case of this API the context is actually known to be
an HDD handle, so update the API to explicitly use this type. This
will allow the compiler to verify that the correct type of parameter
is being passed.

Change-Id: I1ef9151d1a0c444a9bbb64aee6ae26030dd0bdbf
CRs-Fixed: 2278585
2018-07-14 21:20:05 -07:00
Jeff Johnson
4397514c87 qcacld-3.0: Refine the Roam Scan Offload callback API
The Roam Scan Offload (RSO) callback currently specifies a void
pointer for the context. In the case of this API the context is
actually known to be an HDD handle, so update the API to explicitly
use this type. This will allow the compiler to verify that the correct
type of parameter is being passed.

Change-Id: I9f3098a9f4bc840ef2f6210717849db5d4dd2c2a
CRs-fixed: 2278584
2018-07-14 03:34:07 -07:00
Jeff Johnson
d0b6c7e4ed qcacld-3.0: Refine the BT Activity callback API
The BT Activity callback currently specifies a void pointer for the
context. In the case of this API the context is actually known to be
an HDD handle, so update the API to explicitly use this type. This
will allow the compiler to verify that the correct type of parameter
is being passed.

Change-Id: I1bb29fcbd339d48b19352d61a18c0ae3ee3b10da
CRs-Fixed: 2278583
2018-07-14 03:34:04 -07:00
Jeff Johnson
c45168b885 qcacld-3.0: Refine the NAN Event callback API
The NAN Event callback currently specifies a void pointer for the
context. In the case of this API the context is actually known to be
an HDD handle, so update the API to explicitly use this type. This
will allow the compiler to verify that the correct type of parameter
is being passed.

Change-Id: I998119cb02d2b6412b63c36f740016745a6fbe4f
CRs-Fixed: 2278582
2018-07-14 03:34:00 -07:00
Jeff Johnson
4584365853 qcacld-3.0: Refine the EXT Stats callback APIs
The EXT and EXT2 stats callbacks currently specify a void pointer for
the context. In the case of these APIs the context is actually known
to be an HDD handle, so update the APIs to explicitly use this
type. This will allow the compiler to verify that the correct type of
parameter is being passed.

Change-Id: I31f6e688a4940cba88b628e76ecd2f295386bb19
CRs-Fixed: 2277297
2018-07-12 22:26:56 -07:00
Jeff Johnson
da2afa4202 qcacld-3.0: Refine the TX Queue callback API
The TX Queue callback currently specifies a void pointer for the
context. In the case of this API the context is actually known to be
an HDD handle, so update the API to explicitly use this type. This
will allow the compiler to verify that the correct type of parameter
is being passed.

Change-Id: I125b80eb250a5cfcb78f4a19d7a803838a4d147b
CRs-Fixed: 2277286
2018-07-12 22:26:52 -07:00
Jeff Johnson
3201e62b65 qcacld-3.0: Refine the RSSI Threshold Breach callback API
The RSSI Threshold Breach callback currently specifies a void pointer
for the context. In the case of this API the context is actually known
to be an HDD handle, so update the API to explicitly use this
type. This will allow the compiler to verify that the correct type of
parameter is being passed.

Change-Id: Ifbedc0a0b38f4f9251524842595af296034153f9
CRs-Fixed: 2277278
2018-07-12 22:26:49 -07:00
Jeff Johnson
17b1239949 qcacld-3.0: Refine the EXT Scan Callback API
Currently the EXT Scan Callback API specifies a void pointer for the
context parameter.  It is fine for an API to use a void pointer for a
data structure that is opaque or a binary blob, but in this case an
HDD handle is always passed, so explicitly reference that type. This
will allow the compiler to verify that the correct type of parameter
is being passed.

Change-Id: I50c16e1259149147537984242f9bd03b3af15d0b
CRs-Fixed: 2277275
2018-07-12 22:26:45 -07:00
Jeff Johnson
3a08ff978a qcacld-3.0: Refine the TWT callback APIs
Currently the TWT enable complete and disable complete APIs specify a
void pointer for the context parameter.  It is fine for an API to use
a void pointer for a data structure that is opaque or a binary blob,
but in these cases an HDD handle is always passed, so explicitly
reference that type. This will allow the compiler to verify that the
correct type of parameter is being passed.

Change-Id: Ibbe3f6809e892833473d234bf19a9245d7e7c1f1
CRs-Fixed: 2276989
2018-07-12 22:26:42 -07:00
Jeff Johnson
959f369ed4 qcacld-3.0: Refine the link layer stats callback API
It is fine for an API to use a void pointer for a data structure that
is opaque or a binary blob, but it is not ok to do so when the type of
the data must be known and agreed upon by both the caller and the
callee. In the case of the link layer stats callback the API
definition uses a void pointer for both the context parameter and the
response parameter, but an HDD handle is always passed as the context
and a tSirLLStatsResults struct is always passed as the response, so
explicitly reference those types. This will allow the compiler to
verify that the correct types of parameters are being passed.

Change-Id: Iba181bbc97331f8fdde1cdf5c81a80efef014839
CRs-Fixed: 2276494
2018-07-12 22:26:38 -07:00
Jeff Johnson
f6182e4561 qcacld-3.0: Refine the congestion_cb API
Currently the congestion_cb API specifies a void pointer for the
context parameter.  It is fine for an API to use a void pointer for a
data structure that is opaque or a binary blob, but in this case an
HDD handle is always passed, so explicitly reference that type. This
will allow the compiler to verify that the correct type of parameter
is being passed.

Change-Id: I3bfa07300fad8cd75b7b98c9b7ccdad4936bf32f
CRs-Fixed: 2276476
2018-07-11 18:45:44 -07:00
Jeff Johnson
b7fa256b6c qcacld-3.0: Refine the chip_power_save_fail_cb API
Currently the chip_power_save_fail_cb API specifies a void pointer for
the context parameter.  It is fine for an API to use a void pointer
for a data structure that is opaque or a binary blob, but in this case
an HDD handle is always passed, so explicitly reference that type.
This will allow the compiler to verify that the correct type of
parameter is being passed.

Change-Id: Ia9cbf1a229423d3dffd4d137c726d34b7a70fbb3
CRs-Fixed: 2276467
2018-07-11 18:45:41 -07:00
Jeff Johnson
81c2cd909c qcacld-3.0: Remove obsolete Link Quality Indication support
CSR contains the remnants of a Link Quality Indication support. Since
this is unused, remove it.

Change-Id: I5235e204e8ec15c2d927e8b3a95e1f65cab4cf70
CRs-Fixed: 2276296
2018-07-11 18:45:37 -07:00
Jeff Johnson
dd6fd48b3d qcacld-3.0: Remove obsolete 11d scan callback mechanism
SME exposes an 802.11d scan callback mechansim that was used by a
prior generation of the driver. The current generation no longer uses
this callback, so remove it.

Change-Id: I11b7916fd8244f3ba03ec73779a8c7e61c2a06ab
CRs-Fixed: 2273914
2018-07-10 14:06:30 -07:00
Jeff Johnson
6a18c96ba2 qcacld-3.0: Rename csr_roam_completeCallback
Rename csr_roam_completeCallback to avoid having camelCase.

Change-Id: Ic84cf07c352da5c445df599657a050feef997f1f
CRs-Fixed: 2273780
2018-07-07 10:26:07 -07:00
Kiran Kumar Lokere
f3044852b7 qcacld-3.0: Add Tx beamformee NSTS configuration support
Add wifi test configuration support for Tx beamformee NSTS

Change-Id: Ia338e276376f68e2caa6b717db7c51e3d3308266
CRs-Fixed: 2261728
2018-07-06 16:34:16 -07:00
Kiran Kumar Lokere
1a43bcf236 qcacld-3.0: Add support for SRD channels in ETSI domain
Add support for SRD channels in ETSI regulatory domain

1) Add SRD channels only if DSRC feature is disabled.
2) Add user configuration to enable/disable these channels
in master mode PCL/ACS. Default is disabled.
3) Allow these channels in ACS/PCL only if the INI is set.

Change-Id: Ibd79dc95e9911ce3a0fd101f4716d9bbb8b75466
CRs-Fixed: 2264786
2018-07-05 20:49:25 -07:00
Abhinav Kumar
7830d9c023 qcacld-3.0: Fix compilation error if we disable LFR3 featurization
If we disable LFR3 featurization (CONFIG_QCACLD_WLAN_LFR3=n),
Driver does not able to compile due to change present in
Change-Id: I4c91cac6bad400c8fa58b2a6ba2b282a3b7f1620.

Fix is to include change I4c91cac6bad400c8fa58b2a6ba2b282a3b7f1620
under WLAN_FEATURE_ROAM_OFFLOAD feature flag.

Change-Id: I9dcf3bbcd5564c08b0ba52cfebfb2118fd50fee8
CRs-Fixed: 2268764
2018-07-04 20:41:10 -07:00
Jinwei Chen
ef742dc73c qcacld-3.0: Fix sme_update_tgt_he_cap param and indent
Fix checkpatch issue introduced by change "qcacld-3.0:
separate HE caps per band", use new mac_handle_t instead
of tHalHandle in sme_update_tgt_he_cap param and fix
indent issue.

Change-Id: I91e11fd38ac72266b4afcf42d71340975127f559
CRs-Fixed: 2268400
2018-07-02 08:45:32 -07:00
Sandeep Puligilla
39b5040dac qcacld-3.0: Cleanup legacy passive scan min channel time
Clenaup legacy passive scan minimum channel time configuration
value and the code references related to the same.

Change-Id: I15d508484dde8f4db775a6fb263646a7af8e5f69
CRs-Fixed: 2262691
2018-06-30 02:10:24 -07:00
Sandeep Puligilla
e0511d7a67 qcacld-3.0: Cleanup legacy active scan min channel time
Clenaup legacy active scan minimum channel time
configuration item and the code references related
to the same.

Change-Id: I5eef7ec09345e199946700c033eaa85fbf69d289
CRs-Fixed: 2262691
2018-06-30 02:10:21 -07:00
Jeff Johnson
1021f89889 qcacld-3.0: Fix sme_qos_is_ts_info_ack_policy_valid() param
Currently sme_qos_is_ts_info_ack_policy_valid() takes a tpAniSirGlobal
mac context param. However this is a global function that is called by
HDD, so it should be taking an opaque handle. Update the function and
all callers to use the appropriate type.

Change-Id: I71759ce184306a90f46e37d79d6bdd7a545c1bc2
CRs-Fixed: 2269181
2018-06-29 09:25:28 -07:00
Kiran Kumar Lokere
4de8755491 qcacld-3.0: Remove obsolete code in SME QOS module
Remove the obsolete logic in the SME QOS module.
QDF_STATUS_PMC_PENDING status is not used, so remove the
obsolete code based on this status.

Change-Id: Ie891eddad2b536e43f5f933c8683d41b096bf578
CRs-Fixed: 2269866
2018-06-28 22:28:10 -07:00
Kiran Kumar Lokere
9163390d67 qcacld-3.0: Remove obsolete SME QOS event
SME_QOS_CSR_HANDOFF_FAILURE event is not used and the event
handler is obosolete. Remove the obsolete functionality

Change-Id: I7d3c9732b0550bdedb1c2b06b9d31e2ee3db2480
CRs-Fixed: 2269866
2018-06-28 22:28:05 -07:00