Commit Graph

170 Commits

Author SHA1 Message Date
Paul Zhang
d6d1635ec8 qcacmn: Implement interface to set WLM level
WLAN Latency module (WLM) is added by fw to gain latency
because of schedule out of service like power saving,
scanning, roaming etc. per the level set by framework.

Change-Id: I6b8775e5f492b6f287d60d39610a544114185a23
CRs-Fixed: 2152290
2017-12-11 22:08:28 -08:00
Kris Muthusamy
f1db3f4b21 qcacmn: WMI changes for target scheduler policy
WMI changes for target scheduler policy

Change-Id: I80407695af4bd8c9c57ae0bf33d0f03bac879c84
CRs-fixed: 2152448
2017-12-07 17:25:30 -08:00
Gyanranjan Hazarika
ca79a651c8 qcacmn: Add HE beamforming capabilty mask
To be able update the target with user preferred HE beamforming
capablities we need corresponding commands exposed to the user
space. Add HE beamforming capabilty mask in order to set or get
these capabitlites in the destination variable to enable these
commands.

Change-Id: I0f7f86fa53a3f6629299808042d05e78ecc489bd
CRs-fixed: 2126717
2017-12-06 17:25:18 -08:00
Om Prakash Tripathi
a917863e62 qcacmn: Add support for vdev delete response handler
Add support for vdev delete response handler

Change-Id: I7944064857ee2a1c8c8c1dcb739d692a7f463a13
CRs-Fixed: 2149401
2017-12-06 13:27:31 -08:00
Ruchi, Agrawal
d1e8e496eb qcacmn: Add CCE disable param in WMI resource cfg
CCE param disable is required for RAW Mode AMSDU cases,
RAW AMSDU frames causes CCE to crash, to avoid crash
disable cce component using CCE param.

Change-Id: I1b221e12ac69a873e995485c56a6ea5b310e727c
CRs-Fixed: 2132295
2017-12-06 06:57:04 -08:00
Kiran Venkatappa
75ba86ec7c qcacmn: Add status and num_extra_peers in wmi ready extract API
Add status recieved as part if WMI ready event into wmi_ready host param
structure to enable the removal of seperate API to extract status. Add
new param introduced by FW to indicate number of extra peers FW is
allocated for its internal use.

Change-Id: I7a9ed64d4a9d1f38397197c4c4a4114d8365eef7
CRs-Fixed: 2149878
2017-12-06 06:57:00 -08:00
Kiran Venkatappa
1d3e529597 qcacmn: Add WMI service define for offchan_data_tid
Add offchan_data_tx_support service enum to map to new service bit for
this support.

Change-Id: I772d1d43e507469efc678f791ce92ef26eb844a5
CRs-Fixed: 2145450
2017-12-04 03:25:28 -08:00
Adil Saeed Musthafa
65dabe448c qcacmn: Add WMI_UNIT_TEST_EVENTID extraction code
Add corresponding host side extraction for WMI_UNIT_TEST_EVENTID

CRs-Fixed: 2073983
Change-Id: Id8455f58d1ba1accdee7095b211abf9a25c7538c
2017-11-30 17:39:10 -08:00
Mukul Sharma
396cef7bcf qcacmn: Converge on wmi event registration / unregistration
Converge on wmi event registration / unregistration method.

Change-Id: If03a38d74a47cc1d900bc5734a7c8f950513efaa
CRs-Fixed: 2148479
2017-11-30 03:40:33 -08:00
Rathees kumar Chinannan
cd61d59e3a qcacmn: Add wmi support to dump WDS table
Request and print WDS table from FW using WMI command and event.
WMI_PDEV_WDS_ENTRY_LIST_CMDID is used to request WDS table
entries and WMI_PDEV_WDS_ENTRY_LIST_EVENTID is used to process
received WDS entries.

Change-Id: I452c8067d191d09826a38b751bb66f1bde587d9b
CRs-Fixed: 2003377
2017-11-22 13:20:18 -08:00
Gurumoorthi Gnanasambandhan
2b51b577c6 qcacmn: Request and process Beacon stats from FW
Request and process  Beacon frames from FW using WMI command and event.
WMI_HOST_REQUEST_BCN_STAT is for beacon stats request and event processing.

