Commit Graph

5251 Commitit

Tekijä SHA1 Viesti Päivämäärä
Jeff Johnson
42b74848d1 qcacmn: Clean up the extscan unified WMI (phase 3)
For a full explanation of the problem and phased solution refer to
"qcacmn: Clean up the extscan unified WMI (phase 1)", Change-Id
I11800361b572331cfada00fb7d518c314df20b43, in the qca-wifi-host-cmn
project.

For phase 3 (this change):
Remove the unions introduced in phase 1, leaving just the properly
named replacement identifiers.

Change-Id: Ia14a42a1a767a850fbfd82a5755ddea51246a95d
CRs-Fixed: 2282843
2018-07-27 14:25:07 -07:00
Jeff Johnson
8ed15d109c qcacmn: Remove session_id from nan_datapath_peer_ind (Step 3)
Currently struct nan_datapath_peer_ind contains the following:
	uint8_t session_id;

This is problematic since "session_id" is a legacy concept and should
not be used in the converged project. Fortunately this field does not
actually serve any purpose. But in order to cleanly remove it a 3-step
approach is required.

Step 1 (qcacld Change If6cf48ccbfe87b23b275720df51c6cc26af9fa5e):
Remove the logic from the converged NAN code which currently reads
this field and logs the value.

Step 2 (qcacld-3.0 Change I2819556d48a9dd901158aaa04d6bda9c36f33012):
Remove the logic from the legacy NAN code which sets this field.

Step 3 (this change):
Remove the session_id field from struct nan_datapath_peer_ind.

Change-Id: Ibeb8007c96ae1a902bfd7dd99a42ba4a291a1dc6
CRs-Fixed: 2284401
2018-07-27 12:35:08 -07:00
Arif Hussain
f0e87032dc qcacmn: Use CONFIG_MCL flag to define MCL_OR_WIN_VALUE
Use CONFIG_MCL flag to separate MCL vs WIN version of
MCL_OR_WIN_VALUE macro.

Change-Id: Id14200ceb261eb10f9582ebefd75e06a4fe9f17f
CRs-Fixed: 2283692
2018-07-27 09:09:56 -07:00
Nirav Shah
c3f3f9d4a8 qcacmn: QDF: Add logging macros without function/line info
Add per module logging macros without function/line info
to avoid adding function/line info where it is not required.

Change-Id: Ibc5745eae277110e884882891d14d3714e0d3ab4
CRs-Fixed: 2278876
2018-07-27 09:09:53 -07:00
Arif Hussain
4c6f33a07e qcacmn: Add 2G channel active dwell time CFG/INI items
Add ini item to configure active dwell time of 2.4GHz band channels,
This will help to reduce AP search failure probability & hence
connection latency in 2.4GHz band channels especially in noisy
condition by increasing active dwell time.

Change-Id: I05259a8f1fd4a5c67da42e516721a01d32fa652e
CRs-Fixed: 2283692
2018-07-27 01:21:39 -07:00
Arif Hussain
7fc2561205 qcacmn: dfs: Fix reset delay line log for bin5 radars
Some dfs domains do not support bin5 radars and bin5 tables
will be null for these domains. So do not log error if number
of bin5 radars are zero.

Change-Id: If9cceae38fa71d1b9b2413f490976ab9f5156086
CRs-Fixed: 2285127
2018-07-26 23:41:16 -07:00
Jeff Johnson
589959b228 qcacmn: Remove session_id from nan_datapath_peer_ind (Step 1)
Currently struct nan_datapath_peer_ind contains the following:
	uint8_t session_id;

This is problematic since "session_id" is a legacy concept and should
not be used in the converged project. Fortunately this field does not
actually serve any purpose. But in order to cleanly remove it a 3-step
approach is required.

Step 1 (this change):
Remove the logic from the converged NAN code which currently reads
this field and logs the value.

Step 2 (qcacld-3.0 Change I2819556d48a9dd901158aaa04d6bda9c36f33012):
Remove the logic from the legacy NAN code which sets this field.

Step 3 (qcacld Change Ibeb8007c96ae1a902bfd7dd99a42ba4a291a1dc6):
Remove the session_id field from struct nan_datapath_peer_ind.

