Grafik Komit

187 Melakukan

Penulis SHA1 Pesan Tanggal
Kalyan Tallapragada
d9a6abdb38 qcacmn: Add support to handle RAW packets in RX path
API to handle pkts received on vdev which has RAW mode
enabled. Currently supports only MPDU with single MSDU.

Change-Id: Ife00699646bd97c5de0021fc32db434a544058f6
CRs-Fixed: 1111781
2017-02-23 14:05:53 -08:00
Gurumoorthi Gnanasambandhan
eb60ce0e80 qcacmn: Enabling WPS for Hawkeye
Scan params are not properly set when wps ie is added in probe req
scan command fails. Fixing scan wmi command when additional
wps ie is added.

Change-Id: Ide40a248f32c6220dd7510a65dde7c3894e45da6
2017-02-22 22:56:39 -08:00
Naveen Rawat
7779792b6f qcacmn: Send beacon frame in wmi_roam_invoke_cmd
Send beacon frame in wmi_roam_invoke_cmd to firmware
This helps firmware skip scan to connect to requested
BSSID.

Change-Id: I5c6e375309dcb3bdd6430a3d501bade5cfe2e88d
CRs-Fixed: 1116901
2017-02-22 17:46:18 -08:00
Kiran Venkatappa
5bffce58f1 qcacmn: Support per mac CE for WMI commands
Firmware requires WMI commands to be sent on different copy engine for
each MAC. Add support in WMI to use different endpoints for each pdev.

Change-Id: Ie0dfe71043275ac694362f88b625219f089b5303
CRs-Fixed: 2005214
2017-02-22 11:13:18 -08:00
Kiran Venkatappa
26117057ef qcacmn: Add support to send hw_mode in init cmd
Support to add hw_mode in init command is added by FW
to let host choose the mode to be use. Change init cmd
send API to enable upper layer to send the hw_mode selected.
Since this is new TLV in init command, init cmd send API
needs to be changed to accommodate this parameter.

Change-Id: I172d8d737425599c36666d9fec8a6cdd48085097
CRs-Fixed: 2004652
2017-02-22 11:13:14 -08:00
Kiran Venkatappa
36445a7f49 qcacmn: Add pdev_id for regdomain cmd send API
Add regdomain send command in tlv.c.
pdev_id is required to indicate the pdev object on which command needs
to be applied. Add pdev-id in regdomain command in TLV.

Change-Id: I6a2c3453a2c058c6fb4cfab2f57c1fbce628aad7
CRs-Fixed: 2003898
2017-02-22 11:13:13 -08:00
Kiran Venkatappa
5050aa8ac8 qcacmn: Add pdev_id in Pdev AST reserve event
pdev_id is required to identify the pdev object on which this event is
recieved. Add pdev_id in the event extract API.

Change-Id: Ia910d42af6a9d6099da1b7781601b0320dff80ba
CRs-Fixed: 2003898
2017-02-22 11:13:11 -08:00
Kiran Venkatappa
8e146df771 qcacmn: Add pdev_id in pdev commands and events
pdev_id is used to get the pdev for which the event is recieved. Add this
in extract APIs to fetch the pdev from pdev_ids and use it for further
processing. This is change is part of changes required to support
multi-radio.

Change-Id: Iadda098ccb31be5e8e43083158802abe49ac01b4
CRs-Fixed: 2003898
2017-02-22 11:13:10 -08:00
Rajeev Kumar
7790147799 qcacmn: WMI service ready convergence changes
Converge on common WMI event handling for (ext)service ready
such that common PSOC object can be populated after common parsing.
Legacy (ext)service ready handlers continue to co-exist to support
legacy modules. Legacy service ready handlers can be removed once
legacy modules are also componentized and start using new object
model of PSOC, PDEV, VDEV and PEER.

To support multiple SoCs register for various psoc objects via legacy
callback registration routine during psoc probe and populate common
psoc object once WMI (ext)service ready event is parsed.

CRs-Fixed: 1110768
Change-Id: I966b8f7c775a19ac6e51ad5217a2dd0287acfada
2017-02-21 15:44:05 -08:00
Sathish Kumar
fd3473792a qcacmn: Clean up WMI TLV/Non-TLV headers
Remove TLV and Non-TLV headers from WMI converged component.

Change-Id: I736d7abc6a61fa3be1ea758e6e3891664dc5fa00
CRs-Fixed: 2005744
2017-02-20 06:03:51 -08:00
Rajeev Kumar
029b9ea299 qcacmn: Change WMI API's event_buf length type to uint32_t
Change all the WMI API's event buf length param to
uint32_t to adjust to event buf length param type
in the wmi_unified_event_handler().These changes are
needed to converge on the common service ready handlers.

