Commit Graph

1970 Commits

Author SHA1 Message Date
Amar Singhal
4ecd7dbe66 qcacld-3.0: Send max AMSDU size to firmware
Firmware needs maximum amsdu size for through-put optimization.
Send host configured amsdu size to firmware when vdev is created.

Change-Id: Ib292c6d9ddc828d5d0a02cf8f6d9a577c8a5c01a
CRs-Fixed: 2573857
2019-12-19 07:09:32 -08:00
Liangwei Dong
73fdb0d319 qcacld-3.0: Fix VHT 160 rate report
1. Update pAddBssParams->ch_width to 160Mhz ch width value
based on VHT operation IE's ch width, channel segment 0
and channel segment 1 fields.

2. Report link rate information to OS for 160Mhz based on
rate flag TX_RATE_VHT160.

The change will fix the incorrect bandwdith reported by
IW commmand (iw wlan0 link) when STA is connected to AP
in VHT160 mode.

Change-Id: I698b12da825619e8e8f28f0cf4ea1ccf2e7072e6
CRs-Fixed: 2585986
2019-12-17 16:37:53 -08:00
Liangwei Dong
3b2fd85feb qcacld-3.0: Handle HE 160Mhz bandwidth rate report
Update tx rate flags to include 160Mhz bandwidth in
wma_set_bss_rate_flags_he.
Add HE 160 mcs to rate mapping for nss 1 and nss 2.
This change will fix incorrect bandwidth report via
IW command: iw wlan0 link.

Change-Id: Idd1adc4f2783b86a2a837999ea87bb38c813f213
CRs-Fixed: 2585078
2019-12-17 16:37:38 -08:00
Ashish Kumar Dhanotiya
d8d7dead7d qcacld-3.0: Add support for oem data event
Currently use of comamnd QCA_NL80211_VENDOR_SUBCMD_OEM_DATA
is to pass data blobs from Application to FW but there is
no mechanism to send the data blobs from FW to Application.

To meet the above requirement update the usage of existing
OEM DATA command to use it as a vendor event as well to
send data blob from host to Application.

Change-Id: I502312f25d2754984b86e1cc4e011800a5d4b58a
CRs-Fixed: 2573464
2019-12-17 14:09:53 -08:00
Abhinav Kumar
444a5ebc80 qcacld-3.0: Add ini support to skip full scan after bmiss
Currently, after FINAL_BMISS detection, FW does channel map
based partial scan followed by one full scan if no candidate
found in partial scan to ROAM to another available AP without
disconnection. This results in additional delay by HOST in
issuing disconnection after a heartbeat failure.

Add INI support (bmiss_skip_full_scan) to allow FW to decide
whether firmware does channel map based partial scan or partial
scan followed by full scan in case no candidate is found in
partial scan after final BMISS.

Change-Id: I48f9bb43bb7933e9ff173f618586ea5986530dcd
CRs-Fixed: 2578848
2019-12-17 00:12:04 -08:00
Amar Singhal
d4f10747c9 qcacld-3.0: Use correct TX power for post vdev startup
Use correct power in post vdev startup. Use regulatory power for bss
channel.

Change-Id: Iaf1942b3538663a5f4f2e21c195626c1876ee03f
CRs-Fixed: 2580873
2019-12-14 16:17:42 -08:00
Pragaspathi Thilagaraj
5292e0ab83 qcacld-3.0: Handle WMI_ROAM_STATS_EVENTID from firmware
The event WMI_ROAM_STATS_EVENTID is received after
every roam, once the roam synch complete is sent by the host.
This event contains details regarding the roam trigger reason,
values associated with the trigger, roam scan candidate info,
roam status, roam failure reason.

This helps in debugging/understanding the scenario when roam
failure happens.

WMI_ROAM_STATS_EVENTID Format:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
roam_stats_event_fixed_param |-> Contains vdev id and number of
                             |   roams detail.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
roam_trigger data TLV        |-> Has details on the roam trigger
                             |   reason. Number of roam triggers
                             |   TLV detail is present in the
                             |   fixed param. Maximum 5 roam
                             |   per event is supported
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wmi_roam_scan_info TLV       |-> Has details on the roam scan -
                             |   scan type, rssi threshold,
                             |   reason.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wmi_roam_scan_channel_info   |-> Has details on the roam scan