Change-Id: If6cf48ccbfe87b23b275720df51c6cc26af9fa5e
CRs-Fixed: 2284399
2018-07-26 12:23:28 -07:00
Priyadarshnee S
973bc0affa qcacmn: Add support for twice antenna gain param
Existing antenna gain command does not take odd antenna gain value that is
gains are not supported in steps of 0.5db. antenna_gain_half_db pdev
param provides this support. Added WMI and CDP changes to configure/read
this data.
CRs-Fixed: 2024854
Change-Id: I47da9eed74a1a0180cefb4c3f47bc4340da1bdfd
2018-07-26 03:22:01 -07:00
Nirav Shah
87668f872b qcacmn: Add compilation flag for enter/exit macros
Map all enter/exit log macros to enter/exit QDF TRACE macro
to provide option to compile out enter/exit logs if required

Change-Id: I913ef0fb2486fde6b2ec4dfe8465884ca4d66ce4
CRs-Fixed: 2274857
2018-07-25 09:40:54 -07:00
Ashish Kumar Dhanotiya
4b47f374dc qcacmn: Add support to disable channel list
Propagation from prima to qcacmn

Add support to disable channel list received with command
"SET_DISABLE_CHANNEL_LIST".
As part of this command, number of channels and list
of that many channels should be given. When SAP comes up, disable
the channels received in the command. If any of the interface
is up on any of the channel from the list, first disconnect
the interface and start the interface on the new channel.

Change-Id: I3c7810bfde78878a3e60570a13bf2741e1da599b
CRs-Fixed: 2225865
2018-07-25 06:06:00 -07:00
Shiva Krishna Pittala
0baf52bdf7 qcacmn: Fix buffer alignment check in target_if_dbr_replenish_ring
target_if_dbr_replenish_ring should check the mapped physical address for
agreed byte boundary alignment. Fix the logic in the check.

Change-Id: I05058ae69df8a2ee2caf9ce1295c0a2e9026511c
CRs-Fixed: 2283230
2018-07-25 04:34:46 -07:00
Shiva Krishna Pittala
9f8db12851 qcacmn: Move init and exit of nbuf debug out of MEMORY_DEBUG
Move qdf_net_buf_debug_init and qdf_net_buf_debug_exit out of
qdf_mem_debug_init and qdf_mem_debug_exit respectively so that
NBUF_MEMORY_DEBUG can be enabled irrespective of MEMORY_DEBUG.

Change-Id: Ia57badf850aad00975305a08508e63bab7cb4908
CRs-Fixed: 2284116
2018-07-25 04:34:43 -07:00
Soumya Bhat
14b6f26e71 qcacmn: Add multicast address in tx_capture header
In existing code peer's mac address is populated in tx_capture
receiver address field. In case of multicast and broadcast packets
the packets is transmitted on BSS peer so in case of broadcast/multicast
packets the transmitter address is same as receiver address in tx_capture
header.

Add change to populate receiver address field with ethernet destination
address in case of bss peer is tranmit status.

Change-Id: Ie9495d51391454313b1697ecedb8e8dec0459565
CRs-Fixed: 2261473
2018-07-25 01:24:31 -07:00
Edayilliam Jayadev
b3911b4c48 qcacmn: Initialize spectral samp message with zero
Initialize the spectral samp message structure to zero.

CRs-Fixed: 2278403
Change-Id: I5d36662db32820c40f7fb2eafb56942d8654e7f6
2018-07-25 01:24:29 -07:00
Amar Singhal
937ba5df0c qcacmn: Define DSRC regdomains
ETSI10 and FCC10 regdomains are DSRC regdomains. FCC10 is used by US
and ETSI10 is used by many european countries. Add full country mapping
table for DSRC regdomains. Also separate out channel definitions based on
DSRC.

Change-Id: I0c4c44e7189e88e397c21b2ceada325ce06a88f7
CRs-Fixed: 2271736
2018-07-24 22:18:43 -07:00
Jeff Johnson
72eeaec103 qcacmn: Clean up the extscan unified WMI (phase 2)
For a full explanation of the problem and phased solution refer to
"qcacmn: Clean up the extscan unified WMI (phase 1)", Change-Id
I11800361b572331cfada00fb7d518c314df20b43, in the qca-wifi-host-cmn
project.