Change-Id: I553bab579f514c356b59b003c0ec66c17e60e26f
CRs-Fixed: 1110768
2017-02-17 18:18:12 -08:00
Himanshu Agarwal
b4992a4adf qcacmn: Change signature of mgmt rx frame related APIs
Change signature of tgt_mgmt_txrx_rx_frame_handler API
and mgmt_frame_rx_callback by replacing rx params of type
void pointer with that of struct mgmt_rx_event_params
pointer.

Change-Id: Idfa54f1c9bfec22a2cf2e98740765dcd797513df
CRs-Fixed: 1103247
2017-02-16 13:07:10 -08:00
Sathish Kumar
58a9fb97aa qcacmn: Add wmi support for 4-wire coex configuration
This patch adds support of new WMI command WMI_COEX_VERSION_CFG_CMID
for 4-wire coex configuration in non_tlv_ops.

Change-Id: I63da2c7ae99c38d297f7f13a8086611263f7fc5b
Acked-by: Daniel Kim <kimdan@codeaurora.org>
CRs-Fixed: 1081065
2017-02-13 21:31:46 -08:00
Naveen Rawat
44f2f43062 qcacmn: Do not update wmi_channel info if flag_dfs is not set
Do not update wmi_channel info flag for DFS channel vdev start request
if flag_dfs is 0, otherwise (1 << 0) is causing LSB of info flag to be
incorrectly set.

Change-Id: Idfb6290073bb2a6deeeec71a79007ffc4d2fc9cc
CRs-Fixed: 1096338
2017-02-10 12:26:17 -08:00
Vijay Pamidipati
d814b8dcd1 qcacmn: Synchronize VDEV_DELETE and VDEV_DOWN with peer delete response
Hold additional reference to BSS node during node allocation, and free
it in delete response. This ensures BSS Node Freed event is sent to MLME
only after receving peer delete response for BSS node.

Change-Id: I384eac54f437000a1c09eb53751ad8b8e26617ad
CRs-Fixed: 1112381
2017-02-09 15:50:08 -08:00
Mukul Sharma
f8a1708f41 qcacmn: Add WMI reference in PSOC and PSoc reference in WMI
Add WMI reference in PSOC and PSoc reference in WMI.

Change-Id: I6841bec1748447c6c98a81417365cf6e8d228b54
CRs-Fixed: 2002025
2017-02-08 04:43:36 -08:00
Gurumoorthi Gnanasambandhan
bdee34067b qcacmn: Setkey convergence for TLV and non-TLV boards
Changes to use single structure for setkey in TLV and non-TLV cases.

Change-Id: I4cb249ec15beeced5223d8593a3a7fdb5645462c
CRs-fixed: 1117377
2017-02-03 10:03:49 -08:00
Nandha Kishore Easwaran
7deb4b3287 qcacmn: Add WMI vdev param AMPDU per Vap
This is needed for a requirement to change A-MPDU configuration
from per radio to per vap.

Change-Id: I916985d49bc5b059b7887b945acde798be0b38e3
CRs-fixed: 1107866
2017-02-02 22:42:19 -08:00
Nandha Kishore Easwaran
df989dc4f6 qcacmn: Add FIPS wmi tlv support
Add WMI TLV suport for FIPS test.

Change-Id: Ief6aca5ef52ef73701d130914942733062ae09bb
CRs-Fixed: 1107814
2017-02-02 22:03:31 -08:00
Hanumanth Reddy Pothula
3e3e7a6e01 qcacmn: Enable HW broadcast filter
Add ini to param to enable/disable HW filter for bc
(except arp) frame

Change-Id: Iccb68e1816c897a63414fff849f3d505ef6361e5
CRs-Fixed: 1113550
2017-02-01 17:12:44 +05:30
Kiran Venkatappa
c813ec9464 qcacmn: Change FIPS event extract APIs
Add pdev_id in FIPS extract params to be used to get appropriate pdev.
Also refactor extart APIs to get all data in one API and implement TLV
APIs.

Change-Id: Ib58d54ad0dcc25814e58f45e7e4a83d01549a523
CRs-Fixed: 1115213
2017-01-30 17:21:41 +05:30
Kiran Venkatappa
fea8a80332 qcacmn: Add extract API for dcs interference event
Add TLV APIs to extract DCS intereference event. Add pdev id in
extract API used to derive pdev object.