Change-Id: I99250384868d62089a0f7d2acf94dd6e29ef67b9
CRs-Fixed: 2139393
2017-11-16 11:40:37 -08:00
Kiran Venkatappa
084aff450b qcacmn: Add WMI API to send beacon offload control
Beacon offload control WMI command is used to control beacon tx in
beacon offload enabled mode. Add WMI API to send this command to FW.

Change-Id: I8b340b69ff508aaf80b9a80de044b0189b947a66
CRs-Fixed: 2140255
2017-11-13 21:08:54 -08:00
Kiran Venkatappa
276e8d5911 qcacmn: Add API to extract params from WMI ready event
WMI ready event provides num_dscp_tid, num_total_peers and other
information that  is used. Add API to extract these params.

Change-Id: I85ffc43f20935d84de133591020468c5e5f102de
CRs-Fixed: 2141667
2017-11-13 21:08:52 -08:00
Sathish Kumar
fd134e45dd qcacmn: Add support for custom aggr size cmd and rate dropdown vdev param
Add support for configuring aggregate size for A-MSDU and A-MPDU
aggregations.

Add support for rate dropdown vdev param to dropdown rates for SU, MU
and MGMT packets.

Change-Id: I033693e1c21c05d06acd7df36eac580be19fe20b
CRs-Fixed: 2138655
Acked-by: Aditya Sathish <asathish@qti.qualcomm.com>
2017-11-11 03:25:32 -08:00
Padma, Santhosh Kumar
e98fadcd8c qcacmn: Add changes to handle WMI_ROAM_SYNCH_FRAME_EVENTID
Firmware sends beacon/probe response, reassoc request and
reassoc response using new event WMI_ROAM_SYNCH_FRAME_EVENTID
when the data that it wants to send via WMI_ROAM_SYNCH_EVENTID
exceeds max length 2k in firmware. Add common changes to handle
WMI_ROAM_SYNCH_FRAME_EVENTID in such a scenario.

Change-Id: I62755dfa3c2a4b0ff9ee48fd5f24cc2e300b374f
CRs-Fixed: 2122432
2017-11-10 21:27:19 -08:00
Om Prakash Tripathi
3e166ff7e4 qcacmn: Add support for wide band scan
Add support for 40 MHz or wider channel bandwidth scan

Change-Id: I72f3cf42e6dc957ef56842d0c333c62169cb6d68
CRs-Fixed: 2139415
2017-11-10 17:41:00 -08:00
Anirban Sirkhell
428a19b594 qcacmn: Add pdev param to set firmware to use lower chains for tx
Add new pdev param with which firmware can be set to use
a lower number of chains without doing a reset. In response
to this firmware's ratecontrol will select only rates
which can be sent using a lower number of chains, and set
the h/w tx descpriptor's chain select to whatever value
has been configured using this command.

CRs-Fixed: 2123206
Change-Id: Ice713393958c2c2acedba0fe2e9354f3fe3bee75
2017-11-09 07:46:56 -08:00
Mukul Sharma
dc5672f760 qcacmn: Perform cleanup of send_init_cmd
Currently, WMI is exposing two command ops
(send_init_cmd and init_send_cmd) for init
command purpose which is leading to data/code
redundeancy. Perform clenaup for send_init_cmd.

Change-Id: I8f31ab45392cf2afb3cc34c633ba83ea42a3a835
CRs-Fixed: 2138507
2017-11-08 19:43:01 -08:00
Anirban Sirkhell
101b8b4cde qcacmn: Add vdev param to enable/disable buffering of mcast frames
Add WMI vdev param to indicate firmware not to buffer mcast frames
even when clients are in power-save.

CRs-Fixed: 2133095
Change-Id: I4fe936e6a490ec8007f909e1ba079bec2f2713cd
2017-11-08 03:01:28 -08:00
Sathish Kumar
322b4cb4c5 qcacmn: Add support for periodic chan stats config command
Add support for sending periodic chan stats config command to target. Once
configured, host will receive the channel stats periodically as per the
configured period

