Commit Graph

6327 Commits

Author SHA1 Message Date
Krunal Soni
98092294a4 qcacmn: Add unified WMI support for WLM stats
The TLV WMI added support for a new WMI_SERVICE_WLM_STATS_REQUEST
service along with an associated WMI_WLM_STATS_EVENTID event, so add
support for a proxy unified WMI service and event.

Change-Id: Ic79c4b757fe2d4e806306750250e3c102745c486
CRs-Fixed: 2388911
2019-02-04 01:50:15 -08:00
Ashish Kumar Dhanotiya
3be335ca19 qcacmn: Avoid compilation issue with kernel 4.19
There is a compilation issue if a variable is passed to
kernel api DECLARE_HASHTABLE.
TO resolve this issue, instead of passing a variable
pass a constant to DECLARE_HASHTABLE.

Change-Id: Ie9782af541bb34cc50f79060b0007dc73881e5f4
CRs-Fixed: 2386893
2019-02-02 15:27:57 -08:00
Ashish Kumar Dhanotiya
ad85c38928 qcacmn: Update driver timer APIs according to kernel 4.19
There are some changes to timer APIs in latest kernel,
update driver APIs accordingly to invoke correct kernel
APIs for timer functionalities.

Change-Id: Ie017c8b1ef8237ca34f696c23509519a1187167c
CRs-fixed: 2383574
2019-02-02 15:27:54 -08:00
Santosh Anbu
0a46a191fa qcacmn: Add change to export symbol
Export the symbol as it is used across multiple modules

Change-Id: I7dd70bd0cf48b2f24cc10de7fd2e4bdd6bd938c6
CRs-Fixed: 2391939
2019-02-02 08:18:45 -08:00
Sourav Mohapatra
6066636527 qcacmn: Fix kernel 4.15 timer list dependencies
With the changes made in Ibe0f8adc4df7bb98aceb509d438e241fac507393 and
Ic4cef0d6301230197443d4d5247188f2af643674 there are compilation issues
with converged code.

Resolve the issues by creating ifdefs for the timer_list definitions
according to kernel version.

Change-Id: Id9c29413ca0d21533a0afae245595051fa3a400f
CRs-Fixed: 2390884
2019-02-01 20:12:03 -08:00
Dustin Brown
8acb74ae9a qcacmn: Add >=4.15 kernel support to qdf_timer
The various setup_*_timer() APIs were removed from the linux kernel in
4.15, and replaced with similar timer_setup_*() APIs. Add conditional
compilation to qdf_timer to use the correct APIs depending on the
version of the kernel being compiled against.

Change-Id: Ibe0f8adc4df7bb98aceb509d438e241fac507393
CRs-Fixed: 2388570
2019-02-01 20:12:00 -08:00
Dustin Brown
bf8e81ef4c qcacmn: Do not directly alias 'struct timer_list'
There are a number of places where the kernel's timer_list type has been
used in conjunction with qdf_timer APIs. To prevent reintroduction of
similar issues in the future, do not directly alias qdf_timer_t to
timer_list.

See also: I410b7fafad18be01141008b6220fbe34ab07601e

Change-Id: Ic4cef0d6301230197443d4d5247188f2af643674
CRs-Fixed: 2388595
2019-02-01 20:11:57 -08:00
Dustin Brown
340c627dcf qcacmn: Remove os_timer_t
os_timer_t is a legacy wrapper around the kernel's timer_list type, and
is incorrectly used directly with qdf_timer APIs. Remove os_timer_t,
replacing instances with qdf_timer_t instead.

Change-Id: I410b7fafad18be01141008b6220fbe34ab07601e
CRs-Fixed: 2388575
2019-02-01 20:11:54 -08:00
Srinivas Pitla
f491953edb qcacmn: Print readable states, event in SM history
This change prints state, event names while printing SM history

Change-Id: I41a9ea429441255380ac6624952a8eff9fdcbc17
CRs-Fixed: 2390042
2019-02-01 12:44:13 -08:00
Edayilliam Jayadev
2bee1aa8ad qcacmn: Add unregister API for direct buf ring
Add Unregister API to de-register and free resources in direct buf
module. Existing logic of freeing all resources as part of pdev destroy
does not take care of soc_start and soc_stop scenarios. Add this API to
enable modules to de-register as part of soc_stop and register during
start.

