Commit Graph

114 Commits

Author SHA1 Message Date
Sathish Kumar
01b7ac01b1 qcacmn: Fix issue in green AP feature
Green AP feature for WIN allows the AP to go into power save mode
and leads to only a single chain being active.

In the current code, it is seen that the WMI API for enabling Green
AP feature is under "FEATURE_GREEN_AP" flag that is not defined for
WIN. This leads to trigger of dummy API that does no operation.

Replace "FEATURE_GREEN_AP" with proper flag "ATH_SUPPORT_GREEN_AP"
defined on WIN to enable Green AP feature.

Change-Id: I344e74c3753f1ef3b6d5d5a2bb1086c84f2ab84c
CRs-Fixed: 1074036
2016-10-07 09:17:13 -07:00
Padma, Santhosh Kumar
8394bae1b0 qcacmn: Add changes for DISA certification
Add TLV changes to pass DISA parameters received from
WMA and pass them to firmware for firmware
to encrypt data and send back to driver.

Change-Id: Ic6928a93f799c47518fbbad96564062f595287dd
CRs-Fixed: 1072545
2016-10-03 12:48:34 +05:30
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
Deepak Dhamdhere
583283c32d qcacmn: Enable EXTSCAN cycle start and completed events
qcacld-2.0 to qcacld-3.0 propagation

Enable firmware to send WMI_EXTSCAN_CYCLE_STARTED_EVENT and
WMI_EXTSCAN_CYCLE_COMPLETED_EVENT instead of
WMI_EXTSCAN_BUCKET_COMPLETED_EVENT as per Android N requirements.
This change is required to complete the propagation of
earlier change I399204261fa3d8515146c590630a3bb663ee801c

CRs-Fixed: 1062739
Change-Id: I5c801912828844aa3d8e2aa4f022cb184aa771c4
2016-09-29 17:51:12 -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
Sandeep Puligilla
f358b1a822 qcacmn: Correct the peer assoc command TLV length
PEER assoc command failed in the tlv validation check.
Tlv length sent in the TLV header is different from
the length used to fill the tlv buffer which caused
failure at tlv validation.

Modified code to use the aligned length while
filling the tlv buffer.

Change-Id: I9ad2009315dd3cf37308ef44360d566035344950
CRs-Fixed: 1069008
2016-09-26 16:07:30 -07:00
Mukul Sharma
3a5eedb68c qcacmn: Cache ARP/NS offload request at wma layer
qcacld-2.0 to qcacmn propagation

As Current WMI interface need both the ARP/NS configuration
in single command. To support active offload host need to
cache the ARP/NS at wma layer so host can fill the other
request and configure down to firmware complete request
(ARP+NS).

Change-Id: Ie0a57d216379817ff0ae48f4f582c9108e8ecca1
CRs-Fixed: 1067683
2016-09-24 13:03:59 -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
Himanshu Agarwal
c9fc2a36a8 qcacmn: Add support to get per chain rssi stats
Propagation from qcacld-2.0 to qcacmn.

Add support to get per chain rssi from fw through the
already existing WMI command WMI_REQUEST_STATS_CMDID
and then store it in the station_info structure defined
by cfg80211.

Change-Id: Id50c96dd322b5ca4db34cf2df901730d8b103251
CRs-Fixed: 1005367
2016-09-16 05:50:15 -07:00
Himanshu Agarwal
91c9d677b5 qcacmn: CL 1641391 – update fw common interface files
Propagation from qcacld-2.0 to qcacmn.

WMI modification for DISA feature

Change-Id: I57441642986ecfb6d3ee42d602810f6b22f83c46
CRs-Fixed: 865207
2016-09-14 20:43:24 +05:30
Manjeet Singh
bea167157e qcacmn: CL 1614559 - update fw common interface files
qcacld-2.0 to qcacmn propagation.

Add support for WLAN counters and stats

Change-Id: I5601a9207529060c6c97e70f067c8e43ca45488a
CRs-fixed: 865207
2016-09-14 19:45:22 +05:30
Manjeet Singh
c026bdecd0 qcacmn: CL 1613065 - update fw common interface files
qcacld-2.0 to qcacmn propagation.

Add WMI types and macros definitions for antenna isolation detect

Change-Id: I69b715c224d30b40e37d4a6a6e780b1980b490e0
CRs-fixed: 865207
2016-09-14 19:45:10 +05:30
Naveen Rawat
61be23a851 qcacmn: Send HT/VHT CAPs IE to firmware per band
Send HT/VHT CAPs IE to firmware per band. This will allow certain
features like LDPC to be configured per band.