TLV                          |   channels. Number of channels
                             |   per trigger is found on the
                             |   wmi_roam_scan_info TLV.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wmi_roam_ap_info TLV         |-> Has details on Roam candidate
                             |   APs found during scan. Number
                             |   of roam candidate APs per
                             |   trigger is found on the
                             |   on the wmi_roam_scan_info tlv.
                             |   Max 8 candidates are allowed
                             |   per roam scan.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wmi_roam_result TLV          |-> Info on roam success or failure.
                             |   Fail reason, if roaming failed.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wmi_roam_neighbor_report_info|->After roaming, firmware sends
TLV                          |  neighbor/btm report to roamed AP
                             |  to get list of roam candidates.
                             |  This tlv provides info on this.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wmi_roam_neighbor_channel_info|-> This has the info on the
                              |   channel list received as part
                              |   of BTM/Neighbor report.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Print the info received as part of this event into kmsg.
Featurize all the function defines for this roam logging under
WLAN_FEATURE_ROAM_OFFLOAD flag.

Change-Id: Iddc70b572f2e3dc47f08fd1c3c3597cb44981a17
CRs-Fixed: 2576222
2019-12-11 08:52:14 -08:00
gaurank kathpalia
fdeea3fdc6 qcacld-3.0: Fix peer address stored in wma_rx_invalid_peer_ind
In wma_rx_invalid_peer_ind driver store the i_addr1(ra) in invalid
peer list, which is the self address.

To fix store i_addr2(ta), which is the actual peer address,
in invalid peer list.

Change-Id: I6ff035f3155e611d867778ea56bfdbe8ed3302c8
CRs-Fixed: 2583502
2019-12-11 06:27:56 -08:00
Abhishek Ambure
0ceb5ca620 qcacld-3.0: Parse Channel Switch Wrapper IE in CSA event
“New channel width” information is not present in CSA event
received by host. When STA processes CSA beacon & CSA action frame
and moves to new channel, “New channel width” & "new channel center
frequencies" are not applied.

Firmware adds "Channel switch wrapper IE" information in CSA event and
sets "WMI_CSWRAP_IE_EXTENDED_PRESENT" bit in ies_present_flag.

Channel switch wrapper ie elemets are parsed to get Wide Bandwidth
Channel Switch information.

Change-Id: I095c49ae5a78cbfa8947e98cc39ec647aa7f3d27
CRs-Fixed: 2571406
2019-12-09 17:28:07 -08:00
Abhishek Ambure
921dd733a6 Revert "qcacld-3.0: Update number of TIDs supported"
As part of commit id I024e03e4ac46f8118da544889de3ffd7cc67a1b4, host
has increased the no of TID'S(8 * no_of_peers_supported + num_vdevs +
2) to fix a firmware assert. This causes memory allocation issues on
some firmware branches. Due to this fix is reverted

Change-Id: I70c9436ce7dcf886d3228298931b9f9569d1fdb1
Crs-Fixed: 2581524
2019-12-09 15:58:22 -08:00
gaurank kathpalia
8197e355fa qcacld-3.0: Peer ID cleanup in LIM, HDD and WMA
Cleanup peer id from the callers of cdp APIs from
where the peer ID was passed, and use mac address
instead to identify the STA.

Change-Id: Ie6dcae77e959439a71c11b1a2fa0daddcaa6e719
CRs-Fixed: 2529822
2019-12-06 01:51:09 -08:00
Arun Kumar Khandavalli
efe77ff948 qcacld-3.0: Don't use vdev_mlme object in the vdev delete response
As part of the new changes, vdev mlme object will be freed before
the vdev delete response is received from the firmware. Hence do
not use the vdev_mlme object in the vdev delete response handler.

Change-Id: Idec5775f6c7ac767baedd173a7bde0d3a358d0fe
CRs-Fixed: 2563381
2019-12-05 23:53:40 -08:00
Arun Kumar Khandavalli
7b6bee792a qcacld-3.0: move to the psoc mlme timers
Move the vdev response timer from the vdev object structure
to the psoc mlme structure.