CRs-Fixed: 2385313
Change-Id: Ibe6f6bc5f4bd2acc5a9fe71eee09c151853073bc
2019-02-01 10:33:51 -08:00
Jingxiang Ge
eb26aa78ae qcacmn: Clean CONFIG_MCL for log_to_console/assert_on_excessive_logging
The aim is to remove CONFIG_MCL or CONFIG_WIN from
cmn component.

This change takes care log_to_console and
assert_on_excessive_logging.

Change-Id: I365f5156a2825a11c279b931b9191cf5c470e943
CRs-Fixed: 2359042
2019-02-01 05:54:38 -08:00
Nandha Kishore Easwaran
1d17599f43 qcacmn: Call qwrap_config_enable from ext_handler
Call qwrap_config enable from both ready and extended service ready
handler. This change is needed for lithium chipsets where the number
of radios per soc is more than 1. Number of radios is updated only
in extended service ready handler and this qwraP_config_enable should
be called in extended service ready

Change-Id: I12289c38996f3bb4274e5795d434dd86c83f34c0
CRs-Fixed: 2384604
2019-02-01 03:42:34 -08:00
Ashish Kumar Dhanotiya
d163a896ef qcacmn: Avoid variable size array
There are couple of instances in driver where variable sized arrays
are getting used which are giving compilation issues on kernel-4.19.

To resolve this issue, replace static array with dynamic memory
allocation.

Change-Id: Idb12386265d03db5c857039b692a82ccdf227836
CRs-fixed: 2386880
2019-01-31 19:58:42 -08:00
Venkata Sharath Chandra Manchala
368fb3aff9 qcacmn: Reduce the log level for fragmented packets
Reduce log level from info to debug level for
received fragmented packets in dp_rx_defrag path.

Change-Id: I0d1c7bf91e0337a56ea9e52565e0cbdf47a1772d
CRs-Fixed: 2385483
2019-01-31 19:58:39 -08:00
Yuanyuan Liu
4c21f53aa9 qcacmn: move over to new explicit reset API
Move over to new explicit reset API as the old calls are removed
in kernel msm-4.19.

CRs-Fixed: 2386317
Change-Id: I4d550fc19970baa8e1c90ed170beb995cb850706
2019-01-31 17:30:17 -08:00
Sandhya Mahadevan
091c291f38 qcacmn: Fixing misleading indentation warnings
To fix misleading indentation warnings caused
due to gcc upgrade.

Change-Id: I807552011a49d7d132476f0ebf0fa50593a15c7e
2019-01-31 07:51:45 -08:00
Balamurugan Mahalingam
2a400f75d8 qcacmn: Fix compilation issue while enabling kernel IOMMU config
pld header files come from a different path for WIN case. Include
the WIN pld header files path to INCS.

Change-Id: If84398944b0102024a6230ba8873f25178396c87
2019-01-31 07:51:41 -08:00
gaurank kathpalia
94ac668ff6 qcacmn: Disable simultaneous scan based on ini
Currently the driver allows simultaneous scan irrespective
of the dual mac feature ini config, which can cause
connect latency.

Fix is to disable the simultaneous scan if the dual
mac config ini is configured to disable DBS scan.

Change-Id: I332284880c04955a8ae2ff19eae10313f240d9ae
CRs-Fixed: 2385027
2019-01-31 00:08:17 -08:00
Sravan Kumar Kairam
deb899b182 qcacmn: Fix implicit conversion error
Fix implicit conversion from enum type QDF_STATUS to
different enum type A_STATUS.

Change-Id: I549c9284e18d73685e879c2f0bb8c54330a35bda
CRs-Fixed: 2389838
2019-01-30 21:46:28 -08:00
Bala Venkatesh
246005bcb2 qcacmn: Remove dual mac disable feature from objmgr psoc
Dual mac disable feature is moved to policy manager. Hence remove
this variable from object manager.

Change-Id: I5d83ce0efa9130cc37734f3d7e982def4fe59ac2
CRs-Fixed: 2388459
2019-01-30 18:54:22 -08:00
Min Liu
2625b976d4 qcacmn: Clean up CONFIG_MCL for hif_bus_id
Remove CONFIG_MCL flag for hif_bus_id in __qdf_device since
it can be shared by WIN and MCL.