For phase 2 (this change):
Replace all references of the badly named identifiers with references
to the properly named substitutes. Note that this phase may touch
multiple repos and may involve a number of separate changes.

Change-Id: Ie19d632faa50b23f18a2214a7b2502830ff3fbd3
CRs-Fixed: 2282767
2018-07-24 20:35:51 -07:00
Wu Gao
0dfb9b6854 qcacmn: Define the APIs to cleanup roc and tx action by vdev or psoc
Define the APIs to cleanup roc and tx action by vdev or psoc in p2p
component, and remove cleanup task in p2p suspend handler since
scheduler thread in suspend state already.

Change-Id: I4e67e99569f62ee62715dcf7e4c45f136c6f1719
CRs-Fixed: 2283301
2018-07-24 18:53:00 -07:00
Wu Gao
81c80a016f qcacmn: Define configures about TDLS
Based on converged cfg component, define TDLS configures and APIs to
get or set these configures.

Change-Id: I86f61246b810c7f25a74c814df20d0e2c810b292
CRs-Fixed: 2277559
2018-07-24 16:58:37 -07:00
narayan
8235eb53c1 qcacmn: Fix for BMI transaction timed out
Root Cause : We are observing BMI transaction issue beacuase the
             Fw signal is getting timed out as FW independent bit
             is not getting set.
Solution : Read the register value for flushing the PCIe write

Change-Id: I1c877449104dc9e23eaaa18ef848730c81dd5c02
CRs-Fixed: 2266242
2018-07-24 16:58:35 -07:00
Mohit Khanna
dba82f2bfe qcacmn: Add API to get mon mode mask in interrupt mode
Currently, monitor mode mask is being set while in interrupt mode. If
monitor mode rings are being processed in timer context(polled), both
timer and RX softirq end up processing monitor mode rings leading to
race condition. Monitor mode ring processing code is written to be
executed by a single context - either timer or softirq, not both.

Add an API to return zero monitor mode mask while in interrupt mode in
case timers are being used to process monitor mode rings.
So, in case packet log is enabled(based on a timer), regular interrupt
processing will not process monitor mode rings. It would be
done in a separate timer context.

Change-Id: I5cf5c881c2e2e07bac1b46646ee2a3b7cf42ef13
CRs-Fixed: 2266353
2018-07-24 16:58:33 -07:00
Rajeev Kumar Sirasanagandla
66970850d9 qcacmn: Add WMI layer support for action OUI extensions
Add WMI support to send action OUI extensions to firmware.
For STA interface, this feature is intended to control mode of connection,
connected AP's in-activity time, Tx rate etc.,

Change-Id: I6a0bc9d3f7f0d57805b872cae4baa1fe84fb8193
CRs-Fixed: 2254509
2018-07-24 13:20:42 -07:00
Liangwei Dong
02bcfd6c99 qcacmn: Add Band selection for NSS Update API
Add parameter to NSS Update API to specify
which Band to downgrade/upgrade.

Change-Id: I57ae4304fbf8de366531154f03d04792c18e176d
CRs-Fixed: 2256803
2018-07-24 04:46:26 -07:00
Shashikala Prabhu
6cb53789f5 qcacmn: Avoid scheduling ce_tasklet after tasklet_kill call
Description:
Scheduling ce_tasklet after tasklet_kill call creating kernel
panic during dma operations in ce_per_engine_service.
So added changes to avoid scheduling ce_tasklet after
tasklet_kill call.

IR-228333

Change-Id: Ic8758e22c040aae2a007c0ebe8a613caa9263b15
2018-07-24 04:46:23 -07:00
Jiachao Wu
72eeed89e5 qcacmn: Add NULL check for 'pl_dev'
Currently 'pl_dev' is dereferenced without check for NULL in
get_pktlog_handle function in pktlog_internal.c.
To address this issue add NULL check before dereferencing.

