Commit Graph

103 Commits

Author SHA1 Message Date
Paul Zhang
92ab8d3c13 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
Om Prakash Tripathi
f3ef42df77 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
Adil Saeed Musthafa
d280596fd3 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
Rathees kumar Chinannan
e3d6febe2d 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
Will Huang
422ac9a038 qcacmn: Enable D0WOW for pcie
Enable FEATURE_WLAN_DOWOW for pcie.
This is for backward compatible with rome fw.

Change-Id: I41b9628179e81da682e6c6a9100d08ba7268f1a0
CRs-Fixed: 2070433
2017-11-21 03:20:53 -08:00
Gurumoorthi Gnanasambandhan
b5fb8364b2 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
7fe3afc311 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
094c24f5d9 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
Naveen Rawat
a5817e7b53 qcacmn: Add Wake timer pattern API
Add WOW_TIMER_PATTERN to enable host to set wake timer in FW when required.

Change-Id: Id37420ee8295d11fc8fe0f0fcc344d6ef31c315b
CRs-Fixed: 2134108
2017-11-13 17:27:15 -08:00
Sathish Kumar
6011c745d9 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
Mukul Sharma
d7c9e339e6 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
Rajeev Kumar Sirasanagandla
ab4275dde4 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
Jeff Johnson
a87370f21d 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
81bde49194 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
Himanshu Agarwal
eaf7d738b6 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
Gurumoorthi Gnanasambandhan
305aeae27f 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
0aeff78c35 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
Kiran Venkatappa
7d73914da9 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
Anurag Chouhan
97f0042e55 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
Manoj Ekbote
dd273905a1 qcacmn: Add function to extract MAC addr list
For DBDC/DBS cases, each radio will have a separate MAC
address. FW will provide the list to host in ready
event. Handler has been added to extract the list.

Change-Id: I6da96ae02a1f30995e3953358677090b84fc57c4
2017-09-06 20:56:03 -07:00
Vikram Kandukuri
3bb482bf4a 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
eac038b60d qcacmn: Configure MAWC NLO parameters to the firmware
Get the MAWC based NLO parameters from HDD/WMA and pass them
to firmware

Change-Id: I16ce12d36df7f3ccab4db32b4d7f72a0f9762795
CRs-Fixed: 2064837
2017-08-25 18:46:30 -07:00
Varun Reddy Yeturu
412601c704 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
Ganesh Kondabattini
40252f5351 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
Govind Singh
2d8bfc63c4 qcacmn: Remove redundant header file inclusion from wmi layer
Remove redundant header file inclusion from wmi layer by abstracting
the dependency with in WMI layer.

Change-Id: Ie113b69006a960b70d781134775bc44c7508fc4c
CRs-Fixed: 2023825
2017-07-26 08:14:52 -07:00
Srinivas Girigowda
61e086ff92 qcacmn: Move the logs to appropriate log levels
Move the logs to appropriate log levels.

Change-Id: I9e28ecc7a62be6108ba13e510b8b42b843c97468
CRs-Fixed: 2063646
2017-07-06 11:40:51 -07:00
Rajeev Kumar Sirasanagandla
4c1fecdc46 qcacmn: Send proper CTL info to fw in world regd
Currently, for world regd and some other regds where conformance test
limit is NO_CTL, host is sending invalid CTL info to fw instead of
NO_CTL (0xff) due to type conversion issues.

To fix this, use proper unsigned type for CTL info.

Change-Id: I0407d30c6cd6f7f485d767c97bc5381c9c731440
CRs-Fixed: 2056847
2017-07-03 15:58:01 +05:30
Keyur Parekh
7df8ca1c08 qcacmn: Packet log changes for wifi3.0
Change-Id: I82462f426e4e449c5bc65331e39f07a062e8e242
2017-06-27 23:37:33 -07:00
Nitesh Shah
52323d0cf1 qcacmn: Add support to send DBS Scan command to firmware
This change adds support to send the DBS Scan command to
the firmware.

Change-Id: I147855690f09af03a43f85f2e57626d7f73998de
CRs-Fixed: 2029402
2017-06-14 08:23:51 -07:00
Sathish Kumar
e5f0e0e801 qcacmn: Add and modify extract APIs for TBTT offset and SWBA events
Recently, FW changes were implemented to support WMI resource config for
multi-radio. As part of this, the TBTT offset and SWBA events were modified
to support increase in the number of vdevs per SOC.

Brief description of the changes with respect to TBTT offset
------------------------------------------------------------

Converged FW will send extended TBTT offset event when the number of vdevs
configured is greater than 32 and will continue to send normal TBTT offset
event when the number of vdevs configured is less than 32. Legacy FW will
continue to send vdev map and tbttoffset list array as part of the TBTT
event.

