Commit Graph

18 Commits

Author SHA1 Message Date
Yuanyuan Liu
137755f159 qcacld-3.0: Provide PLD APIs for SMMU operations
Proivde PLD wrapper APIs for getting SMMU mapping
context and mapping SMMU to a specific physical address.

Change-Id: I3feb61b26c839547e4d050f62963e64f5ca062a7
CRs-Fixed: 1057714
2016-09-21 17:08:03 -07:00
Yuanyuan Liu
5ef6bfef5b qcacld-3.0: Add PLD ATHDIAG read/write support
Add PLD wrapper for platform athdiag read/write.
HIF will call these two functions when a athdiag read/write
triggered from user space.

CRs-Fixed: 1061837
Change-Id: Ie34c634beaf1cd91e24eca1b7ce5b6444a60393e
2016-09-21 17:07:57 -07:00
Yuanyuan Liu
22896aa193 qcacld-3.0: Register suspend_noirq/resume_noirq to kernel
Register suspend_noirq/resume_noirq callbacks to kernel. It will
make sure no wake up is pending from FW and if initial wake up is
received then failing it should trigger resume.

Change-Id: Ie553dfc1401c2c6934961773bc98a24626a9cd34
CRs-Fixed: 1060669
2016-09-15 16:51:41 -07:00
qcabuildsw
bad0e26422 Revert "qcacld-3.0: Register suspend_noirq/resume_noirq to kernel"
This reverts Change-Id: I3d3de3789a7d560ed171294fa9a1ebe6389746a7
WLAN driver is blocked from promotion as the dependent kernel
change is not merged yet. PM suspend_noirq/resume_noirq are
not available after reverting.

CRs-Fixed: 1060669
Change-Id: I2b1300bbb19d2e4975bb86a82a892501b993827b
2016-09-11 15:44:44 -07:00
Yuanyuan Liu
42567dfb22 qcacld-3.0: Register suspend_noirq/resume_noirq to kernel
Register suspend_noirq/resume_noirq callbacks to kernel. It will
make sure no wake up is pending from FW and if initial wake up is
received then failing it should trigger resume.

Change-Id: I3d3de3789a7d560ed171294fa9a1ebe6389746a7
CRs-Fixed: 1060669
2016-09-08 17:43:46 -07:00
Yuanyuan Liu
b657e93ec5 Revert "qcacld-3.0: Register suspend_noirq/resume_noirq to kernel"
This reverts Change-Id Ifce8edc5db8c0410c5cddd24aceb88675f8ced42.
WLAN driver is blocked from promotion as the dependent kernel
change is not merged yet. PM suspend_noirq/resume_noirq are
not available after reverting.

CRs-Fixed: 1060669
Change-Id: I0e015d664681c3e2ba57a26b04318d4aa13f0406
2016-09-08 17:43:27 -07:00
Yuanyuan Liu
30597dd8cd qcacld-3.0: Register suspend_noirq/resume_noirq to kernel
Register suspend_noirq/resume_noirq callbacks to kernel. It will
make sure no wake up is pending from FW and if initial wake up is
received then failing it should trigger resume.

CRs-Fixed: 1060669
Change-Id: Ifce8edc5db8c0410c5cddd24aceb88675f8ced42
2016-09-02 18:23:21 -07:00
Mohit Khanna
1d531c408f qcacld-3.0: Add USB bus support (PLD)
Add PLD specific changes for USB bus support.

CRs-Fixed: 1023663
Change-Id: I030ee8a5e6dd13ed8bd970d80f435219677c4e4b
2016-08-19 18:33:17 -07:00
Yuanyuan Liu
f2ee05f167 qcacld-3.0: Provide PLD API for getting IRQ number
Provide PLD API of getting IRQ number for a given CE ID.

Change-Id: Icd293993e84ab4daa98430db231b8b73e082cd29
CRs-Fixed: 1047259
2016-08-19 11:03:51 -07:00
Yuanyuan Liu
0de344f3b5 qcacld-3.0: Update pld_soc_info structure
Update pld_soc_info structure with more Hardware information.

Change-Id: I42c0a16ec00c560b1cec1f355db3e15cd15adee5
CRs-Fixed: 1046753
2016-08-17 11:21:47 -07:00
Arun Khandavalli
1496fcb9be qcacld-3.0: Export APIs for power on/off WLAN hardware
Export APIs to WLAN driver to power on/off WLAN hardware.

Change-Id: I3743b8fe333d3a64b01109e3e821ce44443bdafd
CRs-Fixed: 1017496
2016-08-05 11:23:56 +05:30
Govind Singh
6a2fe03b7b qcacld-3.0: Add PLD layer for SDIO bus(Part 7 - HIF SDIO)
PLD stands for platform driver. It is a interface between CLD and
CNSS/ICNSS. It hides the CNSS/ICNSS APIs from CLD and provides a set
of common APIs.
Other modules should include pld_common.h if they want to call PLD
APIs.

Change-Id: I7591761d2a2be0e22fcad13a504e9fe5f92b9608
CRs-Fixed: 1015316
2016-06-14 14:28:30 -07:00
Yuanyuan Liu
59f81e020e qcacld-3.0: Add PCIE/SNOC wrapper functions in PLD
It is not flexible to call CNSS/ICNSS APIs directly in pld_common
as PCIE and SDIO share some CNSS APIs. It will introduce "duplicate
definition" errors when SDIO is added. Hence, add wrapper functions
for all used CNSS/ICNSS APIs.

CRs-Fixed: 1022778
Change-Id: I6a38434cfa99fc47543e995dd82b7d8ddc4453a7
2016-06-14 14:28:14 -07:00
Yuanyuan Liu
6a313dcb16 qcacld-3.0: Get FW file names from PLD
Get FW file names from PLD.

CRs-Fixed: 1014363
Change-Id: I332cba76a3338eed27d37244bd9351ece99dcd97
2016-05-23 11:46:38 -07:00
Yuanyuan Liu
0e0aa93d32 qcacld-3.0: Use PLD APIs
Replace CNSS/ICNSS APIs with PLD APIs.

Change-Id: Ic0be1ff00dd7b4fc0b125e625f5d3977f4580c5e
CRs-Fixed: 1014363
2016-05-23 11:45:57 -07:00
Yuanyuan Liu
d698eb6cd3 qcacld-3.0: Add support for registering runtime PM APIs
Add support for registering runtime PM APIs in PLD.

CRs-Fixed: 1010156
Change-Id: I8747edd0f8fc4bd79f72f7fba4b65d8c6ebd6887
2016-05-06 14:51:27 -07:00
Yuanyuan Liu
44c44772ad qcacld-3.0: Add PM semaphore related APIs in PLD
Add PM semaphore related APIs in PLD, which is being used in BMI.

CRs-Fixed: 1010156
Change-Id: Ief52f7b078ea62cae18508b9e523e2a19f3519b3
2016-05-06 14:51:27 -07:00
Yuanyuan Liu
d9f7a36529 qcacld-3.0: Add PLD layer
PLD stands for platform driver. It is a interface between CLD and
CNSS/ICNSS. It hides the CNSS/ICNSS APIs from CLD and provides a set
of common APIs.
Other modules should include pld_common.h if they want to call PLD
APIs.

CRs-Fixed: 979275
Change-Id: I3571fc70f502dc367c65f13b412cd5d37ee41d3c
2016-05-02 23:27:47 -07:00