Commit gráf

239 Commit-ok

Szerző SHA1 Üzenet Dátum
Sathish Kumar
376aebc1f0 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_SET_QUIET_MODE_CMDID
WMI_PEER_MCAST_GROUP_CMDID
WMI_VDEV_SPECTRAL_SCAN_CONFIGURE_CMDID
WMI_VDEV_SPECTRAL_SCAN_ENABLE_CMDID
WMI_PEER_BWF_REQUEST_CMDID
WMI_PDEV_QVIT_CMDID
WMI_PDEV_SET_WMM_PARAMS_CMDID

Change-Id: Ia2ae3d2e56608fd4c51754ae2c78f2b9912d7172
CRs-Fixed: 1115239
2017-04-04 01:24:08 -07:00
Kris Muthusamy
f575e2ef26 qcacmn: 11ax Draft1.0 wmi changes
11ax WMI changes to populate HE rates

Change-Id: Id303dab1c7ec47ebc31fc685ad0b50ddfdf4bc12
CRs-Fixed: 2023667
2017-04-03 13:47:10 -07:00
Soumya Bhat
070cd05c94 qcacmn: Add new WMI API to unregister event handler
Add new API to unregister event handler to allow
converged components to move to common eventid space.

Change-Id: I97f096ff3e36bc7923718498c535fb6c3c50e7e7
CRs-Fixed: 2023157
2017-03-29 16:06:01 -07:00
Anish Nataraj
61e4f4cebe qcacmn: Add multiradio support for SCAN
Modify first argument of wmi_unified_cmd_send to send
wmi_handle per pdev

Change-Id: Ifbb9cf207c34bcb21cb01492a00b107d62284218
2017-03-29 09:09:34 -07:00
Om Prakash Tripathi
91452bf413 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
Baila, Shashikala Prabhu
6bad19799f qcacmn: Re-factor processing of WMI_REG_CHAN_LIST_CC_EVENTID
Due to different layers, TLV processing is confined to WMI folder.
Therefore, move the TLV layer processing of WMI_REG_CHAN_LIST_EVENTID
to the wmi folder.

Change-Id: I7e7182997a9506035030f33d2f81a403fbe97a2f
CR-Fixed: 2019750
2017-03-27 06:07:47 -07:00
Soumya Bhat
49a8481745 qcacmn: Add new WMI API
Add new API to allow components to move to common eventid space.

Change-Id: Ieab2019a0fb96817833266236073cffb3aaeab2c
CRs-Fixed: 2023157
2017-03-24 06:21:06 -07:00
Krishna Kumaar Natarajan
3f301caba1 qcacmn: [11AX] Add changes for 11ax peer association
Add changes for peer association by adding support to
include HE capabilities and HE operation information
in vdev start and peer assoc WMI commands.

Change-Id: I50c0241f872219e08ee2d231c907309ee5adceef
CRs-Fixed: 1073481
2017-03-23 12:15:32 -07:00
Wu Gao
07ba6b4732 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
Kiran Venkatappa
129bd1aea2 qcacmn: Move max_event_idx and ctx_lock to wmi_soc
WMI event handlers are maintained in soc level WMI structure. Move
corresponding event_idx and ctx lock to soc level structure.

Change-Id: Ib78d26279028a8cf12f59446ae6139e3dfd1f875
2017-03-21 22:01:29 -07:00
Wu Gao
af2196bc53 qcacmn: Defines os and target interfaces
Defines API and callbacks of os interface for P2P component. At the
same time, defines API of target interface.

Change-Id: Ice1c86ecba1f2410d965d9f84923589f229a1864
CRs-Fixed: 2013763
2017-03-15 17:10:14 -07:00
Arif Hussain
85604fb297 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
Arif Hussain
29b78217f6 qcacmn: Add cac duration and reg domain in vdev start cmd
Include cac duration and regulatory domain in vdev start
command, these fields are used to process phyerrors when
dfs is offloaded to firmware.