Change-Id: I1df253331ddbd5538066ee93bc3e45b703057818
CRs-Fixed: 2563383
2019-12-05 23:53:10 -08:00
Abhishek Ambure
6523bc72c9 qcacld-3.0: Clear Static channel list in fw for SETROAMSCANCONTROL 0
In the present implementation, it is observed that "SETROAMSCANCONTROL 0"
command is not clearing STATIC channels in the firmware for ROAM scan list.

So to clear STATIC channels configured for ROAM scan and set dynamically
added ROAM scan channels host sends two RSO commands to Firmware.

In the first RSO command STATIC channel list is cleared and second RSO
command will add dynamically added ROAM scan channels to ROAM scan list
in firmware.

Change-Id: Ic359326032c5776540c773a51d7531c0cfcd7bdc
CRs-Fixed: 2571119
2019-12-05 04:20:42 -08:00
Kiran Kumar Lokere
571f0d3e65 qcacld-3.0: Add 80+80 restricted BW support
Add support for restricted 80+80 bandwidth in STA and SAP modes.

Change-Id: Id1a61b853584fa84db3bb8f0f2aaf68eecabeaac
CRs-Fixed: 2570023
2019-12-04 14:40:31 -08:00
Vevek Venkatesan
b4016095ae qcacld-3.0: remove control path handles from cdp ops
Currently control path handles of pdev/vdev/peer
are given as arguments to cdp ops, which are
directly accessed by dp layer. This can cause a
race-condition in access of the handle if it
has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the psoc handle which can be accessed all over
to retrieve objmgr_pdev from psoc.

- rx_mic_error
- txrx_pdev_attach
- txrx_vdev_attach
- txrx_peer_create

Change-Id: Iaec8b913810f9035faa0010117cdff19bdded37f
CRs-Fixed: 2541431
2019-12-04 07:43:42 -08:00
Wu Gao
202154866b qcacld-3.0: Get rx chainmask by mac phy capability
Since there is change in FW and doesn't provide rx chaimask 2G on phy0
and rx chainmask 5G on phy1, so add this change to get rx chainmask
2g/5g based on mac phy capability.

Change-Id: I99d5f21c7a8033adc75f3b21e3b486628da3a40f
CRs-Fixed: 2574148
2019-12-03 13:10:46 -08:00
Abhishek Ambure
95093b55d7 qcacld-3.0: Update number of TIDs supported
Host configures number of TIDs supported by in WMI_RESOURCE_CONFIG
command.

Firmware supports 8 TIDs per peer, with the existing formula to
calculate num_tids_supported i.e. 2 * (no_of_peers_supported is 32 +
num_vdevs is 4 + 2) firmware can allocate max 76 TIDs. As 76 TIDs are
not enough to serve 32 peers, as a new peer requests to allocate TID
after 76th TID, firmware crash is observed.

example as, SAP is running in DUT and 7 clients are conneted, connect
DUT STA to AP. Here total number of peers are 10 and required TIDs 80
i.e number of peers(10) * TIDs per peer(8) = 80, which exceeds limit of
76 number of TIDs configured at the initialization.

Hence, Host enlages the number of TIDs supported for Low Latency targets
i.e. USB or SDIO based solutions. Host calculates max number of TIDs
supported as follows,

num_tids_supported = (8 * no_of_peers_supported + num_vdevs + 2)

Change-Id: I024e03e4ac46f8118da544889de3ffd7cc67a1b4
CRs-Fixed: 2573130
2019-11-27 21:17:47 -08:00
Liangwei Dong
d4a91a6f12 qcacld-3.0: Refine wma_get_caps_for_phyidx_hwmode
The current function doesn't handle "hw_mode" parameter.
And if band is specified the function needs to find the
correct "phy cap" in mac_phy_cap list.
The "supported_bands" can be a bit mask of
(WLAN_2G_CAPABILITY | WLAN_5G_CAPABILITY), use "&" to find
the phy cap of requested band.
Remove unused API wma_get_phyid_for_given_band.

