Gráfico de commits

268 Commits

Autor SHA1 Mensagem Data
Subrat Mishra
a1c92f584a qcacmn: ATF multiradio support
Changes added to support multiradio feature.
Included pdev_id and/or vdev_id in required ATF specific WMI data
structures. All ATF commands will be sent with pdev_id and/or vdev_id.

Change-Id: I723a9a6e4a67a417d4aa2b392285dc4afa590a21
CRs-Fixed: 2052786
2017-05-29 06:08:21 -07:00
Kapil Gupta
0692a1aa70 qcacmn: validate hw caps before dereferencing
Currently we are dereferencing hw caps without validation which
may cause kernel panic.

Add changes to validate hw caps before dereferencing.

Change-Id: I642dd4c0db872c4cf3bdff7e5fbccbacc82f307d
CRs-Fixed: 2049122
2017-05-25 02:19:34 -07:00
Kiran Venkatappa
1241bb8f85 qcacmn: Changes to support pdev_id in host from zero
pdev_id in FW starts from one. Zero is reserved for Soc. But host uses
pdev_id starting from zero. Make WMI changes to take care of this
difference and always provide and accept pdev_id starting from zero at
WMI. Use 0xFF for SoC on host.

Change-Id: I49f481e54bbaeea9359753bc7d3da9092fc9559a
CRs-Fixed: 2045125
2017-05-22 17:05:25 -07:00
Amar Singhal
a522f219dc qcacmn: Add callback for dynamic changes to current channel list
For dynamic master channel list, compute per pdev current channel
list as well. Provide API for user to register callback to be called
whenever current channel list for a pdev changes.

CRs-Fixed: 2012415
Change-Id: Ie86a719306178a1c3579c2b534a52a12ec3e0b1d
2017-05-18 13:42:24 -07:00
Kiran Kumar Lokere
daf91e333c qcacmn: Add support to send new country to FW
Add support to set new country code to the FW

Change-Id: Id24967b7c9e93bfbf045f494f142be9e33e16483
CRs-Fixed: 2042879
2017-05-18 13:42:21 -07:00
Pratik Gandhi
795ab91e23 qcacmn: Fix for read and write operations in wmi_recording
With linux4.4 definition of seq_printf is changed. New definition
updated in driver applies va_start twice which causes incorrect
output hence definition is updated to make sure va_start is applied
only once. For write operations using copy_from_user to avoid
crash due to accessing user space area.

CRs-Fixed: 2042210
IRs-Fixed: 201729
Change-Id: I4043ab027411d42e15adaf53e6e92ae57aa987c7
2017-05-18 12:00:21 -07:00
Linux Build Service Account
6fcc2020d3 Merge "qcacmn: Extract pdev id from vdev id received in WMI_CHAN_INFO_EVENTID" 2017-05-17 07:51:31 -07:00
Sathish Kumar
8458a056db qcacmn: Fix to set TLV header correctly for coex config command
TLV header is incorrectly set for coex config command due to wrong
TLV length passed to the set TLV header API.

Fix issue by setting TLV header passing correct TLV length.

Change-Id: Ica3e2468d26bdaed26cade048f4d440c067ad929
CRs-Fixed: 2037499
2017-05-16 22:08:08 -07:00
Edayilliam Jayadev
06c75fad26 qcacmn: Converge the Spectral feature
Add Spectral TxOps and RxOps interfaces in
psoc towards converging the Spectral feature.

CRs-Fixed: 2028657
Change-Id: If5b46fb9d71529060df6e5b242fcc8976fce82f8
2017-05-16 22:08:04 -07:00
Om Prakash Tripathi
c569cdb9f5 qcacmn: Add TLV support for thermal throttling
1. Add multi radio support for thermal throttling
2. Add TLV WMI support for thermal throttling