Change-Id: I5736354913fafb7776ac71e85dc23e841de94a96
CRs-Fixed: 2017481
2017-03-14 21:38:44 -07:00
Arif Hussain
141de978a5 qcacmn: Add support for delay_start_time in scheduled scan request
Add support to pass delay_start_time to firmware, this delay will be
used before starting the first scan cycle.

Change-Id: I7488fc8da4e22b170e52fb38c8a1d5b49dbf7e2f
CRs-Fixed: 2014142
2017-03-13 18:24:18 -07:00
Kris Muthusamy
788aaef73f qcacmn: Remove WMI vdev ofdma_cplen command population
Remove WMI VDEV param population for HE ofdma_cplen
command. Instead use the same old short_gi command
for HE ofdma cplen.

Change-Id: Id303dab1c7ec47ebc31fc685ad0b50ddfdf4fcac
CRs-Fixed: 2009118
2017-03-10 17:39:43 -08:00
Kapil Gupta
7dae4265fa qcacmn: Add monitor time for PER based roam
Curretly FW considers minimum time of hysteresis for PER based roam as
constant value which is 25 seconds.

Add changes to make this time configurable using ini.

Change-Id: Iadb5f6a005b069e0d6190df34e382927425ec1af
CRs-Fixed: 2005849
2017-03-10 02:18:18 -08:00
Kapil Gupta
f6eb731669 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
4def31691f 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
Sathish Kumar
79fdae4e69 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_GPIO_CONFIG_CMDID
WMI_GPIO_OUTPUT_CMDID
WMI_PDEV_DFS_DISABLE_CMDID
WMI_PDEV_DFS_ENABLE_CMDID
WMI_PDEV_GET_NFCAL_POWER_CMDID
WMI_PDEV_SET_HT_CAP_IE_CMDID
WMI_PDEV_SET_VHT_CAP_IE_CMDID

Change-Id: Iad5532b305fae12f4eb8265cf9a662578041d06e
CRs-Fixed: 1115239
2017-03-06 00:36:46 -08:00
Sathish Kumar
b597ba40de 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_SET_ANTENNA_SWITCH_TABLE_CMDID
WMI_PEER_SMART_ANT_SET_TRAIN_INFO_CMDID
WMI_PEER_SMART_ANT_SET_NODE_CONFIG_OPS_CMDID
WMI_PEER_ATF_REQUEST_CMDID
WMI_FWTEST_CMDID
WMI_QBOOST_CFG_CMDID

Change-Id: Ice617f7adf387d534edaefd24857c253c937de48
CRs-Fixed: 1115239
2017-03-06 00:36:42 -08:00
Sathish Kumar
dcc7529912 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
0b6b285e34 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
3d5149868c 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
2a93f6f77a 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
Mukul Sharma
ba196f56f4 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
Kris Muthusamy
e66c6bf550 qcacmn: Added WMI support for HE VDEV commands
Added host WMI VDEV param enumerations for new HE
commands Populated VDEV param TLV with WMI VDEV
commands ids for all the new HE commands.

Change-Id: Id9905176c7565dfa0dd56800b61b7c620136a4e7
CRs-Fixed: 2009118
2017-02-28 14:46:35 -08:00
Kris Muthusamy
1499bac655 qcacmn: Update missing HE MAC/PHY WMI capabilities
Add HE Mac, PHY , MCS , OP & PPET in peer_assoc_params
structure. Add HE PHY & PPET in wmi_host_mac_phy_caps
structure. Populate HE params while sending WMI Peer
assoc commands.Parse HE Phy & PPET while parsing Mac
Phy TLV in Service ready extension event.Add required
changes in psoc_service_ready header files.

Change-Id: Ia2fc7f54634a7a0c98996e361e38b11b3b74a7a0
CRs-Fixed: 2009118
2017-02-28 14:46:33 -08:00
Sathish Kumar
907a746ad5 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
Venkateswara Swamy Bandaru
d8ac3e7619 qcacmn: Add mesh WMI support
Added support for wmi_pdev_param_mesh_mcast_enable and
WMI_SERVICE_ENTERPRISE_MESH