Change-Id: I7017560d5eb36df3ca0a547cf62451f339f5940b
CRs-Fixed: 2280047
2018-07-24 01:06:19 -07:00
Basamma Yakkanahalli
be68e7fa06 qcacmn: Add support to enable strict passive scan
Normally probe request is sent in a passive channel if the
beacon received from the AP. With the strict passive scan
feature, STA doesnot send the probe request even if it
receives beacon from AP.

This can be enabled by using below command.
iwpriv /cfg80211 wifix pas_scanen 1/0

Added a support to send strict passive scan flag to FW in
cfg80211 framework during scan start command.

Change-Id: Ia2c069872541dba64c3d11fc0b533c2d202ee898
CRs-Fixed: 2280181
2018-07-23 23:22:08 -07:00
Wu Gao
b974b2df0f qcacmn: Define configures about P2P
Based on converged cfg component, define P2P configures and APIs to
get or set these configures.

Change-Id: I9b0126d9cc71f7de0d255981ba5fe88f3da05ce2
CRs-Fixed: 2277551
2018-07-23 19:18:00 -07:00
Kabilan Kannan
bdeda3a947 qcacmn: Move to default SAR version, when SAR2 is not supported
If SAR version 2 is not supported by firmware, then fallback to
default SAR version 1

Change-Id: Ibfbcfd7cf3f438f7cb46250c70221956ea54c7ca
CRs-Fixed: 2274447
2018-07-23 12:59:41 -07:00
Jingxiang Ge
2b64e4d5ff qcacmn: Fix use after free for vdev in tdls
When disconnect happens, TDLS_NOTIFY_STA_DISCONNECTION will be
send to scheduler_thread, in bad case, it is processed after
3s later, and the vdev passed in notify msg has been freed in
the period, invalid vdev causes invalid memory access.

change as below:
 1.1 Get vdev ref before send msg
 1.2 register callback for release ref
 1.3 send msg to scheduler_thread
 1.4 process tdls notify msg and call callback function.

Change-Id: I2b03db8b30db623796f2e8299f14ee31e28efb91
CRs-Fixed: 2275019
2018-07-23 09:41:55 -07:00
Yeshwanth Sriram Guntuka
dad6b5beb3 qcacmn: Change log levels in scan component
Change log level for few scm and cfg80211 logs from info
to debug.

Change-Id: I595ddd54c51a601fa2e985c8a221c5dea2e698d8
CRs-Fixed: 2279511
2018-07-21 12:05:49 -07:00
Balamurugan Mahalingam
21b0086b02 qcacmn: define hal tx and rx routines for qca6290 non 11ax
define the hal rx and tx functions
for non 11ax headers as it causes compilation failure

Change-Id: I0fda769fddcf8b54faa22ce55438e84c427a7a2e
2018-07-21 00:03:41 -07:00
Balamurugan Mahalingam
ca15415988 qcacmn: make hal target specific functions as static
This is needed to fix a compilation warning
reported as error due to Werror gcc option

Change-Id: I1ffab78b01266d5d0dabd843a03d44fc6b56b477
2018-07-21 00:03:38 -07:00
Balamurugan Mahalingam
96d2d41c87 qcacmn: Fix compilation issues and a minor issue
Removed qdf exports on functions defined in target specific
header files and defined those functions as static. Revert
changes on hal_rx_msdu_end_sa_idx_get and make
hal_rx_msdu_end_da_idx_get target specific

Change-Id: I2858b1d77118f0a26b54bf983bd342c7a4fe757d
2018-07-21 00:03:36 -07:00
Balamurugan Mahalingam
fe9c9c038c qcacmn: implement qca6390 specific hal functions
implement qca6390 target specific hal_rx_msdu_end_sa_idx_get,
hal_rx_dump_msdu_end_tlv as these routines differs a bit from
rest of the lithium chipsets. this target specific function
will be called through callbacks

Change-Id: I4b71da2d39217c2920597fb36c936218359e6c3a
2018-07-21 00:03:34 -07:00
Balamurugan Mahalingam
97ad1061a3 qcacmn: introduce few target specific hal functions
make hal_rx_msdu_end_sa_idx_get and hal_rx_dump_msdu_end_tlv
routines target specific as qca6390 implementation differs
a bit. add target specific functions for qca6290 and qca8074