Change-Id: I21c83af984f9be3ade46121ef148b52568c3ad0f
CRs-Fixed: 1059454
2016-09-12 18:02:28 -07:00
Abhishek Singh
716c46c5f6 qcacmn: Fix mismatch in mem alloc and mem free API
qcacld-2.0 to qcacmn propagation

In some cases wmi_buf_alloc is used to allocate memory, while
adf_os_mem_free(vos_mem_free) is used to free the memory.
vos_mem_free checks if memory is present in vosMemList to detect
double free.

Now as wmi_buf_alloc doesnot add the allocated memory to
vosMemList, vos_mem_free assume it to be double free case and cause
kernel panic.

Use proper corresponding API to free memory

Change-Id: I3602887d2bfdb407e5805aedd7a97a57440a4567
CRs-Fixed: 1004079
2016-09-08 18:22:27 -07:00
Service qcabuildsw
7cdb77423e Merge changes I34cc7916,I19ad7ea2 into wlan-cmn.driver.lnx.1.0-dev
* changes:
  Release 5.1.0.23I
  qcacmn: Modify LFR3 firmware OKC flag
2016-09-07 21:11:42 -07:00
Service qcabuildsw
ae908a4e83 Merge changes Ica6da5c6,Ic2dc113e,I45a132e8,Idcb07751 into wlan-cmn.driver.lnx.1.0-dev
* changes:
  Release 5.1.0.23H
  qcacmn: Add fwtest interface
  Release 5.1.0.23G
  qcacmn: Added a member in qca_napi_info structure
2016-09-07 21:09:52 -07:00
Service qcabuildsw
bc1168f224 Merge changes I5ec5ce2a,If129b9c7,I86daffeb,Id50136f6,Id187b8e6,I22928dea,I15577c50,Ib952643a,Ib9984c43,Ic44825f4,If23398b0,I206d3008 into wlan-cmn.driver.lnx.1.0-dev
* changes:
  qcacmn: Use suspend_noirq callback instead of disabling irqs
  Release 5.1.0.23C
  qcacmn: Implement QDF API to get queue mapping and total ram size
  qcacmn: Fixing incorrect qdf_mem_set API usage in wmi_unified_non_tlv.c
  qcacmn: Fix for kernel panic in wifi down path for peregrine
  Release 5.1.0.23B
  qcacmn: Free WMI HB command buffer in case of errors
  Release 5.1.0.23A
  qcacmn: Add WMI API for setting bandwidth fairness
  Release 5.1.0.23
  qcacmn: unmap buffer for CE destination ring en-queue error
  Release 5.1.0.22Z
2016-09-06 16:58:08 -07:00
Service qcabuildsw
9733fe05f9 Merge "qcacmn: Fix compilation errors in WMI for Big Endian platform" into wlan-cmn.driver.lnx.1.0-dev 2016-09-06 13:43:58 -07:00
Deepak Dhamdhere
70504a18b6 qcacmn: Modify LFR3 firmware OKC flag
Enable or disable OKC flag in WMI roam scan offload request based on
okc_enabled parameter in roam request from CSR.

Change-Id: I19ad7ea2171532f2417742e205d408bdd52682c0
CRs-Fixed: 1057181
2016-09-02 21:27:06 -07:00
Anurag Chouhan
459e015c3f qcacmn: Add fwtest interface
Add wmi fw test interface to support generic fw test command.

Change-Id: Ic2dc113e3a698555c0fdcbafb30df154f6deb97d
CRs-Fixed: 1045265
2016-09-02 16:07:21 -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
Govind Singh
2d8a88cda8 qcacmn: Free WMI HB command buffer in case of errors
WMI HB command buffer is not freed in case of tx error,
Free WMI HB command buffer in case of errors.

Propagation from qcacld-2.0 to qcacmn.

Change-Id: I15577c50cefc0cc2e9129f175cf874f17acc430e
CRs-Fixed: 1001068
2016-08-31 07:06:47 -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
Govind Singh
42d7c684d4 qcacmn: Fix compilation errors in WMI for Big Endian platform
This change fixes the compilation issues faced due to WMI convergence
changes on the big endian platform.

Change-Id: I18bae4fb7884683d8621ce9a862dc1a51ef84f82
CRs-Fixed: 1039318
2016-08-30 16:02:14 -07:00
Linux Build Service Account
5f1a801f7f Merge "qcacmn: Send anycast addresses for NS offload" 2016-08-27 15:50:35 -07:00
Sravan Kumar Kairam
44ce891d7c qcacmn: Send anycast addresses for NS offload
Propagation from qcacld-2.0 to qcacld-3.0