Extraction API is added to extract the number of vdevs configured for both
legacy and converged FW. Number of vdevs is sent directly by the FW for
extended TBTT offset event but sent as vdev map for the normal TBTT offset
event. In order to handle normal TBTT offset event, extraction API for
normal TBTT event adds logic to convert vdev map into the number of vdevs
configured.

Extraction APIs are added to extract vdev id and tbttoffset information per
vdev that are configured. The vdev id information is sent as vdev map and
tbttoffset list as an array for normal TBTT event and as an array of
structures containing vdev id and tbttoffset in the case of extended TBTT
event. In order to support normal TBTT event based on num vdevs, extraction
API for normal TBTT eventadds logic to determine the vdev id from vdev map
based on the index(running through 1 to total number of vdevs) passed from
the driver.

Brief description of the changes with respect to SWBA
-----------------------------------------------------

Converged FW will send additional information num vdevs and vdev id
embedded in tim info and p2p noa TLVs for SWBA event. Legacy FW will
continue to send vdev map and array of tim info and p2p noa desciptors.

Extraction APIs is added to extract the number of vdevs configured for both
legacy and converged FW. Number of vdevs is sent directly by the FW for
SWBA event in the case of converged FW and as a vdev map in the legacy FW.
In order to handle legacy FW, extraction API for non-TLV adds logic
to convert vdev map into number of vdevs configured.

Extraction APIs are modified to extract newly embedded vdev id information
in tim info and p2p noa descriptors. The vdev id information is sent as
vdev map for legacy. In order to handle legacy FW, extraction API for
non-TLV adds logic to determing the vdev id from vdev map based on the
index (running through 1 to total number of vdevs) passed from the driver.

Change-Id: Ibf84adbb1c526321ec031d5539aff66dcbd1315b
CRs-Fixed: 2053628
2017-06-02 20:38:50 -07:00
Naveen Rawat
42cd1e66cb qcacmn: Add implementation for WMI_OEM_DMA_RING_CFG_REQ_CMDID
Program the DMA ring configuration to firmware using
WMI_OEM_DMA_RING_CFG_REQ_CMDID.

Change-Id: I99e5b3a369d7eeee1d1fe41782285ed54cdb82cf
CRs-Fixed: 2053958
2017-06-02 14:47:33 -07:00
Ravi Kumar Bokka
0f3f04d682 qcacmn: Configure and clear packet filter
Add PMO changes to configure and clear default packet filters
over suspend and resume

Change-Id: I1f3fab170d2669865da8ba09673df6ec8e755b31
CRs-Fixed: 2034458
2017-05-30 17:31:17 -07:00
Kiran Kumar Lokere
daf91e333c qcacmn: Add support to send new country to FW
Add support to set new country code to the FW

Change-Id: Id24967b7c9e93bfbf045f494f142be9e33e16483
CRs-Fixed: 2042879
2017-05-18 13:42:21 -07:00
Om Prakash Tripathi
c569cdb9f5 qcacmn: Add TLV support for thermal throttling
1. Add multi radio support for thermal throttling
2. Add TLV WMI support for thermal throttling

Change-Id: I2cdbf9a4acdd9346c0fe3dd24c510885cc8fef8e
CRs-Fixed: 2041264
2017-05-15 17:00:09 -07:00
Govind Singh
54c6d12d7a qcacmn: Remove ol_defines dependency from WMI layer
ol_defines header inclusion is invalid in WMI layer.
Remove the header inclusion by abstracting the dependency
with in WMI layer.

Change-Id: I5eb8624605cde20b516a1d8d0c823996c363e119
CRs-Fixed: 2023821
2017-04-28 07:42:08 -07:00
Sathish Kumar
80f4f38ee3 qcacmn: Add support for WMI_COEX_CONFIG command
Add support in WMI layer to configure coex config command for
lithium based chipsets

CRs-Fixed: 2037499
Change-Id: Ib83407524bd3b5cdad28f73a6ccc36d4a0271779
2017-04-26 06:46:29 -07:00
Padma, Santhosh Kumar
cb1ee46e84 qcacmn: Get CCA from firmware
Requirement is to get CCA from frmware when connection fails due to
assoc/auth/probe response timeout. These are common changes to get
CCA from firmware.

Change-Id: I062343ed065d7b0c38b9e3b24ecfa9851b9b1537
CRs-Fixed: 2031843
2017-04-25 05:56:02 -07:00
Frank Liu
3d5e9997f1 qcacmn: WMI changes for TDLS component
Update TDLS related wmi change

Change-Id: I3fe2745ff7fa910a8ffb6fa95256d8a10a7237a3
CRs-Fixed: 2011330
2017-04-20 00:04:37 -07:00
Ravi Kumar Bokka
8f2c92f8dd qcacmn: Enable HW broadcast filter
Add ini to param to enable/disable HW filter for bc
(except arp) frame.

