커밋 그래프

60 커밋

작성자 SHA1 메시지 날짜
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
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
Sathish Kumar
497bef4c35 qcacmn: Add TLV implementations for WIN specific WMI CMDs
Converged FW has few left-over WIN specfic WMI CMDs that need to be
implemented in TLV method.

WMI CMDs implemented through this change -

WMI_PDEV_SMART_ANT_ENABLE_CMDID
WMI_PDEV_SMART_ANT_SET_RX_ANTENNA_CMDID
WMI_PDEV_SET_CTL_TABLE_CMDID
WMI_PDEV_SET_MIMOGAIN_TABLE_CMDID
WMI_PDEV_GET_TPC_CMDID
WMI_VDEV_RATEMASK_CMDID
WMI_VDEV_SET_DSCP_TID_MAP_CMDID
WMI_VDEV_FILTER_NEIGHBOR_RX_PACKETS_CMDID
WMI_PEER_UPDATE_WDS_ENTRY_CMDID
WMI_PEER_SMART_ANT_SET_TX_ANTENNA_CMDID

Change-Id: I6e59bcb948a7368729df35d19c3d5a03a0075a15
CRs-Fixed: 1115239
2017-03-06 00:36:39 -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
Kiran Venkatappa
15978c623f qcacmn: Add pdev_id in utf event
pdev_id is used to derive pdev object.

Change-Id: I4ba4854587cb578cf630664f6ede922c9e4fa36b
CRs-Fixed: 2003898
2017-03-01 20:35:11 -08:00
Sathish Kumar
45e991bd9f qcacmn: Add WMI APIs to support CSA for beacon offload
Add multiple vdev restart command request WMI command API and
extraction API for CSA count status event to support CSA implementation
for beacon offload.

Change-Id: Ic309f592137dc725e04590dc0093f30b481ebf9b
CRs-Fixed: 2000449
2017-02-27 20:47:21 -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
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
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
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
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
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
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
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
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
4103e4a36e qcacmn: Fix use-after-freed when sending WMI command to FW
Using a buffer after passing it to wmi_unified_cmd_send() induces a
race condition that may result in a use-after-freed situation. Fix
several potential use-after-freed situations when calling
wmi_unified_cmd_send() by ensuring all access to a buffer is done
before the call to wmi_unified_cmd_send().

Change-Id: I985aad6e49daf1d823e3751a9cb0a293a298323c
CRs-Fixed: 1089713
2016-11-16 01:59:30 -08:00
Nandha Kishore Easwaran
03b9418c1a qcacmn: Update scan_ctrl_flags when strict passive scan enabled
Analysis: strict passive scan is not working as the scan_ctrl_flags
check is missed when strict passive scan enabled

Change-Details : Added a support in ol_ath_scan_start_send() and
send_scan_start_cmd_non_tlv() to update the scan_ctrl_flags with
WMI_SCAN_FLAG_STRICT_PASSIVE_ON_PCHN when strict_pscan_enabled

Change-Id: If6713e340841d4947ef9042421dabec35f7bfbae
CRs-fixed: 1069383
2016-10-30 05:29:10 -07:00
Nandha Kishore Easwaran
9b7f47eac5 qcacmn: CTL changes for Beeliner family
For Beeliner family of chipsets, the number of values expected is 688
for 2G and 1540 for 5G

Change-Id: I2c47ed98f639c09453687fce7f713946304a7036
CRs-fixed: 1071083
2016-10-30 05:29:09 -07:00
Sathish Kumar
e89385bd59 qcacmn: Adapt WIN driver with FW abstraction changes
Recently added changes for coexistence of WIN/MCL TLV implementation
through CL I6868c288a43fd3afb19c84b8a9d4ef0dfbee5c94 require
adaptations in QCA WIN driver to successfully compile.

Add required definitions in WMI layer to adapt WIN driver to
changes made for coexistence.

Change-Id: I99550ca10553d8096b8967249c006bac4e0c62df
2016-10-26 11:19:00 -07:00
Sathish Kumar
87832dde1c qcacmn: Abstract RTT related operations out of WMI layer
Currently, RTT related operations to change report type and number
of measurements are done in the WMI layer.

Abstract these operations out of WMI layer and keep it in the WIN
host API layer to make the RTT WMI API generic.

Change-Id: I9b73830912c6c2b3d0908788f1f6a77b7f43dcaa
2016-10-25 22:29:32 -07:00
Sathish Kumar
bbd8be7c53 qcacmn: Set txrx chainmask to 0 for non CFR RTT report type
TxRx chainmask is populated by the FW only in the case when report
type is WMI_RTT_REPORT_CFR.

Populate txrx chainmask to 0 when RTT report type is non-CFR to avoid
corruption.

Change-Id: Ie728656efe2f608e90a15b6fc94be3159db0f635
CRs-Fixed: 1080686
2016-10-23 21:05:29 -07:00
Sathish Kumar
403beb4421 qcacmn: Add LOWI messages to be sent to FW
LOWI messages to register, set capability
and send RTT measurement request are not sent assuming only
LCI and LCR messages are sent out to the FW using ol_ath_lowi_data_req_to_fw.

Add code to send messages other than LCI and LCR through the API in
ol_if_lowi.c when msg subtype is not one of LCI or LCR.

Change-Id: I2deedaa6e03e769bf802337b2ec93d9573eb1b5a
CRs-Fixed: 1079169
2016-10-23 21:05:28 -07:00
Pratik Gandhi
29e33f08f0 qcacmn: Revert back implementation of wmi_mgmt_command_record
WMI_RECORDING:Fix implementation of WMI_MGMT_COMMAND_RECORD to
be compatible to WIN.
Current implemantation uses variables not applicable to
WIN.