Change-Id: Ic2b4692d0e2662ca590b925732f6cb33aac7a6de
CRs-Fixed: 2136759
2017-11-03 15:58:53 -07:00
Rajeev Kumar Sirasanagandla
b851d10868 qcacmn: Add support to query RCPI info
RCPI is measure of received RF power in the selected channel for a
received frame and is measured at the antenna connector and shall be
measured over an entire frame. It is a monotonically increasing,
logarithmic function of received power level.

Wlan firmware computes RCPI.

Add host support to query firmware for RCPI information of
peer mac address in sta, p2p client, softap and p2p go modes.

Change-Id: I27fe45e993bd9b157fe33ca08a56330c1c950d16
CRs-Fixed: 1093187
2017-11-01 13:56:58 -07:00
Gyanranjan Hazarika
409dc097be qcacmn: Enable sending vdev-param HEOP to target
It is required to send vdev-param HEOP to the target with
updated bss-color to enable HE BSS Color feature. Add
necessary code to support this.

Change-Id: I826bc5387dad8d044abcbc9cbdf69e93b59beb39
CRs-fixed: 2126605
2017-10-29 15:25:23 -07:00
Sravan Kumar Kairam
786886b483 qcacmn: Management MGMT TXRX component over HTT
Currently there is no support for management MGMT TXRX
component over HTT endpoint and supports only over WMI.
As a result for platforms which does not support MGMT
over WMI will break other components which uses MGMT TXRX
component to send mgmt packets.

In this change implement changes to support MGMT TXRX
component over HTT.

Change-Id: I487aca3893aa21905a744e2e5dc7104e6c414fdc
CRs-Fixed: 2097694
2017-10-25 17:48:07 -07:00
Jeff Johnson
bcb1eefaf6 qcacmn: Fix camelCase issues with DHCP Offload
Both the unified DHCP offload struct dhcp_offload_info_params and all
of the function prototypes use "camelCase" which is frowned upon by
the Linux Coding Style. Replace the camelCase.

Change-Id: I3f2ce74bc150668b96b1946ef7b2d556c23dad94
CRs-Fixed: 2121485
2017-10-20 10:06:20 -07:00
Vignesh Viswanathan
051ef2e644 qcacmn: Support FILS roaming
Add cmn support for the following:
- Update ERP info in RSO Start
- Update HLP info in a new command WMI_PDEV_UPDATE_FILS_HLP_PKT_CMDID
- Set/Delete PMK cache info with WMI_PDEV_UPDATE_PMK_CACHE_CMDID
- Process FILS TLV in Roam Synch Indication and update the FILS info
  [seq number,PMK, KEK, realm] to Supplicant.

Change-Id: I239bf5d6c4455d39181e335dbf73bcade16aee8e
CRs-Fixed: 2089128
2017-10-18 18:28:54 -07:00
Gurumoorthi Gnanasambandhan
c1e317ea40 qcacmn: Fix compile error
2017426 removed rssi_args causing compile error.

Change-Id: I5f428535373cd7716e993f4447b27fc33296aa5c
2017-10-13 13:43:44 +05:30
Himanshu Agarwal
99881a9668 qcacmn: WMI changes to send BSS scoring params from INI to firmware
Add support to send BSS scoring params from INI to firmware.
Firmware will use these params to select best candidate during
roaming.

Change-Id: Iad0e71c770ac4f4c31ce3b19552f09fd27dc37bf
CRs-Fixed: 2121739
2017-10-12 14:22:36 -07:00
Gyanranjan Hazarika
4a2f03c01c qcacmn: Add support for 'he_ltf' command
Currently, we do not have support for 'he_ltf' command. But we need
this command for certain IOP testcases. Add support for 'he_ltf'
command.

Change-Id: I296b18762aaa52da80a5755c5bcca8dbd12d9b13
CRs-fixed: 2118948
2017-10-12 14:22:30 -07:00
Sathish Kumar
b432fc0ef7 qcacmn: Add support for configuring ACK timeout pdev param
Add support in host to configure ACK timeout pdev param through
WMI interface

Change-Id: Ifc43cd146fbbf6ef818268acf69789b38b28e384
CRs-Fixed: 2042639
2017-10-12 14:21:53 -07:00
Gurumoorthi Gnanasambandhan
1b5ceb75a2 qcacmn: Initialize pdev_id for PDEV STATS request and event
Initialize pdev_id for PDEV stats request and response event.
Add param to set pdev stats request timer.

