Commit Graph

406 Commits

Author SHA1 Message Date
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
Houston Hoffman
353f06c4bd qcacmn: Allways do WMI_RX_EVENT_RECORD when wmi event recieved
Receipt of the wmi events wasn't being recoreded when the event
was being processed in the mc thread or tasklet.  Log the receipt
in all cases to root-cause unprocessed wmi events faster.

Change-Id: I2543a9ff9049e7d177c1ffa5df1e899035860f91
CRs-Fixed: 2125232
2017-10-24 19:19:12 -07:00
Ashish Kumar Dhanotiya
9563db8934 qcacmn: Remove wmi_id_to_name from wmi_unified.c
Remove wmi_id_to_name from wmi_unified.c as this
function is define in fw_api project.

Change-Id: I4b7d83ed79fe9a5d3a867149972a9ccb1e2f34c8
CRs-Fixed: 2002773
2017-10-24 15:38:22 -07:00
Varun Reddy Yeturu
0f6d121446 qcacmn: Log the debug information before freeing the buffer
Log the necessary debug information before freeing the dynamically
allocated memory while sending WMI commands
WMI_ROAM_CONFIGURE_MAWC_CMDID and WMI_NLO_CONFIGURE_MAWC_CMDID.

Change-Id: I10c8a96f8bb1a6cb661501f9ae9b9b21560980de
CRs-Fixed: 2094763
2017-10-21 06:20:35 -07:00
Vignesh Viswanathan
9b9aedcfb4 qcacmn: Add cmn changes for supporting flush PMKSA fw
Currently, driver sends add/delete pmksa entry to fw
whenever supplicant sends set/delete pmksa to driver.

Add support to flush all PMKSA entries as well.

Change-Id: Iace843cdf26bf06f3e70703f87c082997a78b894
CRs-Fixed: 2094234
2017-10-20 16:10:29 -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
Sridhar Selvaraj
e73a5ae04c qcacmn: Fix compilation issues of FILS roaming
Fix compilation issues of FILS roaming

Change-Id: I00c8dfe7090623c2962aa209030bc1de6ba2604d
CRs-Fixed: 2096104
2017-10-18 18:28:56 -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
Kiran Venkatappa
6cbb319e7a qcacmn: Add fw build version in (ext) service event data
FW reports build number in service ready and ext_service ready event.
Save these to display FW build version during brinup.

Change-Id: Ia86a392f826c5bb836be9353e3938ab1f811ab62
CRs-Fixed: 2125667
2017-10-18 02:03:09 -07:00
Shaakir Mohamed
03a8b15221 qcacmn: Handle dfs pulse information in host side
Adds support to dump dfs pulse information from firmware to host
for debug purpose.

Change-Id: I3b2042f8df6e077eed1a3847cd2d8550794bc6f7
CRs-fixed: 2121833
2017-10-16 05:55:59 -07:00
Varun Reddy Yeturu
edb7a95706 qcacmn: Dump PMKID information
Dump the PMKID information in host driver for debugging purposes.

Change-Id: I0be8add08d45bc09d9120bf36eb9110600c56673
CRs-Fixed: 2111909
2017-10-14 05:59:22 -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
Manjeet Singh
c73cd7db11 qcacmn: Follow spec for NL80211_CMD_START_SCHED_SCAN
qcacld-2.0 to qca-wifi-host-cmn propagation

If no SSID are passed to NL80211_CMD_START_SCHED_SCAN cmd,
interface spec requires that an active scan is not needed.
Therefore a passive scan is now requested by cfg80211_sched_scan_request
for this case.

Change-Id: I1b1b9232ffb9d8d5c0bc9a1d75145d39c9fe9e6b
CRs-Fixed: 902092
2017-10-12 14:22:11 -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
Poddar, Siddarth
24fd1943fc qcacmn: Add wmi send multiple mcast filter api
Add wmi command api that can add/delete
multiple mcast filters.

CRs-Fixed: 2100751
Change-Id: Id253c5a3dfdf682cdca66478d9d840990f9c4a23
2017-10-12 14:21:42 -07:00
Sravan Kumar Kairam
02139a7de9 qcacmn: Validate buffer length in wmi tlv check and pad tlvs
Currently there is no validation of the buffer length passed by the
caller in the function to validate the TLV's coming for an event/
command. This may cause possible null pointer reference. In this
change validate the buffer length passed by the caller.

Change-Id: Ia365cf78acce3a235b9e15e6ed95a1aaa06b4c6f
CRs-Fixed: 2105739
2017-10-12 14:21:40 -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
Jeff Johnson
60246bcf4b qcacmn: wmi: Replace instances of unadorned %p
Replace instances of unadorned %p in wmi.

Change-Id: If9a880bbfcef60be5220a17d779701724110e6b5
CRs-Fixed: 2111274
2017-10-03 16:02:28 -07:00
Edayilliam Jayadev
41ac5cf9a7 qcacmn: Add fields to wmi channel info event object
Populate tx frame count and mac clock frequency to the
wmi channel info event object.

CRs-Fixed: 2114541
Change-Id: I6180e377d576409705e57d7aa9172141965f79ad
2017-09-28 04:48:01 -07:00
Govind Singh
e265e3315c qcacmn: Add watchdog timer for WMI work queue lock-up
WMI work queue rx context can block other work queue
shared on the same CPU if it takes more time.

Add watchdog timer for WMI work queue housekeeping and
assert if takes more time in SLUB DEBUG build

Change-Id: I60b1dad21afbf93a5b88aa855a2835bb0f85b82f
CRs-Fixed: 2104106
2017-09-28 01:57:28 -07:00
Vignesh Viswanathan
21fae9fd6a qcacmn: Enable LCA Disallow for Background Roam Scan
Currently LCA Disallow (Last Connected AP) bitmap is hardcoded
to be enabled only for PER roam scan.

Add Background Roam Scan also to the LCA Disallow bitmap set from
host to fw.

Change-Id: I4878350ef772f168ba909fd8b30cf2aa31f68fcc
CRs-Fixed: 2109974
2017-09-25 23:42:32 -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
Neil Zhao
1d1801c53d qcacmn: add useful debug prints
CRs-Fixed: 2089479
Change-Id: I3378fa874095974cd4dce771a6725eee5adc9a41
2017-09-19 17:35:33 -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
Ravi Kumar Bokka
0090e226f1 qcacmn: Add ini param to control the crash inject
qcacld-2.0 to qcacmn propagation

Currently the crash can be injected by iwpriv command and FW
gets crashed.
Changes are done to add the gEnableCrashInject ini parameter

1) This ini param is disabled by default.
2) If this param is disabled the crash inject is ignored.

Change-Id: I7e908be1e37090a9d343dc04411fe387f776a937
CRs-Fixed: 1087774
2017-09-19 02:28:14 -07:00