Change-Id: Ibd8a0543937c2ca749851ba1902c8961b500efa4
CRs-Fixed: 1113550
2017-04-17 05:28:17 -07:00
Vikram Kandukuri
45fc858159 qcacmn: Static and Dynamic chain mask selection
Host support for Static and Dynamic chain mask selection.
parse new TLVs from ext service ready,copy tables to
wlan_objmgr_soc object.

CRs-Fixed: 2016643.
Change-Id: Ia4735eb4c7774c381df01f56696e8c86fc6c56ab
2017-04-17 02:13:26 -07:00
Abhishek Singh
5987b630af qcacmn: Add WMI changes for PNO for converged scan
Add WMI changes for PNO for converged scan

Change-Id: I8133030502f63f458164f705aa88ebadf446ae60
CRs-Fixed: 1095299
2017-04-11 11:04:34 -07:00
Kiran Venkatappa
c13fc7b786 qcacmn: Add WMI APIs to send and extract offchan data tx
Add API to send offchan data TX command and extract API to get offchan
data tx completion params.

Change-Id: I1e04d50810e43cec2c700476581e518b394db582
2017-04-11 11:04:32 -07:00
Om Prakash Tripathi
1d83e35883 qcacmn: Enable converged scan component
Update WMI layer to adopt to converged scan module
and enable converged scan component init/deinit

Change-Id: I4f9da95f90f737ac8bdcaa54f9eb4e154f37d3de
CRs-Fixed: 1095299
2017-03-29 09:09:24 -07:00
Wu Gao
cd3a8516b1 qcacmn: WMI changes for P2P component
Update WMI layer to adopt to converged P2P component.

Change-Id: Ia031476f7ee6071d2e15010fc3f7c998df9995dd
CRs-Fixed: 2011217
2017-03-22 19:21:34 -07:00
Arif Hussain
f00be1dbc4 qcacmn: Add support for DFS_PHYERR_OFFLOAD commands
Add support for below wmi commands
WMI_PDEV_DFS_PHYERR_OFFLOAD_ENABLE_CMDID
WMI_PDEV_DFS_PHYERR_OFFLOAD_DISABLE_CMDID

Change-Id: I5cfcfac428ce076d42f186752c967f67ffa1879f
CRs-Fixed: 2017481
2017-03-15 13:59:33 -07:00
Kapil Gupta
54ea36ef41 qcacmn: Changes for PER based roaming
DUT should be able to roam to a better access point if current
AP is having congestion/packet error.

This roam also devise a new selection logic for candidate
selection which considers channel congestion and AP capabilities.

Change-Id: I6cffbf0de059a218e971be32fbdc1a0092ceea9d
CRs-Fixed: 1090934
2017-03-10 02:18:15 -08:00
Dustin Brown
4423f63181 qcacmn: Add APIs to configure Active BPF Mode
Active Mode Berkeley Packet Filter (Active BPF) is a new feature that
allows firmware to apply BPF even while the Apps processor is active.
There are 3 modes:
 * Disabled: do not apply BPF in active mode
 * Enabled: apply BPF to all packets in active mode
 * Adaptive: apply BPF up to some threshold to avoid performance impact

Add WMI APIs and related logic to support configuration of Active BPF
Mode.

Change-Id: I8c0778b3fa73d148422aa103b0fc0950433fec95
CRs-Fixed: 1111400
2017-03-09 11:02:48 -08:00
Rajeev Kumar
037799b816 qcacmn: Remove duplicate (ext)service ready structures from WMI
Object manager psoc service ready api provides host (ext)service ready
data structures hence remove duplicate copy from wmi_unified_param.h
and change WMI to use psoc service ready data structures.

Change-Id: Iaec20e9b818077ed1ca58754c4b1bc6deaedd761
CRs-Fixed: 2002016
2017-03-03 04:20:32 -08:00
Kiran Venkatappa
316357d791 qcacmn: Add extract APIs for qvit event
Add extarct API to get QVIT event data.

Change-Id: I7777946a34f176dabb96f98ab3062222bc02b202
CRs-Fixed: 2003898
2017-03-01 20:35:13 -08:00
Mukul Sharma
b758ddf569 qcacmn: Refactor the wmi code for PMO component adaption
Currently, Host maintain multiple data structure at different
layers for offload related features like arp/ns/gtk etc.
Instead of using many structure use single data structure across
all layers for offload related feature (arp/ns/gtk) which is now
exposed by PMO. Hence to include PMO header's in WMI, refactor the
WMI code for PMO component by carving out PMO specific functionality
separatley.

Change-Id: I8314d5ece49bf6972fbe706d635385ae22d11b2e
CRs-Fixed: 2004523
2017-02-28 16:21:27 -08:00