Change-Id: I4b120d681b820e2a6e2b82f33d67fbcf6136af09
CRs-Fixed: 2571400
2019-11-26 22:00:17 -08:00
Amruta Kulkarni
0eb81451b3 qcacld-3.0: Fix out of bound memory access
In wma_link_status_event_handler() check added to fix
out of bound access.

Change-Id: Iea8346d82b5d766dca5da117f415f6fbe2f40706
CRs-Fixed: 2558009
2019-11-26 15:47:39 -08:00
Sourav Mohapatra
2a67b0ed24 qcacld-3.0: Add driver command to request ANI level
The ANI level determines how well the device is coping with interference
in the wireless environment. Add support in the driver to query the ANI
level from the firmware and populate it for userspace entities to use.

Change-Id: I54934f670aa11737e11eca4d64e12f9dffb4f430
CRs-Fixed: 2554674
2019-11-26 05:30:13 -08:00
Abhishek Singh
5a2c42f803 qcacld-3.0: Replace smeSessionId with vdevid in SME, HDD and WMA
Replace smeSessionId with vdevid in SME, HDD and WMA files.

Change-Id: I3b2f5dd08dac2d107f89762cd763a032b4867d16
CRs-Fixed: 2569192
2019-11-22 07:12:28 -08:00
Arun Kumar Khandavalli
c1d2b4f520 qcacld-3.0: Detach peer deletion from vdev deletion
Self-peer holds a reference to the vdev object. As part
of new changes to send vdev delete to firmware as part
of vdev delete notification, the self peer reference needs
to be released 1st before sending the vdev delete to firmware.

Hence detach the peer deletion from the vdev deletion.

Change-Id: I8169fdd6cc6acadea9a89baf38bd273797e8bc9b
CRs-Fixed: 2565315
2019-11-22 07:12:11 -08:00
Liangwei Dong
4547b89cb6 qcacld-3.0: Fix VHT IE Missing for 2G SAP
Use "CDS_BAND_2GHZ" to get 2G vht phy capabilities.
Also use "total_mac_phy_cnt" to enumerate mac_phy_cap
list to get correct 2G phy caps.

Change-Id: Ibced9b07370932b65a35f43aa579b3c28ea6e23b
CRs-Fixed: 2568539
2019-11-22 04:12:00 -08:00
Arun Kumar Khandavalli
4f6a5bd519 qcacld-3.0: Send vdev create to fw from object create notification
Send vdev create to firmware when the mlme vdev create handler
is invoked as part of the vdev object create.

Change-Id: Ibba02f6b5885d7b3a62529ef51768f520395513e
CRs-Fixed: 2555943
2019-11-21 09:13:20 -08:00
Vevek Venkatesan
29076ec1d8 qcacld-3.0: cdp: Converge cdp_ipa_ops
Currently cdp ops are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the pdev_id or vdev_id or peer mac address,
which will be used to get the respective handles,
and hence avoiding the unwanted access of the
handles if it has been deleted.

- ipa_get_resource
- ipa_set_doorbell_paddr
- ipa_set_active
- ipa_register_op_cb
- ipa_get_stat
- ipa_tx_data_frame
- ipa_uc_get_share_stats
- ipa_uc_set_quota
- ipa_enable_autonomy
- ipa_disable_autonomy
- ipa_setup
- ipa_enable_pipes
- ipa_disable_pipes
- ipa_rx_intrabss_fwd

Change-Id: I678d7a7de7132417ff6051b0fd6da5d14426d21e
CRs-Fixed: 2540861
2019-11-21 06:12:04 -08:00
Rakesh Pillai
6a36b0a26a qcacld-3.0: cdp: Convergence of cdp misc ops
Currently the cdp apis are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the pdev/vdev id or peer mac address, which will be
used to get the respective handles, and hence
avoiding the unwanted access of the handles if
it has been deleted.