Current implementation has support for IPv6 addresses of type
unicast for NS offload to firmware.

As part of this change add anycast addresses for NS offload.

CRs-Fixed: 954880
2016-08-24 06:56:18 -07:00
Selvaraj, Sridhar
f36770f7d4 qcacmn: Add support to provide assoc IEs to FW in RSO command
As part of MBO(Multiband Operations), host driver need to supply
the Assoc IEs to FW after initial connection. FW uses these Assoc
IE's in subsequent roaming.i.e Reassociation requests.
This Fix updates the WMI interface to provide support for passing
Assoc IEs to FW.

Change-Id: Ida3d2947714002233090a3f9075dd8d674a3c224
CRs-Fixed: 1039969
2016-08-24 04:42:24 -07:00
Sravan Kumar Kairam
907a8cef02 qcacmn: Send anycast addresses for NS offload
Propagation from qcacld-2.0 to qcacld-3.0

Current implementation has support for IPv6 addresses of type
unicast for NS offload to firmware.

As part of this change add anycast addresses for NS offload.

CRs-Fixed: 954880
2016-08-24 12:24:23 +05:30
Nirav Shah
47ec248c19 qcacmn: Add support to enable/disable packetlog using iwpriv
Add support to enable/disable packetlog using
iwpriv wlan0 pktlog command.

CRs-Fixed: 970647
Change-Id: I4f7c64332e971591b7a08020a412e6f3979b718d
2016-08-19 20:20:38 -07:00
Himanshu Agarwal
7c83dcdc38 qcacmn: Add changes for coexistence of WIN/ MCL TLV implementation
Add changes to allow coexistence of WIN/ MCL TLV implementation
through use of CONFIG_MCL flag and change of MACRO names.

Change-Id: I6868c288a43fd3afb19c84b8a9d4ef0dfbee5c94
Acked-by: prgandhi@qti.qualcomm.com
CRs-Fixed: 1008872
2016-08-19 18:52:55 -07:00
Govind Singh
8754248ea3 qcacmn: Add WIN compilation fixes for TLV
Compilation fixes made to compile TLV on WIN code base.
Also, Previous gerrits used WMI_NON_TLV_SUPPORT for all
compilation fixes of WIN vs MCL, using CONFIG_MCL and
CONFIG_WIN wherever it is found appropriate to keep it
consistent with other modules.

Change-Id: I1c129d736746556210c46f3122e2739d233e1d6b
Acked-by: prgandhi@qti.qualcomm.com
CRs-Fixed: 1008872
2016-08-19 18:52:53 -07:00
Anurag Chouhan
7f6f1d5493 qcacmn: CL 1605795 - update fw common interface files
Propagation from qcacld-2.0 to qcacld-3.0

WMI pdev POWER_STATS request and report message defs
pktlog flag in HTT_T2H RX_IN_ORD_PADDR_IND
New release of Hawkeye HW header files

Change-Id: If2f122a6879b60052849b7efb738e7fc1a4c23f3
CRs-fixed: 865207
2016-08-18 13:51:50 +05:30
Anurag Chouhan
40865b40a8 qcacmn: CL 1598475 - update fw common interface files
Propagation from qcacld-2.0 to qcacld-3.0

Adding defined weightage values for WMI_PDEV_SET_PCL_CMDID
Add filter configure interface in fwcommon for sniffer mode

Change-Id: Ic822863cbbaffe7303dedf7f6c16ba92c2d0a5d3
CRs-fixed: 865207
2016-08-18 13:45:15 +05:30
Sandeep Puligilla
828a45f7f1 qcacmn: Fix compilation with WMI_INTERFACE_EVENT_LOGGING disabled
Compilation error occurs due to undefined struct when
WMI_INTERFACE_EVENT_LOGGING disabled.

Use void pointer as argument to wmi_mgmt_cmd_record() and cast as header
struct inside logging function to avoid casting as undeclared type.

Change-Id: I7d0922ee2009b235473febdbcbc3317e432a1386
CRs-Fixed: 1043597
2016-08-03 02:28:04 -07:00
Govind Singh
3ba23ea33f qcacmn: Remove unnecessary locking during WMI detach
HOST driver unload sequence does following
   1) Kill WLAN tasklet
   2) Disable CE interrupts
   3) Flush WMI RX work
Hence its unncessory to acquire eventq_lock as no one
will be using the shared resource during wmi detach.

Change-Id: I5c549358aeefc460c794c35659915d3b966c7350
CRs-Fixed: 1021376
2016-08-01 23:42:25 -07:00
Nitesh Shah
33b954056b qcacmn: CL 1597848 - update fw common interface files
Propagation from qcacld-2.0 to qcacld-3.0