Change-Id: I2cdbf9a4acdd9346c0fe3dd24c510885cc8fef8e
CRs-Fixed: 2041264
2017-05-15 17:00:09 -07:00
Sathish Kumar
87db1bd6f2 qcacmn: Extract pdev id from vdev id received in WMI_CHAN_INFO_EVENTID
Add support in utils layer to extract pdev id from vdev id using object
manager APIs.

Use the API to extract pdev id from vdev id received through the
chan info event handler for lithium based chipsets.

CRs-Fixed: 2043869
Change-Id: Ibf1f1f91d505d53219ca9a2f5d94beb8553edfe3
2017-05-12 19:54:18 +05:30
Linux Build Service Account
6f536620c2 Merge "qcacmn: Update host WMI service enums with new additions" 2017-05-10 10:22:54 -07:00
Kiran Venkatappa
95c82a6e33 qcacmn: Update host WMI service enums with new additions
Update enums in WMI service enums that got introduced in the latest
FW headers.

Change-Id: I46f70ff5eb41aee15f8cac784cc85201a3362fca
CRs-Fixed: 2045146
2017-05-10 15:20:29 +05:30
Amar Singhal
a2d575fda4 qcacmn: Fixes for master channel list
When a new master channel list is created, populate master chan list to all
pdevs. Do not make any assumption on availability of pdevs. Make other
stability and initialization fixes. Also add extra fields to data
structures.

Change-Id: I0a59c41e9425435f6069807a3c5de0b389d8fa5e
CRs-Fixed: 2002892
2017-05-07 06:56:22 -07:00
Manikandan Mohan
f940db87e4 qcacmn: Fix kernel module check patch warnings
Fix kernel module check patch warnings in Host Target Communication
module files

Change-Id: I151f597142d93a26e5e037cf7fce944f86fba72a
CRs-fixed: 2033001
2017-05-02 13:29:31 -07:00
Abhijit Pradhan
b5a1d245f3 qcacmn: Fill antenna gain in master channel list
Antenna gain is per regulatory structure. However we need it in
per channel during transmission. Firmware sends antenna gain per
regulatory rule. Host copies it to per channel structure.

Change-Id: Ia163f46facec03ccd450994acbeb28d1e9f2a111
CRs-Fixed: 2002892
2017-04-28 09:47:04 -07:00
Govind Singh
54c6d12d7a qcacmn: Remove ol_defines dependency from WMI layer
ol_defines header inclusion is invalid in WMI layer.
Remove the header inclusion by abstracting the dependency
with in WMI layer.

Change-Id: I5eb8624605cde20b516a1d8d0c823996c363e119
CRs-Fixed: 2023821
2017-04-28 07:42:08 -07:00
Kiran Venkatappa
9d59bd6594 qcacmn: Add send beacon by ref WMI for TLV target
WMI_PDEV_SEND_BCN_CMDID WMI is used to send Beacon from host.
Implement this API for TLV target to send beacon from host
when beacon offload is disabled.

Change-Id: I0b01fb4be349d032622a43a43224680946ecfcd3
CRs-Fixed: 2038176
2017-04-27 23:59:23 -07:00
Sathish Kumar
80f4f38ee3 qcacmn: Add support for WMI_COEX_CONFIG command
Add support in WMI layer to configure coex config command for
lithium based chipsets

CRs-Fixed: 2037499
Change-Id: Ib83407524bd3b5cdad28f73a6ccc36d4a0271779
2017-04-26 06:46:29 -07:00
Sathish Kumar
4c92f688d3 qcacmn: Remove WDS peer event population for lithium based targets
WDS peer event is not supported on lithium based targets. Remove the
population of WDS peer event in TLV.

Change-Id: Ie31e543eb7be40787ab19afec7830178807190ac
CRs-Fixed: 2035040
2017-04-26 02:41:38 -07:00
Padma, Santhosh Kumar
cb1ee46e84 qcacmn: Get CCA from firmware
Requirement is to get CCA from frmware when connection fails due to
assoc/auth/probe response timeout. These are common changes to get
CCA from firmware.