Converged misc_ops
- tx_non_std
- get_opmode
- get_tx_ack_stats
- set_ibss_vdev_heart_beat_timer
- hl_tdls_flag_reset
- set_wisa_mode
- txrx_post_data_stall_event
- update_mac_id
- pkt_log_init
- pkt_log_con_service
- get_num_rx_contexts
- set_wmm_param
- flush_rx_frames
- bad_peer_txctl_set_setting
- bad_peer_txctl_update_threshold
- txrx_data_stall_cb_register
- txrx_data_stall_cb_deregister
- vdev_set_driver_del_ack_enable
- get_intra_bss_fwd_pkts_count
- mark_first_wakeup_packet
- register_pktdump_cb
- unregister_pktdump_cb
- pdev_reset_driver_del_ack
- runtime_suspend
- runtime_resume

CRs-Fixed: 2539735
Change-Id: I2baad09fde29d439ae2099e01e4e68ed6b94196d
2019-11-21 06:11:43 -08:00
Kiran Kumar Lokere
5abc59e4bf qcacld-3.0: Fix incorrect phymode in 6GHz connection
Add support to parse 6GHz operation information from AP beacon for
connection.

Change-Id: I67d167cd982163e28b3bbe7dc81747d8289a1513
CRs-Fixed: 2567849
2019-11-20 01:15:01 -08:00
gaurank kathpalia
cc3e2fd338 qcacld-3.0: Remove legacy usage of channels in WMA layer
Remove legacy usage of channels in WMA layer and
use frequencies instead to incorporate 6ghz
frequencies as well.

Change-Id: Iba4a9ea723d5c03a4deeaffc5fbdf628f435eb67
CRs-Fixed: 2563924
2019-11-15 16:00:49 -08:00
Kiran Kumar Lokere
5414066815 qcacld-3.0: Policy manager support in 160MHz mode
Add policy manager support for 160MHz mode connection.

Change-Id: I697dabbd752e768c128f8663674c91adccd72424
CRs-Fixed: 2558047
2019-11-15 05:43:43 -08:00
gaurank kathpalia
34fe0b641b qcacld-3.0: Enable the DBS ini if DBS is mandatory
The driver does not check the device DBS capability
and the DBS ini compatibility( ch select policy)
If the DBS ini channel_select_logic_conc is disabled
and HW mandates DBS capability then overide the ini
to always keep it enable.

Change-Id: I629fd8661f70b64808a55c4c9bdafa9608787b09
CRs-Fixed: 2551648
2019-11-15 03:57:32 -08:00
gaurank kathpalia
e314029ccf qcacld-3.0: Enable the DBS ini if DBS is mandatory
The driver does not check the device DBS capability
and the DBS ini compatibility.
If the DBS ini gDualMacFeatureDisable is disabled
and HW mandates DBS capability then overide the ini
to always keep it enable.

Change-Id: I2b31453f9c8a04cef7f943b30d3c28f844c276b5
CRs-Fixed: 2551644
2019-11-15 03:57:22 -08:00
Abhinav Kumar
9ff4490dcc qcacld-3.0: Fix null ptr dereference in wma_print_wow_stats
wma_print_wow_stats does not do null validation for pointer vdev
returned from call to function wlan_objmgr_get_vdev_by_id_from_psoc
which can lead to null pointer derefrence.

Add NULL pointer check for vdev in wma_print_wow_stats.

Change-Id: I4fae47b303436bf9f2a4768995cea7640bc6feab
CRs-Fixed: 2564073
2019-11-14 07:47:23 -08:00
Rakesh Pillai
f94b162ed0 qcacld-3.0: cdp: Convergence of cdp_l_flowctl_ops
Currently the cdp apis are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the pdev/vdev id or peer mac address, which will be
used to get the respective handles, and hence
avoiding the unwanted access of the handles if
it has been deleted.

Converged l_flowctl_ops
- register_tx_flow_control
- set_vdev_tx_desc_limit
- set_vdev_os_queue_status
- deregister_tx_flow_control_cb
- flow_control_cb
- get_tx_resource
- ll_set_tx_pause_q_depth
- vdev_flush
- vdev_pause
- vdev_unpause

CRs-Fixed: 2539748
Change-Id: I8ad4a20914c654b8e8aaf629dda7f673fdb110e4
2019-11-11 23:08:02 -08:00
Rakesh Pillai
82555082c9 qcacld-3.0: cdp: Convergence of cdp_throttle_ops
Currently the cdp apis are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the pdev/vdev id or peer mac address, which will be
used to get the respective handles, and hence
avoiding the unwanted access of the handles if
it has been deleted.

