Commit graph

18 commits

Author SHA1 Message Date
Govind Singh
aebb9befc6 net: cnss: Add support to get fw files for QCA SDIO target
Current implementation for getting fw files for a target is
supported only in PCIE based QCA chipsets. Add support to
get FW files for QCA SDIO targets.

CRs-Fixed: 1036232
Change-Id: If6c273d9a86f9fc4bc841388b11b96c385dc64f4
Signed-off-by: Govind Singh <govinds@codeaurora.org>
2016-09-27 00:13:45 -07:00
Sarada Prasanna Garnayak
4d16293739 cnss: Add new case in cnss runtime PM request feature
The cnss platform driver provides wrapper API to
use the kernel runtime PM APIs in wlan host driver
for runtime power management operation.

Add flag for pm_runtime_get_noresume() API.

CRs-Fixed: 1068920
Change-Id: I36d278bf1837b2a18f74ff52b9be9b7e5a165857
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2016-09-21 02:37:02 -07:00
Komal Seelam
3136a40d03 cnss: Provide API to CLD Driver to control SPDT GPIO
Antenna Sharing GPIO need to be toggled between QCA PCIe and SDIO
devices based on the requirement. If SDIO device is to be operational,
this GPIO should be turned ON high.

Expose API to CLD Driver to control this GPIO for dual-wifi platforms.

CRs-Fixed: 1013494
Change-Id: I271ba273a4c70717f066d219ff02e8f0f56e2ac3
Signed-off-by: Komal Kumar <kseelam@codeaurora.org>
2016-08-24 04:42:47 -07:00
Komal Seelam
9e5835025b cnss: Expose Power Up/Down API to WLAN Functional Driver
Dynamic Mode Change Feature Request, needs to power ON
QCA Chip during system bootup to get Firmware Capabilities.
Today the implementation is only during driver load, platform driver
power up the chip and call the device driver probe and call device driver
remove and cut the chip power during driver unload.
As part of this feature request, driver needs API to power down and
power up chip after ifconfig down and before ifconfig up.

CRs-Fixed: 1009901
Change-Id: I8e964c6bb8d6d8fb6f4bfba17a6b24b97509953c
Signed-off-by: Komal Kumar <kseelam@codeaurora.org>
2016-08-24 04:41:43 -07:00
Komal Seelam
7a63bcdb97 cnss: Refactor CNSS Platform Driver for better code maintenance
Retain API's in cnss_common.h file for cnss use only. cnss.h is to
be used to expose the EXPORT_SYMBOL API's.

CRs-Fixed: 1009898
Change-Id: I2b9eb81552f4803c3accd0221ea891697a9a93bc
Signed-off-by: Komal Kumar <kseelam@codeaurora.org>
2016-05-31 22:20:28 -07:00
Sarada Prasanna Garnayak
267a202df0 net: cnss: add dual cnss platform driver support for dual WiFi
For dual WiFi both cnss sdio and pcie platform needs to
be enabled. Added changes below to support dual platform
driver for dual WiFi.

Refactor the common api and data structure to avoid namespace
collision compilation error. Refactor sdio and pcie bus specific
kernel api and removed conditional compilation config flag.

The platform driver at run time identifies the wlan bus type
from the PHY device pointer passed by the wlan driver through
vos api and cnss platform driver redirects the cnss api according
the bus type.

Remove conditional compilation flag from cnss common api and
update cnss makefile for dual platform driver compilation
with single config flag.

CRs-Fixed: 988871
Change-Id: I8205c2979c857c2f3845ba2dc397d2f9dd1afa3b
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
Signed-off-by: Ryan Hsu <ryanhsu@codeaurora.org>
2016-05-31 15:25:28 -07:00
Yuanyuan Liu
e1ed71b374 cnss: Fix compilation error of missing CONFIG_CNSS_SECURE_FW
Add #ifdef CONFIG_CNSS_SECURE_FW for cnss_get_fw_ptr and
cnss_get_sha_hash.

Change-Id: I884b4ab3d552b12dd83f852be565a5dc4e69e21a
CRs-Fixed: 971688
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
2016-04-22 15:01:34 -07:00
Sarada Prasanna Garnayak
95d3c6569c net: cnss: add cnss common api support for dual WiFi
Add common api support of subsystem restart and bus
bandwidth for dual wifi. This feature redirect the cnss
export api according to the bus type SDIO/PCI.

CRs-Fixed: 986275
Change-Id: Iaf13d6c6d68ef62b7e4f6581899ec8325c5e9696
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2016-03-25 16:04:00 -07:00
Komal Seelam
501e4dbda6 cnss: Implement API to store WLAN MAC address in platform driver
WLAN Functional Drivers Queries cnss platform driver to get the
MAC Address. If the OEM doesn't provide the valid MAC address, the
WLAN Driver fallbacks to use other approaches to get MAC address.