Change-Id: I062343ed065d7b0c38b9e3b24ecfa9851b9b1537
CRs-Fixed: 2031843
2017-04-25 05:56:02 -07:00
Arif Hussain
be58b4e121 qcacmn: extract dfs events
Add support to extract dfs events.

Change-Id: I2889d419954dec8ed3714dd0fd7383f3a3586f6e
CRs-Fixed: 2017481
2017-04-22 10:55:23 -07:00
Frank Liu
3d5e9997f1 qcacmn: WMI changes for TDLS component
Update TDLS related wmi change

Change-Id: I3fe2745ff7fa910a8ffb6fa95256d8a10a7237a3
CRs-Fixed: 2011330
2017-04-20 00:04:37 -07:00
Arif Hussain
f30dbb6ee0 qcacmn: Add support to extract dfs events
Add support to extract dfs events.

Change-Id: I3e83d05f6e4eefb0784b54cd908ec84beb04294c
CRs-Fixed: 2017481
2017-04-17 18:47:24 -07:00
Ravi Kumar Bokka
8f2c92f8dd qcacmn: Enable HW broadcast filter
Add ini to param to enable/disable HW filter for bc
(except arp) frame.

Change-Id: Ibd8a0543937c2ca749851ba1902c8961b500efa4
CRs-Fixed: 1113550
2017-04-17 05:28:17 -07:00
Vikram Kandukuri
45fc858159 qcacmn: Static and Dynamic chain mask selection
Host support for Static and Dynamic chain mask selection.
parse new TLVs from ext service ready,copy tables to
wlan_objmgr_soc object.

CRs-Fixed: 2016643.
Change-Id: Ia4735eb4c7774c381df01f56696e8c86fc6c56ab
2017-04-17 02:13:26 -07:00
Sreelakshmi Konamki
400a40d5f6 qcacmn: Add support to get the status for Roam Scan Offload command
Enable WMI_ROAM_SCAN_MODE_FLAG_REPORT_STATUS flag so that firmware
sends status for the Roam Scan Offload[RSO] STOP command.

Change-Id: I2758103e8ca3c49c0fecd3323b619542dbbabf0c
CRs-Fixed: 1111809
2017-04-14 12:43:27 -07:00
Dustin Brown
8ea3912180 qcacmn: Create qdf_log_timestamp_to_secs helper function
Create a timestamp conversion helper that returns whole seconds and
remaining micro seconds, for easier consumption by logging methods.

Change-Id: I5bc40075566485f3dc9f7e5fd81a13ec462c5da0
CRs-Fixed: 2031564
2017-04-13 21:31:10 -07:00
Krishna Rao
0b952ea565 qcacmn: Populate DFS_CFREQ2 and BW-NSS mapping
Make the following TLV WMI layer changes related to 160/80+80 MHz
functionality:
  - While forming the VDEV start/restart command, if the request from
    the upper layer indicates the dfs_set_cfreq2 flag, then enable the
    WMI_CHAN_FLAG_DFS_CFREQ2 channel flag. This is needed in order to
    enable radar event reporting for the secondary 80 MHz segment.
    Make this change only in the WIN specific implementation of
    copy_channel_info(). If required for MCL, to be handled separately.
  - Move the 'peer_bw_rxnss_override' member in
    'struct peer_assoc_params' to outside the '#ifndef CONFIG_MCL'
    section so that it is available both on MCL and WIN. Since
    in MCL code peer_assoc_params is initialized to all zeros and
    peer_bw_rxnss_override is not set anywhere later, this should
    have no side effects.
  - While forming the PEER assoc completion command, populate the
    peer_bw_rxnss_override field as per the corresponding parameter
    sent by the upper layer. This is required for providing override
    values of Rx NSS for bandwidths higher than 80 MHz.