Change-Id: I11f648070cd39f026129d1cf3aa13bf296d25e6e
2017-10-06 02:36:28 -07:00
Jeevan Kukkalli
e48dc35af0 qcacmn: Add functionality to send bridge MAC to firmware
Add functions to send bridge MAC programmed from user
space to firmware.This change is part of a workaround
to fix an looping issue which resulted in wrongly adding
bridge's own MAC address to fw WDS table.Send MAC address
to target to avoid adding our own bridge address to fw
WDS table as part of source port learning.

Change-Id: I815d3c3f106cd2f528ac9172712ec6c2f47f4410
CRs-Fixed: 2070956
2017-10-04 14:35:39 -07:00
Krunal Soni
78819cf2bd qcacmn: During host-invoked roaming, don't to send null data to AP
During host invoked roaming, set
WMI_ROAM_INVOKE_FLAG_NO_NULL_FRAME_TO_AP
flag so that FW will not send NULL data frame while doing transition.

CRs-Fixed: 2046964
Change-Id: I043c3d2431e4da5af36fb710bd36a520550abbd3
2017-10-03 16:02:43 -07:00
Kiran Venkatappa
482bc5ecbc qcacmn: Add support of extended service bitmap handling
Extended service bitmap is used by FW to indicate supported services
bitmap for services excedding the current limitation of 128. Add support
to save and use this bitmap to check services supported in FW. Also,
change exisiting services bitmap to be dynamic allocated buffer to
optimize the buffer used to save the bitmap.

Change-Id: I24a0321bc1a06ee3aedf1c6acbc379e907bbd464
CRs-Fixed: 2103617
2017-09-23 10:32:47 -07:00
Vignesh Viswanathan
d7d562de5a qcacmn: Pass new Bad RSSI threshold offset for 2G and flags to FW
Add new Bad RSSI threshold offset for 2G to 5G roam and flags
to roam_offload_scan_rssi_params and fill them in the WMI cmd TLV
to pass it to the firmware.

Change-Id: I78876f5104e67280b1342ec0957d0162edbaf502
CRs-Fixed: 2105894
2017-09-21 16:41:52 -07:00
Anurag Chouhan
d40d1d1df4 qcacmn: Add wmi interface command to support debug stats
Add wmi interface command to support set/get NUD debug stats.

Change-Id: I2c5e9e2f6b0bb2e7b7b0a6404e939b33bffa3f18
CRs-Fixed: 2011463
2017-09-21 16:41:48 -07:00
Jiachao Wu
56ce86e04f qcacmn: Pass beacon tx rate value to FW
Set bcn_tx_rate when send WMI_VDEV_START_REQUEST_CMDID to FW.

Change-Id: I402d996fe4382d8dfd765e3bf7957d4696549b00
CRs-Fixed: 2097703
2017-09-19 04:18:27 -07:00
Varun Reddy Yeturu
7a7a6e85bb qcacmn: Pass config parameters for bad RSSI roaming to firmware
Fill the roaming parameters wmi_roam_bg_scan_roaming_param and
send them to firmware to be consumed for the background roaming
at bad RSSI

Change-Id: I08786141d28f8459aad27aaf53816ec4cdec7f08
CRs-Fixed: 2082906
2017-09-18 20:27:43 -07:00
Gyanranjan Hazarika
e72853c63f qcacmn: D1.4 support - Code changes for HE-MCS & NSS Set
D1.4 defines Supported HE-MCS and NSS Set (under HE-cap)
differently from its earlier versions in D1.0/D1.3.
Make code changes to bring in these new changes.

Change-Id: I4a482e48c071bbbe02c7f33645b7fe80870482d9
CRs-fixed: 2100674
2017-09-15 12:22:53 -07:00
Om Prakash Tripathi
4d23cd7886 qcacmn: Add support to fetch min and max tx power
Add support to fetch min and max tx power from target for
a given set of mcs, nss, chainmask, bw, and other rate flags.

Change-Id: Iafe082db81503a52bdc704d4b71d86d23788fddb
CRs-Fixed: 2061802
2017-09-08 15:46:56 -07:00
Soumya Bhat
3eec5f3273 qcacmn: WMI support for EXT NSS Signaling
Add required WMI commands to communicate support of
EXT NSS Signaling between host and FW. Also, if
EXT NSS Signaling is supported the use new WMI to
communicate the required information between host and FW.