Change-Id: Ie42ec1e3aec899ddc5b6b13d37dfd468ee29df7c
CRs-Fixed: 1115213
2017-01-30 17:21:05 +05:30
Sathish Kumar
27ee0a3450 qcacmn: Add extract API for UTF event to support TLV and Non-TLV targets
Add extract API for handling UTF event data received from the target
for both TLV and non-TLV cases.

Change-Id: I62525d7c8663fe90e0e3e76cf5286bb9dc86acd0
CRs-Fixed: 1115293
2017-01-30 03:20:38 -08:00
Kiran Venkatappa
2b1b0d2492 qcacmn: Fix wmi extended service ready handling APIs
Add hw_mode_id. HW mode is received in extended service ready.
This will be used to determine FW capability to support multiple radio.
This is used on host to create multiple instantces of pdev on host.
Change mac_phy_cap extract API to get mac_phy_cap based on hw_mode_id
and phy_id

Change-Id: I9a6abdac8799d167828f13bef61b1a1d8c3e9769
CRs-Fixed: 1113888
2017-01-23 16:03:21 -08:00
Orhan K AKYILDIZ
c8d1c4bccf qcacmn: fix a potential access after free
Once the wmi command is send to the FW, a sequence of events
(deletion of peer and sending of unmap messages to host) happens
on FW. This could potentially make a subsequent access to peer_addr
an access after the object is freed. Indeed a crash instance of
such a case has been reported.
Fix this by moving the print command before the actual wmi command
send.

Change-Id: I5a0d19b9b4a09687d5513acc52139a73b8490512
CRs-Fixed: 1108700
2017-01-17 18:58:38 -08:00
Pratik Gandhi
33bb714364 qcacmn: Convert wireless modes to host internal values
Convert the wireless_modes HALPHY capability from FW defined REGDMN_MODE
values to host internal WMI_HOST_REGDMN_MODE values. This will help make
host code independent of target specific definitions.

Change-Id: I6d325f76959b35a3f854ade680f4d058c9d4bfcb
CRs-Fixed: 1061096
2017-01-17 10:38:14 -08:00
Pratik Gandhi
dad75ffbce qcacmn: Fix for write operations in wmi_recording
Change incorrect extraction of wmi_handle from file handler
reference during write operations, performed on debugfs files
in wmi_recording/wmi logging.

IR-Fixed: 189093
CRs-Fixed: 1111722

Change-Id: I0603efe8f8e2530950f845f9ef9419b6784c626f
2017-01-16 12:57:32 -08:00
Sarada Prasanna Garnayak
17b9e9ed33 qcacmn: Runtime PM packets tagging after wow suspend
qcacld-2.0 to qcacmn propagation.

Don't Tag Non-WoW packets as Runtime PM packets after
wow suspend. Some WMI Commands can be send in Runtime
PM context and MC thread context. Packets coming via
MC Thread Context can be tagged as Runtime PM packets
when runtime pm in progress.

Packets should be tagged in the same caller context to
avoid any race condition. Being stability issue, addressing
this issue by not tagging any non-wow commands as runtime pm
after wow suspend. This will ensure all the non-wow packets
coming after wow_suspend flag is set as non runtime pm packets
and will trigger a runtime resume.

Git-commit: 4a396d80c5cc2ded75098c61426521b9b2762c17
Git-commit: 2ee4bf4791cc5db30ec03eceaf591367deffe39a

CRs-Fixed: 1106496
Change-Id: I4e55733ad8403581aca0b49ce9442fc5591335c0
2017-01-12 05:26:11 -08:00
Sathish Kumar
47d855430f qcacmn: Fix issue in extraction API for peer and vdev extd stats
wmi_stats_event structure is defined in FW header wmi_unified.h with
variable length data as A_UINT8 data[0]. KW tool perceives this
as a single uint8 and throws zero sized array when we try to access buffer
following data.

A uint8 pointer is assigned to data for this purpose in order to fake
the tool and resolve the issue.

Change-Id: I998f80c84554bc5bf4d0b2df1dae85352d72cb21
CRs-Fixed: 1106787
2017-01-09 02:41:10 -08:00
Sathish Kumar
ad803baaad qcacmn: Fix CTL power configuration issued through acfg tool
When CTL array is configured using acfg_tool, the CTL values are not
impacting powers due to incorrect band value passed to the FW. It is
found that the memory copy for band and CTL array are done together
in a single operation.

However, with convergence, both acfg_tool and wifitool will call the same
underlying WMI API to set the CTL table. In order for concurrent working,
we need to copy the band value separately for acfg_tool, before copying
the CTL array. This fixes memory corruption that is currently seen
as evident from the garbage value for CTL band.