Testing:
   - Tested on QCA8074 that the WMI_CHAN_FLAG_DFS_CFREQ2 channel flag
     is being set in the VDEV start command if the secondary 80 MHz
     lies on DFS channels (tried VHT160 and VHT80_80)
   - Tested on QCA8074 AP and STA that the peer_bw_rxnss_override
     value is being set in the PEER assoc completion command to
     indicate Rx NSS value 2, when NSS value 4 is used for <=80 MHz
     (tried VHT160 and VHT80_80). Also tested ping.

Change-Id: Ic45d80567eeed3707f76e513f772ce4da71d6ee0
CRs-Fixed: 2022037
2017-04-13 18:37:50 -07:00
Rajeev Kumar
2ec8d473b6 qcacmn: Migrate WMI from shared work queue to dedicated work queue
WMI RX event processing is very critical for WLAN driver and today
we are using kernel's shared event work queue. Shared event work
queue is used by many drivers and if any work submitted in shared
work queue takes longer time to finish then it directly impacts WLAN
control path processing.

Define a dedicated work queue for WMI RX event processing and use
it for WMI RX event handling.

Change-Id: I8ee6ca5b4b20c3357d46f8b56943078a0a76977f
CRs-Fixed: 2029775
2017-04-11 11:04:40 -07:00
Abhishek Singh
5987b630af qcacmn: Add WMI changes for PNO for converged scan
Add WMI changes for PNO for converged scan

Change-Id: I8133030502f63f458164f705aa88ebadf446ae60
CRs-Fixed: 1095299
2017-04-11 11:04:34 -07:00
Kiran Venkatappa
c13fc7b786 qcacmn: Add WMI APIs to send and extract offchan data tx
Add API to send offchan data TX command and extract API to get offchan
data tx completion params.

Change-Id: I1e04d50810e43cec2c700476581e518b394db582
2017-04-11 11:04:32 -07:00
Dustin Brown
f24bf9b6f7 qcacmn: Implement WMI/Credit History log print APIs
Create output agnostic log print APIs for WMI and Credit History to
enhance the debugging experience.

Change-Id: Ie89a9cb3b54c373ac2610d62003e940da17696d8
CRs-Fixed: 2028762
2017-04-11 11:04:24 -07:00
Krishna Kumaar Natarajan
f6a996c3f5 qcacmn: Update correct format specifiers in ll_stats_get_req
Update correct format specifiers in ll_stats_get_req. req_id is an
unsigned integer, use %u instead of %d.

Change-Id: I06a1b571954dcf7392e41901bda51aeea99731de
CRs-Fixed: 2018087
2017-04-11 11:04:16 -07:00
Himanshu Agarwal
e3d1374148 qcacmn: Handle failure scenario for qdf_nbuf_map()
Handle failure scenario for qdf_nbuf_map() API by freeing
allocated memory, returning failure/error etc.

Change-Id: I493fb063c8f57e38525e2dc1701a6e972d2ec0e6
CRs-Fixed: 2028524
2017-04-11 11:03:47 -07:00
Linux Build Service Account
355e783d38 Merge "qcacmn: WMI regulatory message change" 2017-04-07 20:23:22 -07:00
Karunakar Dasineni
f6f8ca8e81 qcacmn: WMI regulatory message change
Fix for compilation failure due to change in wmi_regulatory_rule_struct.

Change-Id: If9d43752ddb81c07445a8d17002a4752150af33d
2017-04-04 13:59:46 -07:00
Sathish Kumar
f91f5a995c qcacmn: Populate TLV event ids for WIN specific WMI events
Extraction APIs for few WMI events were implemented, for which the
TLV event ids need to be populated.

Populate TLV event ids for the following events -
WMI_PDEV_CHANNEL_HOPPING_EVENTID
WMI_PDEV_TPC_EVENTID
WMI_WDS_PEER_EVENTID
WMI_PEER_STA_PS_STATECHG_EVENTID
WMI_INST_RSSI_STATS_EVENTID