Change-Id: I0f88aae7f3139485b99a029fa4f53d848875b0ac
CRs-Fixed: 2368166
2019-01-30 14:31:37 -08:00
Kai Liu
205e8d0726 qcacmn: Fix compile error when enable NAPI_DEBUG
Fix compile error and refine NAPI log when DEBUG option is enabled

Change-Id: Ia2bb8235f92bf4ef2d381deccec707749dbab54d
CRs-Fixed: 2389541
2019-01-30 08:26:26 -08:00
Pavankumar Nandeshwar
3dce817808 qcacmn: enable qdf prints for QDF_TRACE_PRINT_ENABLE flag
Enable printing of QDF prints for QDF_TRACE_PRINT_ENABLE flag
irrespective of the flags WLAN_DEBUG and DEBUG.

Change-Id: I0b53d1759c3d38321d66bec325b855eb1e48e75a
CRs-Fixed: 2355333
2019-01-30 08:26:22 -08:00
Jianmin Zhu
3820084d6c qcacmn: Get 2g vht20 capability from F/W
Add WMI_HOST_REGDMN_MODE_11AC_VHT20_2G in WMI_HOST_REGDMN_MODE
bitmap.

WMI_SERVICE_READY_EVENT indicates ht/vht capability by
hal_reg_capabilities-> wireless_modes, REGDMN_MODE_11AC_VHT20_2G
indicates 2g vht20, check and save it as
WMI_HOST_REGDMN_MODE_11AC_VHT20_2G.

Change-Id: Idfb9a0f576619d4f890c2c0df68fc903f311c510
CRs-Fixed: 2384269
2019-01-30 02:32:25 -08:00
phadiman
ebf4cded6f qcacmn: Check for freelist in Rx Desc Pool
For some corner cases if there are no free
descriptors available in the rx desc pool
then stop processing frames

Add check for the same and break the loop
from processing further frames.

CRs-Fixed: 2380041
Change-Id: Ia5d82813df644af61d898131c2987d8d2798e8c9
2019-01-30 02:32:22 -08:00
Vivek
fa47688f04 qcacmn: Change max scheduler buffers for WIN
Since the usage of the scheduler for WIN,
is now not limited only to scan component alone and
would be used by the new converged MLME also for few specific cases,
we need to increase the size of max scheduler buffers to 4K.

Change-Id: I11818c311b39c42ffda5a79eb7b7137dcb491649
CRs-Fixed: 2387644
2019-01-30 02:32:18 -08:00
Vignesh Mohan
53d6d1b215 qcacmn: Send all args with unit test command for bangradar
The unit test command being sent to FW for bangradar did not have
enough arguments to perform subchannel marking as expected.

Pack in the existing uint32_t argument the following information
	1). Segment ID (2 bits)
	2). Chirp Information (1 bit)
	3). Frequency Offset (8 bits [can be signed]).
that is being sent in the unit test command structure.

Change-Id: I7cc567f7bdc9367ee0f51080d0c54c55aa3e4a6b
CRs-Fixed: 2342535
2019-01-30 02:32:14 -08:00
Nandha Kishore Easwaran
f9c44ce2ad qcacmn: Move DA_war flag to SOC level
Moved DA_war flag from vdev level to soc level.
Also disable DA_war when extap is enabled.

Change-Id: I8e8b2ac7835fb8b5bcad603bd1e7d8036ef7719c
2019-01-30 00:03:13 -08:00
Nirav Shah
bc8daa44ae qcacmn: Changes to support rri_over_ddr support for Genoa
Changes to support rri_over_ddr support for Genoa.

Change-Id: I9b14b4622a5e4413eaee9caec1f9e540db9bab7f
CRs-Fixed: 2357346
2019-01-30 00:03:10 -08:00
Jeff Johnson
6df9155649 qcacmn: Rename sme_session_id in struct add_ts_param (2/2)
The sme_session_id field in struct add_ts_param is poorly named since
that is legacy MCL nomenclature, so there is a desire to rename it to
vdev_id to align with the converged nomenclature.

The first phase of renaming introduced a union so that both the old
and new name could be used by legacy projects, but only the new name
was used within the qcacmn project.

Now since all legacy projects have been updated to use the new name,
for the second phase remove the union, leaving behind just the new
name.

Change-Id: Ie86a3c0833899fbeacd458a53d9e23c6a67e7f12
CRs-Fixed: 2384157
2019-01-30 00:03:07 -08:00
Vivek
601cb9452f qcacmn: Fix number of active command timers in psoc
In psoc open, driver try to get the number of PDEV and
allocate memory for number of timers. But during psoc open number of
pdev are 0, thus timers are not allocated for non scan active queues.