Change-Id: Ie05b91d965bae3642e3264620c6d8427ad368044
2018-07-21 00:03:32 -07:00
Balamurugan Mahalingam
6cf4c27417 qcacmn: add HAL support for qca6390
hal_hw_srng table and register offsets array, some target specific
functions  are defined separately for each new target.
define the same for qca6290.

Change-Id: I08c1243bc50460fac776e28186acfa192fb1ff66
2018-07-21 00:03:30 -07:00
Balamurugan Mahalingam
f72cb1f1ff qcacmn: include hal_hw_headers.h header file
macros and fw cmn headers included in hal_internal.h is moved
to a new hal_hw_headers.h to avoid these getting included in hif
layer. Include the new hal_hw_headers.h file

Change-Id: I3390ae9e71ca561d94a265e1fdf4d9354e7b2474
2018-07-21 00:03:27 -07:00
Balamurugan Mahalingam
54d16a9371 qcacmn: Use txrx_intr_attach function to attach to poll and interrupt
Use appropriate reo dst ring size based on target type

Change-Id: I6e26537d25b4b8d4507acc689b9d17c83aa4d27e
2018-07-21 00:03:25 -07:00
Balamurugan Mahalingam
1b4476e7b6 qcacmn: remove PLD_PCIE_INIT compile flag and use runtime checks
This change will help to have pld and non-based based chipset
to work on the same WIN AP platform.

Change-Id: I778cf0d548f5a8575cd6a4fcc76afd0043e5942b
2018-07-21 00:03:22 -07:00
Balamurugan Mahalingam
d0159640ea qcacmn: Separate hal for qca6290 and qca8074
Create separate individual hal_srng_table and hal register
offset in target specific source files. Create separate
functions for qca6290 and qca8074 for few hal rx tx
functions as the macro value differs between the chipsets.

Assign target specific hal tx, rx ops as part of hal_attach
and call respective hal tx, rx ops through callbacks.

Change-Id: Ibbf490c678c39fdd9d54191aad7aaec786db30ec
2018-07-21 00:03:20 -07:00
Rajeev Kumar
8ae6415cba qcacmn: Fix excessive logging from mgmt txrx component
Change mgmt txrx component per rx frame logging to debug
log level to avoid spamming kernel log buffer.

Change-Id: Ib84c789edc8a45d508278728b0cc82f8382f0377
CRs-Fixed: 2282051
2018-07-20 16:24:05 -07:00
Rajeev Kumar
b2c14c4f0d qcacmn: Remove qdf_assert from hnc_link_clusters
Remove qdf_assert from hnc_link_clusters as it already
has required debug log.

Change-Id: Id11eb10ad7164ff5347260d3933d633242a8ddd1
CRs-Fixed: 2281122
2018-07-20 16:24:02 -07:00
Jeff Johnson
e1941d34ec qcacmn: Clean up the extscan unified WMI (phase 1)
The extscan unified data structures were duplicated from legacy
qcacld-3.0 data structures. As part of the duplication process some
things were inherited that are not appropriate in the unified WMI
including camelCase identifiers and the use of "session id" as an
instance identifier. Due to the fact that multiple repos are affected
a multi-phase cleanup is proposed in order to avoid cross-repo
inter-dependent commits.

For phase 1 (this change):
For each inappropriate identifier introduce an anonymous union which
will contain both the badly named identifier and a properly named
substitute.

Subsequent changes will address the following phases:

For phase 2:
Replace all references of the badly named identifiers with references
to the properly named substitutes. Note that this phase may touch
multiple repos and may involve a number of separate changes.

For phase 3:
Once phase 2 completes, remove the unions introduced in phase 1,
leaving just the properly named replacement identifiers.

For phase 4:
Update the legacy code to exclusively use the converged data
structures, abandoning the legacy data structures.

Change-Id: I11800361b572331cfada00fb7d518c314df20b43
CRs-Fixed: 2280645
2018-07-20 16:24:00 -07:00
Tushnim Bhattacharyya
ac72a4201f qcacmn: Reduce DBS opportunistic timer value to 5 sec
Drop the timeout to 5 sec on hastings as it is a 2x2 DBS solution,
as IOT issues due to frequent 2x2 to 1x1 or 1x1 to 2x2 transition
can be avoided.