CRs-Fixed: 1067944
Change-Id: I65b2415e40bd888d3b94ef5f04ec6d53b4d50da2
2016-10-19 21:58:02 -07:00
Sathish Kumar
aa4950b608 qcacmn: Populate RSSI information during single phyerr WMI event extraction
Extraction API for phy error event handling does not populate single phyerr
RSSI info for DFS radar event, but was populating the value in case of
spectral event. Single phyerr RSSI info is required for both DFS and Spectral
operations. As a result of this change, single phyerr RSSI info is updated
on receiving DFS event as well.

Change-Id: Idca3e4075e1869eda0d200a102e2ca2b7d33bf70
CRs-Fixed: 1076872
2016-10-13 00:32:49 -07:00
Houston Hoffman
d702a9b118 qcacmn: Replace A_OK with QDF_STATUS_SUCCESS in wmi_unified_non_tlv.c
A_OK status is deprecated.  Use QDF_STATUS_SUCCESS.  Needed since
wmi_unified_cmd_send returns QDF_STATUS not A_STATUS.
see change: Ib9b0a60976dedcf8fcd4184083a9948892791621

Change-Id: I91209002c0a84a8353541c84cdc2e49ffdcc6654
CRs-Fixed: 1072077
2016-10-07 18:12:17 -07:00
Sathish Kumar
9214c1607c qcacmn: Fix crash observed on issuing iwpriv wifiX dl_loglevel <Val> command
On issuing iwpriv wifiX dl_loglevel <Val> command, there is a NULL pointer
dereference crash observed. It is root caused due to improper reference
to module_id_bitmap field, that needs to be corrected.

Change-Id: I59ff4455c74452bb00caff125f84213a2e9d7742
CRs-Fixed: 1066323
2016-09-30 05:47:59 -07:00
Sathish Kumar
e2611f7d69 qcacmn: Fix issues in mcast_group_update and fips WMI cmd
Fix following issues in wmi_unified_non_tlv.c file
->Move allocation of WMI buffer in FIPS WMI cmd
->Change dummymask variable to static in mcast_group_update cmd

Change-Id: I0a0d0e68820905ad543175abed1a812639b3dbf1
CRs-Fixed: 1069863
2016-09-30 03:49:30 -07:00
Sathish Kumar
3be9e05270 qcacmn: Fix key installation issue for BE offload radios
For big endian based offload radios, 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.

It is observed that the big endian conversion is carried out in WIN Wi-Fi driver
for big endian platform specific radios in the driver, that takes care of
converting the key data to the byte swapped form. 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.

We move the byte swapping operation to the converged component and do a single
memory copy using the macro that carries out its operation based on big or
little endian platform.

Change-Id: Ic6b7cc667d0f505d1d1daeacec72f54d41554038
CRs-Fixed: 1067206
2016-09-30 02:47:34 -07:00
Sathish Kumar
61bfe8696b qcacmn: Populate composite RSSI info received as part of phy error event
Extraction API for phy error event handling does not populate composite
RSSI info for DFS radar event, but was populating the value in case of
spectral event. Composite RSSI info is required for both DFS and Spectral
operations. As a result of this change, composite RSSI info is updated
on receiving DFS event as well.

Change-Id: Ia77779251ccf230f7ca4242ee0851790305d2fbc
CRs-Fixed: 1066136
2016-09-30 01:09:53 -07:00
Sathish Kumar
ae33fe9449 qcacmn: Add non-tlv registrations for atf_peer, atf_group and lcr WMI cmd
Non-TLV registrations for atf_peer, atf_group and lcr WMI command were
missed out during the WMI convergence implementation. This change adds
the missed out registrations.

Change-Id: I384c27709e088c06ee73f17b7dc1a52bb5c63370
CRs-Fixed: 1069863
2016-09-29 13:50:52 -07:00
Kiran Venkatappa
1d5f5ab6a4 qcacmn: Add WMI fixes made for TLV bringup on WIN
These fixes are made during qca8074 VP control path bringup.
Add fixes in tlv.c and enable TLV helper routines for WIN.
Fixed some inconsistencies in wmi API params by adding compiler flags.
This needs to be cleaned up so that API and params have common interface
between WIN and MCL.

Change-Id: I0821daa58df86ad0b394a7846a982a9e3577cd14
CRs-Fixed: 1063252
2016-09-20 07:59:33 -07:00
Pratik Gandhi
a73d0a7f5c qcacmn: Address compilation issues for WIN new fw headers
Address compilation issues for WIN with new Lithium Firmware headers.
Also removed dependency on htt.h from header files, which may need to
add explicit dependency on htt.h in .c files.

Change-Id: Ia5027963837e645bc3f81a3db98c2ea06789aea8
CRs-Fixed: 1061096
2016-09-19 01:19:28 -07:00
Sathish Kumar
29657b28c0 qcacmn: Fixing incorrect qdf_mem_set API usage in wmi_unified_non_tlv.c
The qdf_mem_set API is used incorrectly in a few instances inside
wmi_unified_non_tlv.c

The argument list is - <pointer to address, size, value>

However, some places, it is sent as - <pointer to addr, value, size>

This change fixes such incorrect function calls to qdf_mem_set().

Change-Id: Id50136f630022b1fdeaddbdefcad9f637f917e9e
CRs-Fixed: 1048504
2016-09-01 13:27:54 -07:00
Sathish Kumar
58f12555ab qcacmn: Add WMI API for setting bandwidth fairness
This change implements the Non-TLV WMI API for setting bandwidth
fairness. This WMI command was implemented as part of the recent WIN SW
release. This change ensures it is adapted to convergence code structure.

Change-Id: Ib9984c43b91b105bfb4687a7591f4fab509febc4
CRs-Fixed: 1060577
2016-08-31 06:28:05 -07:00