Converged throttle_ops
- throttle_init_period
- throttle_set_level

CRs-Fixed: 2539744
Change-Id: I0e1339ead92d66463d3b58ed9268c7194fd2bd27
2019-11-11 23:07:46 -08:00
Rakesh Pillai
ef35fab84c qcacld-3.0: cdp: Convergence of cdp_delay_ops
Currently the cdp apis are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the pdev/vdev id or peer mac address, which will be
used to get the respective handles, and hence
avoiding the unwanted access of the handles if
it has been deleted.

Converged delay_ops
- tx_delay
- tx_delay_hist
- tx_packet_count
- tx_set_compute_interval

CRs-Fixed: 2539742
Change-Id: I201d343f4ced3b861a65ddf78e10e66f786e5e91
2019-11-11 23:07:40 -08:00
gaurank kathpalia
f50998a4cb qcacld-3.0: Set the flag for max BW support
Currently the FW expects the flag of
scan chan cmd to be set if the max BW
is filled for all the channels, which
is not set by driver.

Fix is to set the flag's 2 bit to allow
FW to use the max chanel BW.

Change-Id: I6240b8ae2f0c7389c43dd310d894a35411503d6e
CRs-Fixed: 2550431
2019-11-11 10:49:18 -08:00
Arun Kumar Khandavalli
27f443e880 qcacld-3.0: Drive the self peer creation from the sme layer
Presently as part of the vdev creation the self peer for the vdev
is created in the object manager and in the firmware. The self
peer creation in the object manager needs the vdev to be in the
created state. As part of new changes to send the vdev create to
firmware as part of the vdev creation notification there will be
failure in creating in the self peer.

Hence, drive the self peer creation from the SME layer which will
create the vdev.

Change-Id: I0875f4ec5bd96438c0f21056e1d6920d3be2a177
CRs-Fixed: 2555868
2019-11-08 06:54:39 -08:00
wadesong
88aa89a079 qcacld-3.0: Convert SME code legacy channel ID usage
1) Change hdd_parse_plm_cmd's code to populate frequency
   list instead of channel ID list into struct
   plm_req_params.

2) Use frequencies instead of channel IDs in the following
   APIs' parameter/code:

   sme_set_plm_request
   csr_is_supported_channel

3) Stop populating channel freq list in function
   wma_plm_start, as the frequency list will be included
   in struct plm_req_params automatically.

Change-Id: I6704752317248ac4cfe800629d777f4a127e7be7
CRs-Fixed: 2560088
2019-11-07 07:23:37 -08:00
nakul kachhwaha
e3e92ae6db qcacld-3.0: Fix data stall during TDLS Offchan Operation
In non concurrency scenario with TDLS Offchan link, FW is sending
two pauses namely PAUSE_TYPE_CHOP and PAUSE_TYPE_CHOP_TDLS_OFFCHAN
back to back when DUT dwells between TDLS Off channel and AP channel
respectively. HOST handles these events as vdev based event instead
of peer based event and remove all the tx queues from scheduler for
all the peer irrespective of the pause type. This will lead to data
stall in TDLS offchan scenarios, as at any point of time, host will
be receiving one of the two pauses and keep its peer queues out of
scheduler.

Changes are done to decouple the handling of pause/unpause events
for TDLS peers with Offchan enabled from vdev based pause/unpause.
TDLS peers will be paused/unpaused based on PAUSE_TYPE_CHOP_TDLS_OFFCHAN
pause type. Other pause/unpause events will be handled as usual.

Change-Id: Iccb46fd6d121d5df6d53633c9978ddc8e02f588f
CRs-Fixed: 2558612
2019-11-06 23:50:23 -08:00
bings
2e8c62b82d qcacld-3.0: Convert legacy chan ID usage to chan freq
Modify the following API's code and parameters to make
sure it is using frequency instead of channel ID:
   sme_get_connected_roaming_vdev_band

Change enum band_info band field in struct set_pcl_req
to uint32_t band_mask