CRs-Fixed: 1087168
Change-Id: I42f6bc39eb3930e8c995ff76294b7d77676f2299
2017-01-05 04:09:37 -08:00
Paul Zhang
d19abd8880 qcacmn: Drop Action frame in FW config by host
Propagation from qcacld-2.0 to qcacmn.

Several Action frame categories are not processed in host and they
are not forwarded to supplicant either, but they are dropped in host.
These unprocessed action frames are forwarded to host by FW and
wake up host unnecessarily which leads to battery drain. With this fix,
host conveys FW the disallowed action frames list at HDD startup
so that the remaining frames can be dropped in FW itself thereafter
when under WoW mode.

Change-Id: I40b49d42df94085784c8f1d8321de0ee61473ae0
CRs-Fixed: 999114
2017-01-04 18:09:31 -08:00
Kiran Venkatappa
42c5771594 qcacmn: Add cal data version check status enums in host
Add WMI host defines to check cal data status and use appropriate copy
macros to take care of big-endian conversion.

Change-Id: I4358761e807ac584c638b6e36229dbbbb85bf651
CRs-Fixed: 1105756
2017-01-02 14:58:58 +05:30
Nandha Kishore Easwaran
0bc57afe06 qcacmn: Handle multiple keyix cases for WEP
Add a check to see if the key index is more than 4.
Assign default key_id of 0 if an invalid index is provided.

Change-Id: Ic3a4230360f1fa4e05dfd3ba4f558ff0fb074aef
CRs-fixed: 1103920
2016-12-28 03:19:36 -08:00
Nishank Aggarwal
e6994d201d qcacmn: CL 1683879 - update fw common interface files
WMI message to allow Specific Absorbtion Rate / tx power
limits to be set per band, chain, or modulation class.

Change-Id: Iece786a4e731462fd282e3eb3107541338a3af30
CRs-Fixed: 865207
2016-12-27 23:33:28 -08:00
Sandeep Puligilla
abcd0f532e qcacmn: CL 1685950 - update fw common interface files
WMI defs for DFS offload

Change-Id: Ief6ea8771ec130a94f19c7296930534364bdd2fb
CRs-Fixed: 865207
2016-12-27 23:33:26 -08:00
Kiran Venkatappa
e20ad488fc qcacmn: Fix compilation for 64-bit platform in non-tlv.c
Remove SUPPORT_64BIT_CHANGES compiler flag to make code common for both
64-bit and 32-bit platform.

Change-Id: I47e43c39e7f58cd04cbc3fb21d348af6b094e006
CRs-Fixed: 1105174
2016-12-27 03:39:38 -08:00
Kiran Venkatappa
0663f21774 qcacmn: Add beacon burst,tx_power and tx rate ids for TLV
Defines for Beacon burst mode, management tx power and beacon tx rate
are added recently for TLV targets. Add these defines to the supported
list of pdev and vdev param ids used by host.

Change-Id: Ifa5d17211943eff3f2d9422f7898a00c3d794a39
CRs-Fixed: 1100734
2016-12-20 01:01:18 -08:00
Manikandan Mohan
31a13e2c07 qcacmn: Add SAR power limit configuration
There is a regulatory requirement for Specific Absorption
Rate (SAR) whereby the phone transmit power is reduced
when it is determined that the phone is in close
proximity to the body.
Implement a vendor command interface to set SAR power
limts dynamically.

Change-Id: I0a214a2af780e9dd8c381c4e9eaa7d8cab6ef853
CRs-Fixed: 1098102
2016-12-16 16:44:57 -08:00
Kiran Venkatappa
3c4f6a204e qcacmn: Add proper scan req flags and bssid in scan request
scan req flags for FW should be set based on the flags in request.
scan request is assuming num_bssid as one and copying single
mac_address but it should support more bssid and hence change this
to add multiple bssids.

Change-Id: I3fbad3353c1a9904847e09c527254e104cb6db71
CRs-Fixed: 1099421
2016-12-12 12:58:13 -08:00
Kiran Venkatappa
f0b91a89ee qcacmn: Use correct flag to set DFS in vdev start request
Currently, WMI is using dfs flag offset that needs to be set from upper
layers. But these offset is defined by wmi and it is correct to set it
from WMI itself.

Change-Id: Ib9ff2122ed5b92fb21b01a87f0e99c3a54d1a83c
CRs-Fixed: 1099416
2016-12-12 12:58:12 -08:00
Srinivas Girigowda
4c777b4a1a qcacmn: Fix incorrect data type assignment
In function wma_get_buf_extscan_change_monitor_cmd() and
wma_get_buf_iextscan_hotlist_cmd(), numAp is of type uint32_t
but it is assigned to variable numap of type int.