Now if all scan active queues are full and a non scan command is
activated, it tries to find empty timer, which is not found, as
all timers are used by scan commands. Thus timer is not started for
this command and when this command is aborted the timer destroy API
return failure and thus the command is not removed from the active
queue.

Allocate the timer during psoc enable where pdevs are already created
and driver can get the number of pdev and print error if start timer
fails for a command.

Change-Id: Ia5b22e2849c58992a7d3d4097becc257ac673157
CRs-Fixed: 2389157
2019-01-29 21:47:31 -08:00
Jeff Johnson
7929ba9084 qcacmn: Rename sme_session_id in struct add_ts_param (1/2)
The sme_session_id field in struct add_ts_param is poorly named since
that is legacy MCL nomenclature, so there is a desire to rename it to
vdev_id to align with the converged nomenclature. As the first phase
of renaming introduce a union so that both the old and new name can be
used by legacy projects, but otherwise only use the new name within
the qcacmn project.

Change-Id: I93743c3b1e3180589a3af83ed9e51d8dc95324d9
CRs-Fixed: 2384156
2019-01-29 21:47:28 -08:00
Manjunathappa Prakash
721bd5f339 qcacmn: Add DPT for Lithium_dp Tx completion status
Log DPT for Tx completion for Lithium_dp. Do not reset nbuf->cb
as it has DPT markings.

Change-Id: I493c3e0e5f4311b90c1ec60ac3a4b44d13c06f62
CRs-Fixed: 2385743
2019-01-29 19:39:12 -08:00
Manikandan Mohan
3c572b3e19 qcacmn: Fix null pointer dereference in NAN event processing
In function extract_nan_event_rsp_tlv processing WMI_NAN_EVENTID,
fix a potential null pointer dereference of NAN event info data
structure.

Change-Id: I2180d3ce75d89a698d34c56d2abc7687a5fdd485
CRs-fixed: 2381237
2019-01-29 16:55:02 -08:00
Vignesh Mohan
11cd5c7587 qcacmn: Add only current channel's subchannels to the NOL
During subchannel marking, the list of radar affected subchannels contained
subchannels which were not part of the current channel's subchannels.

Remove entries which are not part of the current channel's subchannels,
from the list of radar affected subchannels.

Change-Id: I60eacba8ee45976142f51a8f76d695d8652ad2ab
CRs-fixed: 2383369
2019-01-29 16:54:57 -08:00
Hariharan Basuthkar
a19d00dd5a qcacmn: Add changes to ETSI15 to use EN 302 502 in upper 5GHz
Add changes to ETSI15 to use EN 302 502 in upper 5GHz as a part of
updating regdb with regulatory database version 27

Change-Id: I8ba58990808607febcaea81ae934fb287bc5f972
CRs-Fixed: 2383301
2019-01-29 16:54:53 -08:00
Jianmin Zhu
91308cc532 qcacmn: Remove code of CONFIG_SERIALIZATION_V1 part
Remove legacy code of CONFIG_SERIALIZATION_V1 part

Change-Id: I281d6ae911858c9212317c7e3a895db66511699b
CRs-Fixed: 2386843
2019-01-29 16:54:50 -08:00
Dustin Brown
9ae2232af0 qcacmn: Don't define dp_bus_suspend/resume for WIN
dp_bus_suspend and dp_bus_resume are currently defined for both WIN and
MCL, but only used by MCL. Move their definitions such that they are
under the same #define's as their usages.

Change-Id: Idd17fa0a521f7474d481fbaf5d2c7cfd4138c774
CRs-Fixed: 2387904
2019-01-29 16:54:46 -08:00
Amir Patel
17b91788b0 qcacmn: Update vdev list and peer list access locking in below order
a. Acquire peer list lock
b. Acquire vdev list lock
y. Release vdev list lock
z. Release peer list lock

Change-Id: Ifc1e57fd1a243d909ca65421f269830d24d6b31b
CRs-Fixed: 2372947
2019-01-29 16:54:42 -08:00
Sravan Kumar Kairam
4c6a8a9123 qcacmn: Zero out the memory of hal shadow pointers
Currently hal shadow pointers after memory allocation
are not memset to zero. In case of SMMU S1 enable when
host starts to access hal srng the random value of shadow
memory is copied to host cached values which leads to accessing
the rings even when HW has not updated to it. So zero out
the memory of hal shadow ring pointers after memory allocation.

