| Commit message (Collapse) | Author | Age |
| |
|
|
|
| |
Bug: 27134656
Change-Id: I681ec2171472514489365ca4bfc4ef16d9b344fe
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order to support WLAN SSR in GVM, we need to enable
PCIe suspend/resume. PCIe suspend/resume requires ldo
reset. GVM has no direct control to PCIe ldos,instead,
they are managed in ghs hypervisor. During WLAN SSR,
GVM will send out power messages to ghs via subsystem
SSR framework which will reset WLAN/PCIe ldos accordingly.
Suspend/resume set is skipped during registration/
un-registration because GVM is not able to inform ghs
to do ldo operations in such scenarios. And if PCIe link is
suspended upon registration, it can resume no more.
Change-Id: I11b44e684a560ca2585ede7e0cee27caccd1074f
CRs-Fixed: 2411088
Signed-off-by: Dongliang Yao <dongliang.yao@codeaurora.org>
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It doesn't support virtualized clock currently,
so we cannot disable/enable clock while do PCIE link
suspend/resume from Linux side at Greenhills platform,
so comment the API cnss_msm_pcie_pm_control to prevent
doing PCIE link suspend/resume.
Change-Id: Ie10d781042ff3e85b3206fd300e9ec3f71897479
Signed-off-by: Chaoli Zhou <zchaoli@codeaurora.org>
|
| |\ \ |
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The disable_irq API will wait for IRQ handler completion
when pcie link down, this will cause system error. Use
the nosync API to disable irq.
Change-Id: Ib8e1c160cb748c2007bd24089e09b0ee6694d04d
CRs-Fixed: 2157312
Signed-off-by: Guisen Yang <guiseny@codeaurora.org>
|
| |/
|
|
|
|
|
| |
Fix some null pointer dereference flaw and parameter not init issues.
change-Id: I0ed5f3f62c3794775bf97d353c4e50dd8ceb32da
Signed-off-by: Yao Jiang <yaojia@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
During SSR, if power-up fails, wlan driver will
enter ssr_in_progress state, which will block
driver unloading, it's not reasonable.
To improve this, notify wlan driver about the
failure, then driver unloading can be handled
properly according to this flag.
CRs-Fixed: 2246361
Change-Id: I669cc0137811a991c00ff9e73ebbb2bcf2d621a1
Signed-off-by: Yu Wang <yyuwang@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
the virtual platform changes to use gerenic pci but not use
msm pci so adapt the cnss_pci to the msm virtual platform.
Change-Id: I8afb5afb9c447e984f2c6f44a722945c48be18dd
Signed-off-by: Ke Huang <keh@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Add asynchronous probe support so that CNSS2 platform driver is
able to probe in parallel with other device drivers which can
help to reduce kernel boot time.
Change-Id: I740cddafd7e3acfed19416b4183ad2487198a751
CRS-fixed: 2071634
Signed-off-by: Yue Ma <yuem@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Check to see if the host is not NULL before trying to use
it, this avoids a crash when the driver is probed, but the
card is not available. Also remove dependency on ARCH_MSM
since it is not used anymore.
Change-Id: I476a512dd41e0c336b71c96d8dd2972cdadb8732
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The QCA wlan chipset uses tlmm, msm and pmic gpio for the WLAN_EN
signal pin. The tlmm or msm gpio uses pinctrl or gpio library for
configuring the sleep/active state runtime.
The pmic gpio runtime configuration is not feasible using gpio
library or pinctrl framework. Convert the pmic gpio to fixed
regulator to runtime control(enable/disable) via regulator framework.
CRs-Fixed: 1040537
Change-Id: Ie74a659f309f248d335e03ca7a0a00244e9715b4
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Vote 1.8V IO and XTAL regulators before 3.3V VREG for WLAN hardware
to strictly follow the hardware requirement. Make sure 3.3V VREG is
voted at least 100us after 1.8V IO.
Change-Id: Ifc52c2062349a9913e6c998573b62d111faa5886
CRs-fixed: 1009287
Signed-off-by: Yue Ma <yuem@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Update the synchronization process of the cnss platform driver
memory expansion and WLAN firmware table configuration from
the userspace through sysfs firmware update node.
CRs-Fixed: 2071560
Change-Id: I672ba84ad10c905be7855c1b8a930ac7adf349f1
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
This is a snapshot of the CNSS2 driver and associated files as
of msm-3.18 commit c1bbe6d5e136 ("cnss2: Fix kernel checkpatch
issues").
Change-Id: Ia77d3abe3f86e4dbeac8d55ea2e0120bed480126
CRs-fixed: 2071634
Signed-off-by: Yue Ma <yuem@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
Add support of cnss_utils for WLAN. Export APIs to WLAN
host driver which are used to set/get WLAN related
information. These information could be retrived later
when WLAN driver is reloaded.
CRs-Fixed: 2060693
Change-Id: I2c8c36602ec8af133946ff00c41ce648a2628041
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
Add protection code to avoid the redundant firmware
setup from the userspace. Synchronize firmware setup
global data access by multiple firmware setup routines
when firmware setup triggered by userspace is in progress.
CRs-Fixed: 2053638
Change-Id: Ib5bf05aade464a0789c7b848457e95d25c4e6f8f
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is a design limitation in host driver. Driver
sends regulatory_hint_user for both user-space and
11d country to kernel. So when wiphy re-registration
happens, kernel tells the source as USER even for 11d.
And per driver logic the 11d needs to be disabled
if INI gCountryCodePriority is set.
To mitigate this issue, storing the country source
in the platform driver.
CRs-Fixed: 2051651
Change-Id: I335a046a886ac3ce35cf96eb71231bfe75d33c60
Signed-off-by: Paul Zhang <paulz@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
Add option CONFIG_CNSS_ASYNC to allow CNSS platform driver probe
asynchronously for boot time optimization in auto platform
Change-Id: Id1fcb8991a47ae56098a9bbd6ff570e22d6450d6
Signed-off-by: Wei Li <weili@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
In some specific cases, clients may want to know why subsystem
crashed, for example, in case of watch dog bite, subsystem may not
be able to execute error handling. Which would need different code
paths to be exercised on the apps processor.
Change-Id: I073733b8a56b57f14906b25cba08012c2f0b414a
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
The DOMAIN_ATTR_COHERENT_HTW_DISABLE IOMMU domain attribute is being
removed. SMMU coherency will be configured through the SMMU device tree
nodes moving forward. Remove the obsolete option.
Change-Id: I99bfca30b073ba3e2fed5d0cae87f2cc1d0914c4
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |/
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
| |
During SSR, we observe cases where card enter bad state
and does not responding to any I/O commands. Fix it by
powering off and on the card.
Change-Id: Ia3ab2781c93d1cfe7427e2b1c2644f6628f6465f
CRs-Fixed: 1058794
Signed-off-by: Komal Seelam <kseelam@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
When WiFi is turned off from userspace, save power by toggling
WLAN_EN gpio and restore power when wifi is loaded again.
CRs-Fixed: 1058794
Change-Id: I0257698d9d168d7c889436a05693061cafe5ea7c
Signed-off-by: Komal Seelam <kseelam@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
On Dual-WiFi platforms, SDIO and PCIe dumps are overwritten by
the crashscope, as they use the same dump name.
Use different dump names to distinguish the dump between SDIO and PCIe.
CRs-Fixed: 1037346
Change-Id: I59c0ee5d3c5f206ae09d6b813f1e5c1ce1434cc1
Signed-off-by: Anand Kumar <anandkumar@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Interrupt Storm is observed on the APPS side, when PCIe link down is
simulated, as FW keeps generating interrupts to host, as it's not aware
of the PCIe link down.
When PCIe link down is identified, wlan platform driver schedules work
to start recovery. During Recovery we cut down power to QCA6174, which
stops the interrupt storm. During the window where platform driver
schedule work and the work actually gets schedules, interrupt storm
happened and the APPS triggered watchdog.
Change-Id: Ica3c32007bc9b8acce79c5bb2175790ff27180d0
CRs-Fixed: 967956
Signed-off-by: Komal Seelam <kseelam@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The WIFI PCIe Clock is controlled by WLAN_EN gpio.
On Dual-WiFi Platforms, QCA WIFI SDIO chip clock sourced by PCIe Clock.
Turning off WLAN_EN gpio would result in SDIO WIFI Functional Failures.
Control the gpio, based on the platform.
CRs-Fixed: 990796
Change-Id: I1399cd8aa53d1c6fd6b8ff0c5cce66b978770dbd
Signed-off-by: Komal Seelam <kseelam@codeaurora.org>
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vdd-wlan-xtal-aon-supply(LD0-4) need to be voted by cnss platform
driver to keep wlan XO(LDO-5) ON during APPS suspend on mdmcalifornium
platforms when wlan is turned ON as per Power UP sequence. Currently
LDO-4 is only voted by USB driver when USB is connected. On removing USB,
LDO-4 is turned off resulting LDO-5 turned off.
When WLAN is turned on removing LDO-5 vote resulted in beaconing failures
on mdmcalifornium platforms. Hence add a dummy vote to LDO-4 when WLAN is
turned ON.
Change-Id: I0c6e7a6c2dc6a51fb19a9d31ceb6823fe9a05ae2
CRs-Fixed: 996537
Signed-off-by: Komal Seelam <kseelam@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The cnss subsystem restart and pm qos export API has been
refactor in respective platform driver according to the bus
type SDIO/PCIe.
Remove redundant and dead code from platform driver to avoid
the namespace collision compilation error. Refactor the recovery
work handler according to bus type. This feature adds support for
dual cnss platform driver support for dual WiFi.
CRs-Fixed: 987560
Change-Id: I0e1b5ff0e9970a40ad9d0619dcb7f8cbae241656
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Add cnss sdio platform driver support to vote for bus bandwidth
as per throughput requirement from wlan driver. The cnss sdio
platform driver export bus bandwidth api for wlan host driver.
CRs-Fixed: 990173
Change-Id: Ied2e5a78487b6f6076cd19f32c959a69050e055c
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
Initialize PinCtrl Framework for SDIO platforms to support antenna
sharing.
The antenna sharing is enabled only for platform which has PCIe QCA
and SDIO QCA chipsets.
CRs-Fixed: 990796
Change-Id: Ib3da0ce52ef46deae2ba49e4f39808effe18457d
Signed-off-by: Komal Kumar <kseelam@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Store WiFi DFS NOL list and return to wlan host driver
on query. It adds support for no link operation on radar
detection.
This export symbol supported by both SDIO and PCIe platform
driver. So add this API as a common API for both SDIO and PCIe
interface based wlan module and remove the duplicate API from
the SDIO and PCIe platform driver.
CRs-Fixed: 983618
Change-Id: Idc25806de6f919b88130a1633adbb7bc1048ecd5
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Store WiFi unsafe Channel list and return to wlan host
driver on query. It adds support WiFi unsafe Channel list
for LTE-WiFi coexistence.
This export symbol supported by both SDIO and PCIe platform
driver. So add this API as a common API for both SDIO and PCIe
interface based wlan module and remove the duplicate API from
the SDIO and PCIe platform driver.
CRs-Fixed: 983607
Change-Id: I1698df3fb689ef17294e00032adde5ae635e76de
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
In 4.4 kernel, regulator_set_optimum_mode() is replaced by
regulator_set_load(). Hence update it accordingly for CNSS
driver in 4.4 kernel to avoid compilation issue.
Signed-off-by: Yue Ma <yuem@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
| |
To improve the wlan throughput add power management quality
of service support in cnss sdio platform driver. The cnss sdio
platform driver export PM QoS API to wlan host driver.
CRs-Fixed: 970872
Change-Id: Idcea4cde74b280b26706be1bd88b822de80c0ff3
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
In some targets, explicitly turning on/off the regulator for WLAN
antenna switch is needed to enable/dsiable antenna sharing capacity.
Hence add the change to achieve this based on device tree option.
Change-Id: Ic04019cbe9c42bc92a65f308f56f307c52346d92
Signed-off-by: Yue Ma <yuem@codeaurora.org>
|