Change-Id: Ie0ce2b822843d66aa14fe0a46809a78e9143f5d9
CRs-Fixed: 2003389
2017-02-24 14:19:25 -08:00
Himanshu Agarwal
5280f8fa8d qcacmn: wmi_host_mgmt_rx_hdr struct cleanup for UMAC covergence
wmi_host_mgmt_rx_hdr struct cleanup for UMAC covergence as
struct mgmt_rx_event_params is to be used in place of
wmi_host_mgmt_rx_hdr.

Change-Id: I7ad3b641e492ecb469fa69c0025c6537c8a01e65
CRs-Fixed: 1103247
2017-02-23 07:29:53 -08:00
Naveen Rawat
ccc1b071b9 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
929dd29d7d 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
af1dae38ef 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
3f061a9d37 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
6e7bb5e5ef 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
5d8497b415 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
e95a804701 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
45fdf7f69c 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
53d526b8f6 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
612d0c29b4 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
Krishna Rao
7462a8a79d qcacmn: Add host definitions for band, chan width
Add host internal definitions for the enumerations
WLAN_BAND_CAPABILITY and wmi_channel_width defined in wmi_unified.h.
This is required in order to allow common host code to access these
definitions agnostic of the actual version of wmi_unified.h used.

Testing:
Compiled and tested association and ping on QCA8074 and QCA9984.

Change-Id: I966211deb29ff3d65817b36ac4c6aefdbd39221c
CRs-Fixed: 2005796
2017-02-13 05:41:57 -08:00
Vijay Pamidipati
add0ba7846 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
Krishna Rao
c5a97bae86 qcacmn: Add WMI Host PHY mode values for 11ax
Add WMI_HOST_WLAN_PHY_MODE enum values for 802.11ax. These values
correspond to the WLAN_PHY_MODE enum values defined in the host-FW
interface.

Note that the new values for WMI_HOST_MODE_UNKNOWN and
WMI_HOST_MODE_MAX will not necessarily correspond to the MODE_UNKNOWN*
and MODE_MAX*/PHY_MODE_MAX* values in FW header files for all
chipsets/architecture families. This is because:
1) The 'unknown' PHY mode should not be used in host-FW interactions.
2) WMI_HOST_MODE_MAX is not currently used for host-FW interactions.
3) MODE_MAX*/PHY_MODE_MAX* values in FW header files can have varying
   values at compile time depending on compile flags such as
   SUPPORT_11AX, which in turn depend on the chipset/architecture
   family.  However the WMI_HOST_WLAN_PHY_MODE enum is exposed to
   chipset/arch independent higher layers within host which utilize WMI
   layer services. Hence WMI_HOST_WLAN_PHY_MODE enum values should not
   vary.

In case the max mode value needs to be used in host-FW interaction in
the future for some reason, this should be translated separately by
the arch dependent (and if ever required, chipset dependent) WMI layer
code into the enum value directly exposed by the relevant FW header
file version for that arch/chipset. Similarly, if the arch/chipset
dependent max mode value needs to be used in-within host code in the
future for some reason, a separate variable should be dynamically
populated by the WMI layer at attach time.

Later, it might also be preferable to convert even other
WMI_HOST_WLAN_PHY_MODE enum values into values directly exposed by FW
header files in the manner noted above.

Testing:
Tested basic AP bring-up on M2M Platform with 11ACVHT80 and 11AHE20

Change-Id: I64c7a1d7491d2213c740568c3e9e2f035c82746e
CRs-Fixed: 1106923
2017-02-08 05:32:14 -08:00
Mukul Sharma
36d159b91c 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
0d28328321 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
b3da422585 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
2ccd424c65 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
c5c132164e 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
9f5fcc0eb7 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
9b7a959914 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