Change-Id: I8ad6fc2676c2306043aa9415eefb2b89d8c49a4d
CRs-Fixed: 2555041
2019-11-06 14:06:04 -08:00
bings
a4e27271d9 qcacld-3.0: Disable dfs phyerr offload when no sap/go in DFS channel
As FW required, send WMI_PDEV_DFS_PHYERR_OFFLOAD_DISABLE_CMDID when there
is no beaconing session in DFS channel for FW which supports dfs offload.

Change-Id: Ib3c24758b81d6218d2504729d44cdbfb122933ee
CRs-Fixed: 2544846
2019-11-06 14:05:48 -08:00
Visweswara Tanuku
41d21c04e4 qcacld-3.0: Do not start motion detection if baselining is not done
Do not start motion detection if baselining is not done, or motion
detection config values are not available

CRs-Fixed: 2547648

Change-Id: I23a02dbd21e2b673e625938a35003f3730135327
2019-11-05 04:17:43 -08:00
Wu Gao
882a1c94ff qcacld-3.0: Convert SME code legacy channel ID usage
Pass frequency to pcl_list of struct wmi_pcl_chan_weights directly.

Change-Id: I12cdbd37517098a73d6047288ab2c5eae71463cb
CRs-Fixed: 2554750
2019-11-04 00:19:55 -08:00
Kiran Kumar Lokere
93484d7ccb qcacld-3.0: Fix the wrong HE 160MHz mcs map in assoc request
Populate HE 160MHz mcs map only from 5G band mac-phy capabilities.
Session bandwith is checked to disable HE mcs for 160MHz, but session
bandwidth is updated after the MCS is disabled. Update HE 160MHz
MCS map after session bandwidth is derived.

Change-Id: I94813ae269856b34cf1ea6c6a13013738909c674
CRs-Fixed: 2556457
2019-11-01 15:19:43 -07:00
Abhinav Kumar
d883b0e176 qcacld-3.0: Update group mgmt cipher suite in RSO commands
Newly introduced WMI macro for group management cipher suite is:
WMI_CIPHER_BIP_GMAC_256 0xf

Currently, host updates the localy defined macro for group
management cipher suite to the firmware only as part of RSO
commands over the WMI_AP_PROFILE command. Host should update
group management cipher suite as per WMI cipher macro.

Fix is to update the group management cipher suite in RSO cmd
as per WMI cipher macro.

Change-Id: I81dc5e800c55d1eb6cd0447265205d3413b29177
CRs-Fixed: 2547507
2019-11-01 13:47:22 -07:00
Jianmin Zhu
dc76e63f0f qcacld-3.0: Remove wma target_if F/W event handler from wma
target_if F/W event handler is moved from wma to cmn part per
MCL/WIN converge requirement.

Change-Id: I583059190827c9aed8d8089412a4cfac92ddf4c9
CRs-Fixed: 2554859
2019-11-01 08:16:50 -07:00
Jianmin Zhu
bc99999c41 qcacld-3.0: Don't register vdev start stop delete event in wma_open
Vdev start/stop/delete events have been registered in
target_if_vdev_mgr_wmi_event_register in MCL/WIN common code.

Change MACRO name SERIALIZE_VDEV_RESP_TIMER to
SERIALIZE_VDEV_RESP.

Change-Id: I4d54a4755d7311b488f12f46a73db7e4645a4e0b
CRs-Fixed: 2554732
2019-11-01 08:16:46 -07:00
Amruta Kulkarni
5b738c23a3 qcacld-3.0: Remove wma_txrx_node params(tx_power,max_tx_power)
Target_if cleanup done for tx_power,max_tx_power params
 Use vdev_mlme_mgmt_generic params(tx_power,maxregpower) instead

Change-Id: I3dc30bbce0026dc88f83009671851a70c1495b30
CRs-Fixed: 2555402
2019-10-31 22:30:18 -07:00
Visweswara Tanuku
1a5e992075 qcacld-3.0: Use correct event id while registering md events
Use correct event ids while registering motion detection
events

Change-Id: I4328060dea7ac14459d194f98e92cd5ba518edd0
CRs-Fixed: 2548224
2019-10-26 11:55:04 -07:00