Change-Id: I10ac6bfff957e953ee9caa15056ce3fa9d57b70e
CRs-Fixed: 2368491
2019-01-29 14:32:03 -08:00
Varsha Mishra
a6e589234e qcacmn: Add new enumeration parameters in set pdev param
Add new enumeration parameters in cdp_pdev_param_type.

Change-Id: I7bfeb2ec8828e35283493c2d22b532fb78b5d236
2019-01-29 12:20:59 -08:00
Amir Patel
36a79a672c qcacmn: Fix htt ppdu tlv bitmap issue
Define two tlvs for 64-bit and 256-bit transmission window

CRs-Fixed: 2377256
Change-Id: Id11e1d3695101ef001c689d33e4546ac8a5faea6
2019-01-29 12:20:55 -08:00
Pavankumar Nandeshwar
753eed32c1 qcacmn: free the dp peers before cp peers in fw recovey case
Free the pending dp peers before cp peers in fw recovey case,
to make sure dp peers release all cp peer references they hold.

Change-Id: Ie6c7562e7214f40be895cf8a57a1aa6245d717cb
CRs-fixed: 2383984
2019-01-29 09:58:12 -08:00
Vivek
c4eabce922 qcacmn: Use QDF_TRACE with no fl for serialization history
The current serialization history output is printed with
file and line information since the common ser_err is using
the FL variants of trace function.

Add ser_err_no_fl to use non FL variant of the trace function
for printing the serialization history.

Change-Id: Icc0b5d00d50aaa8fd8fb6b072784a26177004219
CRs-Fixed: 2387039
2019-01-29 09:58:09 -08:00
Vivek
d34b7d0d62 qcacmn: Change default log level for serialization
Change default log level of serialization to QDF_TRACE_LEVEL_ERROR
Change error print to debug, when pending queue is empty,
which is a possible expected case.

Change-Id: I21cd6b5f158d5dffbc6e7309c9202e7e2e0162e8
CRs-Fixed: 2387017
2019-01-29 09:58:05 -08:00
phadiman
d2e88e3895 qcacmn: Reduce Log Level
Add, delete and update AST DP
functions print logs at TRACE
level

Reduce the log level from TRACE
to DEBUG to avoid ML Framework
from interpreting these logs

CRs-Fixed: 2385978

Change-Id: Ifd5c24a95e7e9f69297afff5d7a3235cfa27aaf5
2019-01-28 12:21:00 -08:00
Abhinav Kumar
f61eaf9d84 qcacmn: For SAP use dwell_time_active def dwell time for 2g chan
Driver uses dwell_time_active_2g by default for scan. In case if
ACS enabled on driver, The dwell_time_active_2g (80 msec) result
in ACS latency and thus latency in SAP start.

To optimize SAP turn-on time latency, use dwell_time_active_def
as dwell time for 2g channels instead of well_time_active_2g
during ACS scan.

Change-Id: Ib673284c99e5539abe0268319e04cc63d0cbb98f
CRs-Fixed: 2383308
2019-01-28 12:20:56 -08:00
Gurumoorthi Gnanasambandhan
e1334b3595 qcacmn: Accept EAPOL packets in uncrypted error case
rx unencrypted eapol frames are dropped with dynamic WEP on de-tunnel mode.
Accept EAPOL packets alone in uncrypted path.

Change-Id: Ie576211c3d408fd7e319fba05c9d1badaa4b4676
2019-01-28 12:20:53 -08:00
Pavankumar Nandeshwar
7eddeddb17 qcacmn: Make ce-debug lock per HIF
Make ce-debug buffer lock per HIF instead
of global. Rectify the #if conditional macros.

Change-Id: I0063014ed2fd9c7716386877dcbefec40e9fa2d9
2019-01-28 12:20:49 -08:00
Srinivas Pitla
39a9222d27 qcacmn: VDEV MLME SM changes
1) Fixes to enable VDEV MLME SM with legacy code
2) Define/Enable PDEV MLME component object.

Change-Id: Ieb87e5b7b70d6bb593ba0950297894a81c6a4feb
CRs-Fixed: 2384173
2019-01-26 19:58:58 -08:00