Change-Id: I67f9c97a7190baeadba79d709a8773b154932e76
CRs-Fixed: 2281954
2018-07-20 14:58:49 -07:00
Basamma Yakkanahalli
ab48ce3502 qcacmn: Fix connection issue with hidden ssid in DFS channel
Repeater AP failed to associate to Root AP with
hidden ssid in DFS channel.

Normally probe request is sent in passive channels if beacon
from AP is found. With strict passive scan, probe request is
not sent in passive channels even after beacon is found in that
channel.

If AP is configured in hidden ssid, Client/STA does not get the
Probe Response and thus, no SSID information is present in the
scan table to start authentication.

To overcome this, user needs to set the desired {BSSID, SSID} pair,
Example: Desired pair = {00:03:7F:AA:BB:CC, MOON1},
so that when driver receives a beacon it compares the
BSSID and updates the SSID field to update the scan table.

In general, we already set the ssid in sta configuration
But in this case, we also need to configure BSSID of the hidden AP.
This can be configured through iwpriv cmd.
Example: iwpriv athx conf_bssid 11:03:7F:46:03:17

Change-Id: I03e1efed1168c911fc8f6358d6ad8a8c0b40ba61
CRs-Fixed: 2274105
2018-07-20 09:31:14 -07:00
Pragaspathi Thilagaraj
58e4dc7f9b qcacmn: Serialize the command eSmeCommandDelStaSession
The command eSmeCommandDelStaSession issues vdev delete to
firmware. As this command eSmeCommandDelStaSession is not
serialized, this may issue delete vdev before the peers for the
vdev are deleted, resulting in fw assert. Serialization
should be brought in for this command, so that first
eSmeCommandRoam command will do
vdev_stop-->remove_peer-->vdev_down and eSmeCommandDelStaSession
will be processed which will send vdev delete.

Post the command eSmeCommandDelStaSession to the serialization
module and WMA_DEL_STA_SELF_REQ will be posted from the sme
eSmeCommandDelStaSession handler.

Change-Id: I08f5db2d5034a29cd65929d218bf97b464447077
CRs-Fixed: 2280865
2018-07-20 02:02:45 -07:00
narayan
4b25ab2b2f qcacmn: Compile qca-wifi with gcc 5.2
Description:-
Added changes to avoid qca-wifi compilation errors with GCC 5.2

Change-Id: Idc6a1186af24219f193a2c36a00987cda820e334
CRs-Fixed: 2269330
2018-07-19 23:13:44 -07:00
Srinivas Pitla
d898ceddfa qcacmn: Change wmi ready wait to qdf_event
In current implementation, wait_queue is used for waiting on WMI ready
event, it is now changed to event mechanism

Change-Id: I08b4f088874b7c63e20b129f14dbac01851496e5
CRs-Fixed: 2276900
2018-07-19 23:12:53 -07:00
Dustin Brown
8afde5a83f qcacmn: Reduce/remove scheduler logs
As part of the effort to reduce overly verbose and excessive logging
driver wide, reduce or remove logs in scheduler as much as possible.

Change-Id: I1e45c439315e81d9ff05e1688fe690d0ca30e097
CRs-Fixed: 2280337
2018-07-19 23:11:43 -07:00
Vivek
2a331374b8 qcacmn: Add cfg API to parse additional files
Add cfg API's to parse different global
and psoc INI files, but store to the same
global or psoc store as required.

Change-Id: I588f47bc61094640ddfe4b29712ca978908f2844
CRs-Fixed: 2278934
2018-07-19 21:33:11 -07:00
Abhiram Jogadenu
c7f6224588 qcacmn: Host changes to enable Scan Offset time
Pass offset value to the Firmware to support split scanning
of total dwell time in smaller chunks. Offset passed is
calculated from TBTT.

Change-Id: I8114acd1147d468aa6471f672307d8ea0ec8611d
CRs-Fixed: 2134748
2018-07-19 04:29:32 -07:00