This works under CONFIG_CNSS_MAC feature flag, which will be enabled
only on the OEM platforms. For internal platforms, CNSS driver doesn't
hold any valid mac addresses.

CRs-Fixed: 985585
Change-Id: I1e8a030a32a640cec84cadd6b36b37938d5fe6be
Signed-off-by: Komal Kumar <kseelam@codeaurora.org>
2016-03-25 16:03:43 -07:00
Sarada Prasanna Garnayak
9fc3913ed9 net: cnss: add subsystem restart support for dual WiFi
Subsystem device add support for subsystem restart
recovery and ramdump device for cnss firmware dump
collection before the subsystem restart.

Refactor subsystem restart wrapper APIs to avoid the name
space collision in cnss platform driver compilation in dual
WiFi mode.

CRs-Fixed: 983677
Change-Id: Ib4a8d1a6d0ce8f1faa43ce0aa8312823b1ca3c15
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2016-03-25 16:03:02 -07:00
Sarada Prasanna Garnayak
b29bc2ad43 net: cnss: add PM QoS support for dual WiFi
PM QoS adds support to improve the wlan throughput.
The cnss platform driver export PM QoS API to wlan
host driver.

Refactor PM QoS wrapper APIs to avoid the name space
collision in cnss platform driver compilation in dual WiFi
mode.

CRs-Fixed: 983653
Change-Id: Id7a486f2f111476e73d5707eba36611a3530e9cf
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2016-03-25 16:03:02 -07:00
Abhishek Singh
86af6dc34e cnss: Expose dump stack functionality
Add changes to expose dump stack functionality which can be used
by driver to dump stack information when it requires.

CRs-Fixed: 979886
Change-Id: Ib929ad0a510b996ac54d17afd2957ea487c62851
Signed-off-by: Abhishek Singh <absingh@codeaurora.org>
2016-03-23 21:21:25 -07:00
Sarada Prasanna Garnayak
2456b24f24 net: cnss: refactor PM QoS request wrapper API
Make PM QoS request API generic to pass the type of latency
requirement needed by the client instead of hard coding
latency type. Add latency type as a function parameter.

CRs-Fixed: 972761
Change-Id: Ic912148d2068fe8a758b6a4b3be570ccf870f03a
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2016-03-23 21:20:46 -07:00
Liangwei Dong
6a42808462 Net: CNSS_SDIO: Add cnss_get_restart_level CNSS API
export cnss_get_restart_level cnss API for wlan driver
to get current subsystem restart level.

Change-Id: I7e5d9b0055707bbad06b6cd1496723da6c28d4d5
CRs-Fixed: 961579
Signed-off-by: Liangwei Dong <liangwei@codeaurora.org>
2016-03-23 21:17:11 -07:00
Kai Liu
09c8b9e190 cnss: sdio: Define OOB interrupt interfaces.
Define the OOB interrupt interfaces in case that internal
interrupt is unsupported in some platforms.
In some specific platform, only polling mode is supported, with
these OOB interrupt interfaces implementation, it will support
interrupt mode.
To be generic, this OOB feature is default unsupported.

Change-Id: I3b38e59bd7fdb441c85eb82a79cf9c951ca32130
CRs-Fixed: 937303
Signed-off-by: Kai Liu <kaliu@codeaurora.org>
2016-03-23 21:16:42 -07:00
Liangwei Dong
d362e25309 Net: CNSS_SDIO: Add SSR support for QCA WIFI Devices
Register subsystem device for SSR recovery. Create
ramdump device for cnss fw dump collection. Implement
cnss SSR API to wlan sdio driver.

CRs-Fixed: 944010
Change-Id: If81fd84bb6080df73b12f235a2aa0eff6f717ce1
Signed-off-by: Liangwei Dong <liangwei@codeaurora.org>
2016-03-23 21:16:03 -07:00
Liangwei Dong
fa7db29c1f Net: CNSS_SDIO: add sdio wlan driver registration
Move sdio wlan func driver interface(includes Suspend
and Resume)registration from wlan cld driver to cnss_sdio
driver. wlan cld driver provides callback functions
to cnss_sdio driver by cnss_sdio_wlan_register_driver API.

CRs-Fixed: 944931
Change-Id: If9cec25024c5840e043fc652a7f0c7df4d83f4e9
Signed-off-by: Liangwei Dong <liangwei@codeaurora.org>
2016-03-23 21:13:17 -07:00
Yue Ma
f590819cde net: cnss: Add snapshot of cnss driver
This is a snapshot of the cnss driver and associated files as of
msm-3.18 commit:

e70ad0cd5efdd9dc91a77dcdac31d6132e1315c1 (Promotion of kernel.lnx.
3.18-151201.)

Signed-off-by: Yue Ma <yuem@codeaurora.org>
2016-03-22 11:16:41 -07:00