Fix this by making 'numap' also of same type 'uint32_t'.

Change-Id: I02502f05d2305f62cbde47db2893770673d19fc3
CRs-Fixed: 1096384
2016-12-09 17:51:53 -08:00
Srinivas Girigowda
bf1a9ef0f8 qcacmn: Add boundary check for number of APs
Add boundary check for number of APs.

Change-Id: I41e36d11bc3e71928866a27afc2fbf046b59f0f5
CRs-Fixed: 1095770
2016-12-09 17:51:51 -08:00
Pamidipati, Vijay
ad16a88062 qcacmn: Fix mac address value sent in peer assoc WMI command
Copy MAC Address in 2 word format in WMI message from char array input

CRs-Fixed: 1088985
Change-Id: I36e4e806b9c027ee824c77ca692239c7752b8036
2016-12-06 13:18:21 -08:00
Naveen Rawat
1dcabaf049 qcacmn: Populate qos_enabled in roam_scan_offload_cmd
In function send_roam_scan_offload_mode_cmd_tlv, assign qos_qnabled
parameter being sent to firmware. Otherwise firmware will not be able
to get correct qos_caps value.

Change-Id: I3bdf43594f68cb0780f2947fff9db723644b5dac
CRs-Fixed: 1092258
2016-12-01 16:09:40 -08:00
Nandha Kishore Easwaran
81d7c7cae2 qcacmn: change name for ZeroCACDFS
The term "agile" is used by hardware for swift/fast channel change.
Use precac for the zeroCACDFS instead.

Change-Id: I35f4d61cc93b3542feb8b286cbdf3a4474df5a75
Crs-fixed: 1073945
2016-11-30 12:40:45 -08:00
Sathish Kumar
699f6b597d qcacmn: Add wmi support for btcoex duty cycle command
A new iwpriv command has been added to configure the period
and wlan duration for a btcoex duty cycle.

As a part of this registring the wmi_service_btcoex_duty_cycle
for WMI_SERVICE_BTCOEX_DUTY_CYCLE.

Also send_btcoex_wlan_priority_cmd registrtaion for btcoex
duty cycle command in non_tlv_ops.

Change-Id: I7f3bfdfd9804566d6d0b7cce7025e99db57d0e23
Acked-by: Basamma Yakkanahalli <ybasamma@qti.qualcomm.com>
CRs-Fixed: 1064437
2016-11-30 12:40:43 -08:00
Nandha Kishore Easwaran
2081ee00ff qcacmn: Change DFS agile flag
Agile flag WMI_CHAN_FLAG_AGILE_MODE added. When this flag is set,
the primary VHT80 will not be affected when channel change is done.

Change-Id: Ie6bce12ec955c0c8a79246dda57092808611803d
CRs-Fixed: 1072504
2016-11-30 12:40:41 -08:00
Sathish Kumar
6878938d17 qcacmn: Add non-tlv APIs for new WMI commands and support for old commands
Implement following WMI commands and corresponding event extraction
APIs added for WIN release-
WMI_PEER_GID_USERPOS_LIST_CMDID
WMI_PEER_TX_MU_TXMIT_RSTCNT_CMDID
WMI_PEER_TX_MU_TXMIT_COUNT_CMDID
WMI_PDEV_CHECK_CAL_VERSION_CMDID
WMI_BTCOEX_CFG_CMDID

Additions to following existing WMI commands-
WMI_MU_CAL_START_CMDID
WMI_SET_LTEU_CONFIG_CMDID
WMI_PDEV_GET_TPC_CONFIG_CMDID
WMI_START_SCAN_CMDID

Change-Id: Ifd43addf196f2bc3cbff33671ef66202b8b0b487
CRs-Fixed: 1059400
2016-11-30 12:40:40 -08:00
Dustin Brown
fc28c0ecad qcacmn: Pass WOW enable flags to FW
For WOW Enable, firmware accepts a bitmap of flags, but passing them
to firmware is not exposed by WMI. Modify WMI to allow passing WOW
Enable flags to firmware.

Change-Id: I458b01bc6a4e5b14b2a1dfee928136daeb70ebe9
CRs-Fixed: 1092068
2016-11-28 11:42:58 -08:00
Kiran Venkatappa
23e6e08b32 qcacmn: Fix implicit declaration error for TLV helper APIs
Include TLV helper header file to fix implict function decration warning
treated as error. These APIs are required only for TLV target, hence
put it under TLV compilation flag.

Change-Id: I50f3629b3f69c3cdb46e2384e47d2559c803cd4c
CRs-Fixed: 1090087
2016-11-23 23:14:29 -08:00