Change-Id: I3defb120b9bd5a2fa3fdad1b84d201727c0b3f30
CRs-Fixed: 1115239
2017-04-04 01:24:09 -07:00
Sathish Kumar
cc5d70d6cd 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
Sathish Kumar
2ac4070b3d qcacmn: Populate WIN specific vdev param for TLV
Add following pdev param in TLV vdev param array -
WMI_VDEV_PARAM_MCAST2UCAST_SET
WMI_VDEV_PARAM_RC_NUM_RETRIES
WMI_VDEV_PARAM_CABQ_MAXDUR
WMI_VDEV_PARAM_MFPTEST_SET
WMI_VDEV_PARAM_RTS_FIXED_RATE
WMI_VDEV_PARAM_VHT_SGIMASK
WMI_VDEV_PARAM_VHT80_RATEMASK
WMI_VDEV_PARAM_PROXY_STA
WMI_VDEV_PARAM_RX_DECAP_TYPE
WMI_VDEV_PARAM_BW_NSS_RATEMASK
WMI_VDEV_PARAM_BEACON_RATE

Change-Id: I6dfb75e31da2466f3a6128993428b003ba9e76bc
CRs-Fixed: 1115239
2017-04-03 13:47:19 -07:00
Sathish Kumar
a059f419d9 qcacmn: Populate WIN specific pdev param for TLV
Add following pdev param in TLV pdev param array -
WMI_PDEV_PARAM_RX_DECAP_MODE
WMI_PDEV_PARAM_FAST_CHANNEL_RESET
WMI_PDEV_PARAM_SMART_ANTENNA_DEFAULT_ANTENNA
WMI_PDEV_PARAM_SET_MCAST2UCAST_MODE
WMI_PDEV_PARAM_SET_MCAST2UCAST_BUFFER
WMI_PDEV_PARAM_REMOVE_MCAST2UCAST_BUFFER
WMI_PDEV_PARAM_IGMPMLD_AC_OVERRIDE
WMI_PDEV_PARAM_SET_PPDU_DURATION_CMDID
WMI_PDEV_PARAM_SET_PROMISC_MODE_CMDID

Change-Id: I8d57f744446788f8c086353b96e8787d2a31f2aa
CRs-Fixed: 1115239
2017-04-03 13:47:17 -07:00
Kiran Kumar Lokere
dd64e046d3 qcacmn: Fixes for regulatory channel event processing
Fix the population of tx power. Also fix the WMI TLV processing
for regulatory channel list event. Also make sure correct
range enums are calculated for pdev range.

Change-Id: Iec9559c0ab4b2b5e52d0b0a3eb4a0e8d038dc791
CRs-Fixed: 2002892
2017-04-03 13:47:15 -07:00
Kris Muthusamy
1cac4b5c8c 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
Kiran Venkatappa
aa07514128 qcacmn: Add pdev_id in extract APIs for few pdev events
Add pdev_id extraction code for FIPS, TPC and channel hopping WMI
events. pdev_id is used to derive pdev object.

Change-Id: I1ed527cd96cb6f2326202d1a37ab43285f050a72
CRs-Fixed: 2003898
2017-03-31 02:15:15 -07:00
Kiran Venkatappa
72da3b025b qcacmn: set correct pdev_id in pdev param
Remove pdev_id hardcoding to zero and set it to correct value.

Change-Id: Icda30af88f396a18e1bbab31780fedaa453db687
2017-03-29 20:38:06 -07:00
Soumya Bhat
8eb0b93613 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
78b8ccdc12 qcacmn: Add SCAN WAR for hawkeye emulation
Emulation being clocked at lowest rate,
SCAN and serialization timers are modified to handle
these scenarios

Change-Id: Ia937930483dbcd0268fd2fe2d0393e49f09b215f
CRs-Fixed: 2009490
2017-03-29 09:09:43 -07:00
Anish Nataraj
dd85515d62 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
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
Baila, Shashikala Prabhu
4150902921 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