Change-Id: If3e1ef11a55f8fbdffddb3b10963878a6a2ca415
CRs-Fixed: 2089043
2017-08-29 20:58:30 -07:00
Vikram Kandukuri
6915956d4c qcacmn: Update WMM params per VAP for lithium onwards
Update WMM params per VAP for lithium onwards

Change-Id: I025d8f314b255f4fa2da5c83916a122733b36c27
CRs-Fixed: 2064780
2017-08-28 08:12:03 -07:00
Varun Reddy Yeturu
1d25d6d7fc qcacmn: Add sanity check to avoid len overflow issue in WMI event data
In WMI/WMA, data from event buffer from FW is used without
sanity checks for upper limit in multiple places. This might
lead to a potential integer overflow further leading to buffer
corruption

Add upper bound checks for max limit of event buffer (1536)
in all affected places to prevent the potential integer
overflow

Change-Id: Ic9194a27c4a4c63fc68ff7fc61165a53e66ca4f4
CRs-Fixed: 2095545
2017-08-26 02:17:06 -07:00
Kiran Venkatappa
fe1abe8c70 qcacmn: Add hw_mode_id for SBS_OR_DBS mode
Update hw_mode_id enum to add an entry for SBS_OR_DBS mode.

Change-Id: I642682dabc4b04e8d292a54995be17488e026093
CRs-Fixed: 2097571
2017-08-25 21:27:06 -07:00
Varun Reddy Yeturu
f0d90c7f28 qcacmn: Configure MAWC roaming parameters to firmware
Get the MAWC based roaming parameters from CSR/WMA and pass them
to firmware

Change-Id: I78a287a39715dbabcceb2cb5c4270726ba265d61
CRs-Fixed: 2064837
2017-08-25 18:46:28 -07:00
Rajeev Kumar Sirasanagandla
a3f4a29130 qcacmn: Add support to include selective scan IEs only
qcacld-2.0 to qcacmn propagation

Add support to include only selective IEs in probe requests in
order to improve user's privacy.

Change-Id: I59cf4181f60f5b4cd87a32fbcf29160d87ca59c8
CRs-Fixed: 1105495
2017-08-19 01:27:07 -07:00
Kiran Venkatappa
22046183ed qcacmn: Update chaninfo extract API for TLV target
FW implementation is updated to add more fields in chan info event.
Update host implementation to extract these fields.

Change-Id: I4935f3aa1c2e87d27a13a29651db8d8835cb4f91
CRs-Fixed: 2090787
2017-08-18 17:46:43 -07:00
Varun Reddy Yeturu
947606fe4a qcacmn: Fill rssi_thresh_offset_5g in WMI
Fill rssi_thresh_offset_5g in WMI to configure this
value into the target

Change-Id: I0e5dde987fcc9fbb1f0556ec6f195d0a5ada4ffe
CRs-Fixed: 2093335
2017-08-16 17:36:53 -07:00
Varun Reddy Yeturu
8ee469b48e qcacmn: Add ldpc_rx_enabled to vdev start parameters
Add a field ldpc_rx_enabled to vdev start parameters so that
this information can be propagated from the upper layers to
WMI and further to firmware.

Change-Id: I25fd148f77d86eb646a0e40fef6ac99c4fbcdf22
CRs-Fixed: 2023893
2017-08-15 16:27:53 -07:00
Rajeev Kumar Sirasanagandla
d8d18f187a qcacmn: Add support to randomize probe req SA and Seq number
qcacld-2.0 to qcacmn propagation

Randomize probe request's source address and sequence number to
improve user's privacy.

Change-Id: I265f15476f1a23a268f159a44b6a3e4243fb9068
CRs-Fixed: 1105081
2017-08-14 20:07:22 -07:00
Ganesh Kondabattini
34e0131b30 qcacmn: Add wmi command to set limit off chan parameters
Add WMI command for setting limit off channel command
parameters to firmware.

CRs-Fixed: 2068307
Change-Id: Ia99f1b4d4fe33082a561c9307af9d76ae16d8be4
2017-08-06 19:45:58 -07:00