Commit Graph

436 Commits

Author SHA1 Message Date
Himanshu Agarwal
b3c81ac057 qcacmn: Green AP UMAC componentization
Add APIs, structures for Green AP component.

Change-Id: I4a39470104c89c20eec5440b7ae251a764151fd5
CRs-Fixed: 2166428
2018-01-12 12:20:17 -08:00
Rakesh Pillai
1d3e9309b3 qcacmn: Fix wmi debugfs creation after interface creation timeout
After driver init, if not interface is created and the stop modules
gets called, the wmi debugfs dir is removed. After this it is not
created again during start modules. Due to this the wmi debugfs will
be unavailable after this.

Fix the wmi debugfs entry creation when interface creation timeout
happens after driver init.

CRs-Fixed: 2164039
Change-Id: Ib1a9c655b5144b11d506a09268918b63f82adcc0
2018-01-11 03:48:48 -08:00
Rakesh Pillai
6b0c64ff8c qcacmn: Unify the wmi command and event record offset
The wmi data buffer offset passed to record command and event
buffer uses different offset and type for command and event.

Change the recorded wmi data buffer type to uin8_t pointer
for both, wmi command and wmi event record.

CRs-Fixed: 2164395
Change-Id: Ie759248a6a32632dd93f751a856a0588d9a11c25
2018-01-11 03:48:45 -08:00
Shaakir Mohamed
2986c8d533 qcacmn: Change DFS related prints to WMI log info level
Change DFS related prints in Host side from debug level to info level.

Change-Id: Id0ec4b5ce14df6b416ae4e783e2876ac3d881dbf
CRs-fixed: 2152590
2018-01-10 13:40:21 -08:00
Nachiket Kukade
33485811af qcacmn: Modify DISA legacy code to point to the DISA CLD component
DISA feature has been moved to a CLD component under the converged
driver model. Point the wmi API's and structures to the newly defined
files. Define new API's to extract parameters from event buffer.

Change-Id: Ia47d3682217e7ce9c021bb2db8319483c881b3b2
CRs-Fixed: 2161963
2018-01-09 13:40:08 -08:00
Nachiket Kukade
88ae85340c qcacmn: Add Objmgr related definitions to support DISA component
Add Objmgr ID and related definitions to support the newly
defined DISA component in CLD.

Change-Id: Ibbe5db39c01dae94cad5af5f4dccd2611c5b06d4
CRs-Fixed: 2159599
2018-01-09 13:40:06 -08:00
Naveen Rawat
68805125fd qcacmn: Avoid WMI TLV structures in NAN target_if
Refactor NAN target_if to make it wmi-type agnostic. Specifically
do not access wmi structures in NAN target_if. All the access to
wmi structures should happen in tlv and non-tlv specific wmi files.

Change-Id: I944b678fc501723d7cd26c9b21c4cc6ddb7fda4e
CRs-Fixed: 2159876
2018-01-09 06:12:48 -08:00
Pratik Gandhi
034cb7cb60 qcacmn: Define Host based TARGET_TYPE
fwhdr_abstrct: Use Host based TARGET_TYPE instead of firmware
defined TARGET_TYPE. It will abstract dependency on bmi_msg.h.

Change-Id: I76d744db27df730a3a91a243adfc07fc17d77487
CRs-Fixed: 2140921
2018-01-03 20:09:46 -08:00
Kabilan Kannan
5fa39fd728 qcacmn: Fix the invalid memory access in WMI cmd
Invalid memory accessed in WMI_REQUEST_STATS_CMD, and it
causes kernel panic in the system.
Fix the invalid memory access in WMI request
stats function.

Change-Id: Id838569fd5667b118aecc03f7af5e5f9f146b2a6
CRs-Fixed: 2162279
2018-01-03 14:17:02 -08:00
Visudha Sathurappan
08bf9be852 qcacmn: Fix WEP+OL issue in MIPS platform
For big endian based offload radios, the key installed using
WMI_VDEV_INSTALL_KEY_CMDID requires to be code swapped as the
copy engine for big endian platform does byte swap operation
on the received key before sending it down to FW.

The big endian conversion is carried out
in ol_if_vap.c for big endian platform specific radios.
However, it is observed that an additional copy
is carried out in the WMI layer that is overwriting
the converted key with old key, in the non-swapped form.

Hence move the big endian operation to the WMI layer to
ensure uniform functioning of the API

Change-Id: I9ee16572d08045b0f55b0de190efba5c6806031c
CRs-Fixed: 2161682
2017-12-29 09:37:07 -08:00
Hanumanth Reddy Pothula
409e456664 qcacmn: Remove FW memory dump feature
qcacld-2.0 to qcacmn propagation

FW memory dump feature is no longer used. Hence remove FW memory
dump feature code changes.

Change-Id: Ida655f83630c369df746e7c0c9d61a8fee2932a2
CRs-Fixed: 2140262
2017-12-29 01:42:52 -08:00
Venkateswara Swamy Bandaru
3ef1844980 qcacmn: Add Support for Setting MSDUQ Depth Parameters
Add host support to enable setting MSDUQ depth parameters per
TID per peer.

Parameters include MAC Address, TID number, update mask and
Q depth threshold value.

CRs-Fixed: 2162460
Change-Id: Ie947fd599278a04e13d6aa6c89f840187dbf17fa
2017-12-27 23:25:04 -08:00
Sathish Kumar
85da7c5fdb qcacmn: Add WMI interface support for Direct Buffer Rx module
Direct Buffer Receive provides the driver with a mechanism by which target
can transfer information directly into host memory via DMA.