Adding WMI defs for pdev and peer GET_ANTDIV_STATUS_CMD,
ANTDIV_INFO_EVENT msgs.

Change-Id: Iad3c57f0b4e10e68c86cef175b8cadcfd9e7fe1e
CRs-fixed: 865207
2016-08-01 16:31:48 -07:00
Krishna Kumaar Natarajan
b16bb27362 qcacmn: Correct len size of oem data request
qcacld-2.0 to qcacmn propagation.

oem data request len size should be of 4 byte instead of
1 byte.
Add changes to correct len size in wmi unified API.

Change-Id: I9b377420c50ff1160964f94be5eaa0072df0f63d
CRs-Fixed: 1013488
2016-07-29 18:15:29 -07:00
Nitesh Shah
c048265d73 qcacmn: CL 1546483 - update fw common interface files
Propagation from qcacld-2.0 to qcacld-3.0

Add WMI command to set GPIO numbers that are used to wakeup host
and wakeup target.
Changes to disable dynamic bandwidth RTS.
Add swol_assist_enable field to WMI extwow_set_app_type1_params
cmd to enable IoT mode WMI enums for CCK and OFDM max tx rates.

Change-Id: I26873873d7a355c179babaa7cc56e187e9771c92
CRs-fixed: 865207
2016-07-19 03:07:41 -07:00
Varun Reddy Yeturu
5a552cf597 qcacmn: Fix incorrect channel list passed to the firmware
Fix the occupied channel list that is being passed from CSR to
WMA to WMI to firmware.There is a conversion happening in
WMA from channel number to frequency which is the root of the
issue.

Change-Id: I8a2f8c9d31897b38086df26ebd386ec59d0f3540
CRs-Fixed: 1039020
2016-07-14 12:36:11 -07:00
Nitesh Shah
70e1104567 qcacmn: CL 1534810 - update fw common interface files
Propagation from qcacld-2.0 to qcacld-3.0

Define WMI messages for per-AC rx reorder timeouts
and A-MPDU aggregation limits.

Change-Id: I19d96379a93e2d860cce249704834f06f271efb0
CRs-fixed: 865207
2016-07-12 22:57:51 -07:00
Pradeep Reddy POTTETI
10ca69d7aa qcacmn: CL 1529540 - update fw common interface files
Propagation from qcacld-2.0 to qcacld-3.0

Tufello USB Wlan Adapter - Flash Read

Change-Id: Ib90306a871febe43a076ae8b104442bbc3a4960c
CRs-fixed: 865207
2016-07-12 22:57:49 -07:00
Pradeep Reddy POTTETI
4b997fd889 qcacmn: CL 1527207 - update fw common interface files
Propagation from qcacld-2.0 to qcacld-3.0

Add mcast filter set/delete command that can take multiple
filters in a list.
Fix HTT typos to make MACROS consistent with the field name.

Change-Id: I97ca72f102faecfc3d20409b0d4819a09968417c
CRs-fixed: 865207
2016-07-12 22:57:47 -07:00
Pradeep Reddy POTTETI
18f8fbb1d8 qcacmn: CL 1524945 - update fw common interface files
Propagation from qcacld-2.0 to qcacld-3.0.

New WMI command for reorder queue setup/removal

Change-Id: I31ad0432a0d5f49eed55603ae7d9eeedbdd19876
CRs-Fixed: 865207
2016-07-12 22:57:46 -07:00
Sandeep Puligilla
b74958d1cf qcacmn: Enhance MGMT frame logging in WMI
More detailed logging needed for mgmt frames

Add vdev_id, frame type, subtype, and channel to logs by defining wrapper
function around logging macro and calling it from send_mgmt_cmd_tlv

Change-Id: I0c8c26e3194d97be7d903f64c5c5909c2d4b9799
CRs-Fixed: 1011346
2016-07-08 18:59:51 -07:00
Arif Hussain
4ab1c4c0a3 qcacmn: SAP DFS: Fix dfs_phyerr_filter_offload
Correct the logic based on phyerr filter offload INI value.

Change-Id: Ie4722eba7d7476fc7c445e9e9a026827231552eb
CRs-Fixed: 1036629
2016-07-01 16:19:14 -07:00
Himanshu Agarwal
ac3869bf63 qcacmn: Add NULL checks before dereferencing
Add NULL checks before dereferencing in:
1) HIF layer
2) WMI layer.

Change-Id: I47c5d18ae7841826d958d742283edb0bd6d246b7
CRs-Fixed: 1036390
2016-07-01 10:36:19 -07:00