Add support for the following service/events/commands -
1. WMI_SERVICE_SUPPORT_DMA
2. WMI_DMA_CAPABILITIES as part of WMI_SERVICE_READY_EXT_EVENTID
3. WMI_PDEV_DMA_RING_CFG_REQ_CMDID
4. WMI_PDEV_DMA_RING_BUF_RELEASE_EVENTID
5. WMI_DMA_BUF_RELEASE_ENTRY

Change-Id: I3949026b4542565c49bb538b9545ea607690c793
CRs-Fixed: 2158304
2017-12-21 15:26:08 -08:00
Om Prakash Tripathi
dbbb61a6cd qcacmn: Add support to append scan channel list
Add append bit in scan channel list command. If append bit
is set, new channels will be appended to existing channel
list else existing channel list will be over written
by new channel list.

Change-Id: I0b1ecd2b809aafe6e524a05aacd5b14c80640556
CRs-Fixed: 2159802
2017-12-20 01:39:00 -08:00
Will Huang
a30dd10220 qcacmn: Rename wmi_do_wow_xxx to wmi_d0_wow_xxx
wmi_do_wow_disable_ack_event_id was named by mistake, rename it where
use it as wmi_d0_wow_disable_ack_event_id.

Change-Id: Ic11cb2a260b2ac65d0324d950d043988a7da6657
CRs-Fixed: 2160870
2017-12-19 13:37:42 -08:00
Surabhi Vishnoi
e7c1401cf0 qcacmn: Change the data type of message type id
The datatype of wd_msg_type_id was uint16_t which truncates the
upper bytes of msg id.

Changing the datatype of wd_msg_type_id from uint16_t to uint32_t.

Change-Id: I49b5eefd878660f6ba3d0b7da451df99661c59df
2017-12-16 14:08:06 -08:00
Govind Singh
11c7f8b00e qcacmn: Dump WMI work queue stack for watchdog bite
In the event of an WMI work queue watchdog bite, dump the stack
trace to aid in debugging.

Change-Id: I7f3df5a56904748fb80afb1aef1aed90d20fbbc0
CRs-Fixed: 2145913
2017-12-15 19:26:25 -08:00
Krunal Soni
6be39c17e9 qcacmn: Remove unused structure while sending probe resp template
While sending probe response template down to firmware, driver
populates some items in data-structure which is not getting used.

Remove those unused items and send only what is needed.

CRs-Fixed: 2130437
Change-Id: I1878f523f0f88c354854dfdb75e60e66c4ecb0e8
2017-12-13 21:38:45 -08:00
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
Balamurugan Mahalingam
bdc1d8e3b1 qcacmn: Enable support for sending WMI caldata version tlv cmds
This change adds support for sending tlv based WMI caldata version
check commands and adds necessary callback functions to process
and extract fields from respective WMI responses, also assigns
callback functions and populates event_id array with respective
WMI event id values.

Change-Id: Id61ec8364a627a5027923244c18f204b19d6234c
CRs-Fixed: 2133068
2017-11-23 09:20:10 -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
Will Huang
1bf5585a08 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
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
Naveen Rawat
361892ec58 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
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
Om Prakash Tripathi
d6eb35e9f2 qcacmn: Get WMI_SERVICE_THERM_THROT capability from FW
Host enables thermal throttle depending on FW capability.
Add support to read this capability from ext service ready.

Change-Id: Ifafc24deac0bac228c98750f54e95fdfa3377a6a
CRs-Fixed: 2128049
2017-11-08 03:01:30 -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
Krunal Soni
0087818a25 qcacmn: Fix to propagate key-receiver-sequence-counter to WMI
SME module propagates KeyRSC to MAC/PE module but MAC/PE doesn't
pass this counter to WMA and due to which WMA is not able pass to
WMI module.

Add a fix to propagate KeyRSC field from MAC to WMA module and
WMA to WMI module.

CRs-Fixed: 2130765
Change-Id: I0de6907bf8aa159eccb1d8310e7027f8fdf19fff
2017-11-07 22:56:36 -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
c_manjee
dce1481493 qcacmn: Send Grat-ARP Keep Alive request to FW
Setting Gratious ARP request through iwpriv command is
not supported.

Add condition to set Gratious ARP request as method in
Keep Alive functionality

CRs-Fixed: 1114602
Change-Id: I299d39131e7ab0ebae6bd10f41bc4549debda048
2017-10-31 17:39:07 -07:00
Soumya Bhat
d34799deb2 qcacmn: Add EXT NSS Signaling support for legacy platform
Add EXT NSS Signaling support and related defintions for
legacy support

Change-Id: I332098cd681080316a7f4c03415cf68ae69f2549
CRs-Fixed: 2122207
2017-10-30 05:38:24 -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
Amar Singhal
db8a58c97b qcacmn: Check for buffer overflow in event handler
Check for buffer overflow in send_log_supported_evt_cmd_tlv.

Change-Id: Ib4850ce1a7abb77025a0dc8a3cc9776f6550eb9e
CRs-Fixed: 2122746
2017-10-26 19:46:50 -07:00
Kiran Venkatappa
fa601a66eb qcacmn: Cleanup fw_abi_version handling in WMI
fw_abi_version is used in WMI to check compatabilty of host and target
WMI interface. Cleanup handling to fw_abi_version.

Change-Id: Ia78c4683b9eff06d3c052df3921c024962abd828
CRs-Fixed: 2131311
2017-10-26 04:07:56 -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