Commit Graph

41 Commits

Author SHA1 Message Date
Skylar Chang 092e78db0e msm: ipa: add support to get tether stats
Wan-driver needs to get those new ioctls from
CNE and send QMI-msg to modem to get the ipa
tethering stats and update to android framework.

Change-Id: Iceea65bb3f20215967e7cbb04cf425b91aef24d4
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2015-10-18 23:07:59 -07:00
Ravinder Konka 2f82b7935a msm: ipa: Fix to handle usb disconnect
When IRAT is performed on modem, flow will be disabled
for more time. At this point if USB is disconnected, USB
producer pipe will not be empty as ep delay is set on IPA
consumer pipe and it results in kernel panic. Provide a
new API to remove ep delay on IPA consumer pipe towards USB.
Before disconnect USB uses this API to enable flow. Also
added optional DT param to check if apps flow control is
needed or not.

Change-Id: I815591feedda6b69f904bf1e7927afd0a3a3cb25
Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com>
Signed-off-by: Ravinder Konka <rkonka@codeaurora.org>
2015-09-25 09:01:03 +05:30
Skylar Chang d473e18f79 msm: ipa: support GRO feature for netmgrd
For this GRO feature, IPA-driver should not
de-aggregate the pkt received from modem, also
no need to attach status. Also netmgrd will
call ioctl to wan-driver to indeicate when
this feature will be enable.

Change-Id: I54e016312631b6398c6608a5981ff238c9957944
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2015-07-10 01:10:24 -07:00
Ravi Gummadidala 3e95e528e2 msm: ipa: changes for wifi-offload with SMMU
Use of S1 SMMU by WLAN and IPA requires changes in both
WLAN and IPA drivers. This commit provides the IPA side
changes.

Change-Id: Ibac3430a649061ad5c564c2888c91edb69b9e882
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2015-06-29 10:46:30 -07:00
Ravi Gummadidala 040964d2f3 msm: ipa: adapt to BAM API changes (due to SMMU)
Addition of SMMU support in BAM driver, it also
requires client side changes. This commit provides
those changes.

Change-Id: I3a3fea5cb6a1fa0824a2d36cf4094f82f25c43ef
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2015-05-19 09:57:06 -07:00
Ravi Gummadidala 6467ba2438 msm: ipa: add support for SMMU
IPA HW is limited to 32-bit addressing requiring stage-1 SMMU
translation for access to memory that cannot be addressed using
32-bits. This commit adds SMMU support for the general purpose
AP pipes.

Change-Id: I256962bf27004065c371cf8c7b6643795350a858
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2015-05-19 20:19:15 +05:30
Gidon Studinski c61c938d92 msm: ipa: rm: add add_dependency_sync API
Add a new blocking API for adding dependency on RM
which will return when the dependent resource is granted or timeout
occurs.

Change-Id: I3f28c187c484f099bfa0b55513cf1f33c8ab0d74
Signed-off-by: Gidon Studinski <gidons@codeaurora.org>
Signed-off-by: Nadine Toledano <nadinet@codeaurora.org>
2015-05-12 08:37:04 +03:00
Skylar Chang 14a3df8d21 msm: ipa: Add turbo mode clock voting
Add support in ipa to vote for turbo mode bimc/snoc clocks and
ipa clock based on different aggregated BW values.

Change-Id: I645befb0d06f3b40d685a873f2920c765075e92d
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2015-04-27 17:18:04 -07:00
Skylar Chang 1fe210f20e msm: ipa: Add more fields in wdi stats
Add more fields to wdi stats according to IPA uC stat change.

Change-Id: Ifd9f26f94c49d4c6c4f894b63a8545a84c5050bc
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2015-04-08 11:10:39 -07:00
Linux Build Service Account c9494484a3 Merge "msm: ipa: Add support for XLAT feature" 2015-02-25 02:50:29 -08:00
Skylar Chang dd564d0248 msm: ipa: Add support for XLAT feature
Add support for XLAT feature in Wan transport
driver and IPA driver.

Change-Id: I9f06fc12f846e335d74f11ef10ff05a94db9e5b3
Acked-by: Shihuan Liu <shihuanl@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2015-02-18 13:54:49 -08:00
Skylar Chang 2394e26262 msm: ipa: Support for wlan init before uC is loaded
uC is not loaded during wlan auto bootup. Provide
API’s to register callback for uC ready

CR fixed: 786658

Change-Id: Ia7c7c10108b7da697da4d97ece359c583355f0c7
Acked-by: Sunil Kumar Paidimarri <hisunil@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2015-02-18 10:25:10 -08:00
Linux Build Service Account 2f82b20c91 Merge "msm: ipa: (re)add offline charging support" 2015-02-09 22:05:18 -08:00
Nadine Toledano 00e22f2d7e msm: ipa: add IPA uC memcpy
Add a new API to perform memcpy using IPA micro-controller.

Change-Id: Ifdda5768dd98f9e23448816fa47dbeb8b15663a9
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Nadine Toledano <nadinet@codeaurora.org>
2015-02-08 16:49:06 +02:00
Ravi Gummadidala 9b1451428d msm: ipa: (re)add offline charging support
In offline charging mode, modem is not loaded so the proxy
IPA clock vote added by IPA driver on behalf of modem is
never released and this prolongs the charge time. This commit
releases the proxy vote after rmnet_ipa driver init completes
and acquires the proxy vote before modem is loaded. These apply
ONLY when not in modem SSR.

This reverts commit 684fa85f12
as the RPM dependency is now met.

Change-Id: Ia46517878364c7e104784b7a3ef33d507da14bd3
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2015-02-05 17:01:36 -08:00
Nadine Toledano c53e26110a msm: ipa: add MHI support to IPA
Add support for MHI (Modem Host Interface) for IPA to
setup HW accelerated MHI channels using IPA uC.
This change exposes new APIs for connecting and disconnecting new
channels of MHI and for power management.

Change-Id: I742c1c6b2f6e528bc47303cd10fc9eab59b7b2b0
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Nadine Toledano <nadinet@codeaurora.org>
2015-02-05 10:12:16 +02:00
Nadine Toledano 443b162378 msm: ipa: add IPADMA
Support IPADMA for MHI client to enable dma using IPA BAM.
Exposes APIs for MHI client which performs synchronous memcpy
and asynchronous memcpy.

Change-Id: Iecbab5d2520f2481d6e715e92e39052382f45e32
Signed-off-by: Nadine Toledano <nadinet@codeaurora.org>
2015-01-25 13:15:10 +02:00
Harshal Trivedi 684fa85f12 Revert "msm: ipa: add offline charging support"
This reverts commit 536e005616

To resolve boot-up crash on 8992 due to RPM dependency.

Change-Id: I789b616be70abe2a728f91a1495f9410918d17c5
Signed-off-by: Harshal Trivedi <htrivedi@codeaurora.org>
2015-01-08 14:12:42 -08:00
Ravi Gummadidala 536e005616 msm: ipa: add offline charging support
In offline charging mode, modem is not loaded so the proxy
IPA clock vote added by IPA driver on behalf of modem is
never released and this prolongs the charge time. This commit
releases the proxy vote after rmnet_ipa driver init completes
and acquires the proxy vote before modem is loaded. These apply
ONLY when not in modem SSR.

Change-Id: I4fe7e32400402046aea9ce1663d1601ec3effb8c
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2014-12-11 11:43:56 -08:00
Tyler Wear 0b6e0e3f26 msm: ipa: odu: Modify odu_bridge_init api
Add capabilities for client to initialize ipa sys desc
pipes when calling odu_bridge_init.

CRs-fixed: 736674
Change-Id: I809f180583276859c8f19a11fa266138f3fc69b9
Signed-off-by: Tyler Wear <twear@codeaurora.org>
2014-10-29 13:49:56 -07:00
Ravi Gummadidala 201120b265 msm: ipa: add support to query and use smem restricted bytes
Currently WAN driver client is hard-coding this value which is
HW version dependent causing AP and modem to go out of sync.

Change-Id: I09a988a0c35ade72a96617281f963bdb0feb6dec
Acked-by: Sunil Kumar Paidimarri <hisunil@qti.qualcomm.com>
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2014-10-15 14:47:04 -07:00
Ravi Gummadidala dfa352e235 msm: ipa: Add new IOCTL to modify routing rule given its handle
During MCC/SCC switch, need to modify routing rules to send traffic
to a different pipe

Change-Id: Iaa91d202aaf02437a01980017f75c584ff112a74
Acked-by: Sunil Kumar Paidimarri <hisunil@qti.qualcomm.com>
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2014-10-01 17:07:54 -07:00
Ravit Katzav 3c9b922d0a msm: ipa: add support for Ethernet Bridging
Add support for new IPA feature for enabling Ethernet bridging.
This includes changes in filtering or routing attributes
and header insertion.

Filtering changes includes adding filtering or routing rules
with attributes from Ethernet header such as source and
destination mac addresses.

Header insertion changes includes adding new API
for adding Processing Contexts to IPA
to allow Ethernet header insertion and processing.

Change-Id: I7fcc8146c06fc306548e67554a3c3c6c8d7cad1e
Acked-by: Yaniv Lefel <ylefel@qti.qualcomm.com>
Signed-off-by: Gidon Studinski <gidons@codeaurora.org>
Signed-off-by: Ravit Katzav <rkatzav@codeaurora.org>
2014-09-21 10:17:29 +03:00
Ravit Katzav 8cfdde730a msm: ipa: odu: add ODU Bridge driver
This change adds support for ODU (Out Door Unit) feature.
ODU feature allows to connect the device to
a Home Gateway using Ethernet-To-PCIe adapter.

This change includes IPA driver changes for supporting
accelerated data path on ODU.

Change-Id: I2607038fb9fdec5cbeeb54896a203ae6a0de8d98
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Ravit Katzav <rkatzav@codeaurora.org>
2014-08-27 10:02:29 -07:00
Ravit Katzav f815ea3332 msm: ecm_ipa: add support for ecm_ipa over HSIC
Adds support for ecm_ipa call over HSIC. Required changes in IPA driver
as well.

Change-Id: I2e13476cbd57fcb0cb93314ea493738f4088f6f7
Signed-off-by: Gidon Studinski <gidons@codeaurora.org>
Signed-off-by: Ravit Katzav <rkatzav@codeaurora.org>
2014-08-27 19:56:35 +03:00
Linux Build Service Account 63be24402f Merge "msm: ipa: add support for WDI stats" 2014-08-15 04:51:31 -07:00
Ravi Gummadidala bd1cc6fb27 msm: ipa: add support for WDI stats
This is needed to report uc collected WDI stats to AP

Change-Id: Ic4f971436067238da3f4734b7ebd583cb9cc4924
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2014-08-06 07:54:44 -07:00
Gidon Studinski 9c881ce231 msm: ipa: add an API to get the IPA HW version
This new API will be used by the IPA unit-test framework.
In addition, refactor the APIs header file.

Change-Id: I2195b634aa124ad7d2ec401b6942666b163f1017
Signed-off-by: Gidon Studinski <gidons@codeaurora.org>
2014-08-03 16:57:09 +03:00
Linux Build Service Account c757aa81d0 Merge "msm: ipa: driver upgrade for new IPAv2.5 core" 2014-07-15 01:51:36 -07:00
Ravit Katzav c106f8d601 msm: ipa: driver upgrade for new IPAv2.5 core
Driver code changes to work with new IPAv2.5 core.
Changes include:
- registers interface changes (base offset
  change, fields offset change and addition of new registers)
- support higher HOLB timeout value (32 bit).

Change-Id: I294d6fb6995f19a8e31733e00f6697369f65fd6e
Signed-off-by: Ravit Katzav <rkatzav@codeaurora.org>
2014-07-09 16:58:13 +03:00
Ravi Gummadidala b7088cedd0 msm: ipa: add proxy ipa clock vote for q6
This is to prevent IPA power-collapse till modem has
loaded the IPA uc.

Change-Id: I2bc51648ab36250ca18d2005cd4657c3dd7354f6
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2014-07-08 11:39:42 -07:00
Ravi Gummadidala dee9033fbc msm: ipa: add support for wifi offload
This enables an accelerated data path between IPA and
WLAN and reduces APPS involvement in the data path.

Change-Id: Ic4aff65e97fb0d055a8737691a47b1bbcb45b313
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2014-05-23 13:21:36 -07:00
Ravi Gummadidala 07f4b6b409 msm: ipa: add support to modify filter rules
This enables existing filter rules to be modified in
place. The filter rule index remains unchanged. This
change is needed to simplify client logic.

Change-Id: I97f5247288d3ca69209ee4f141fd324b8b2665e8
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2014-04-07 11:54:27 -07:00
Ravi Gummadidala 177b9dd51b msm: ipa: add an API to check if IPA driver is ready
Clients can use this API to ensure IPA driver was
initialized successfully before invoking any other IPA APIs.

Change-Id: Ib4a8b62a2c9a2746db1090f540cccd01bae74272
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2014-03-18 19:15:15 -07:00
Ravit Katzav 86337a556b msm: ipa: rm: add support for power save
Adds support for power save feature in IPA Resource Manager.
Manages IPA clock gating from the resource manager.
Adds a new APPS_CONS entity, PRODs which send data to A7 are
dependent on this APPS_CONS for waking up the IPA.

Change-Id: I702e75c0fdef1a919ad7836fd74890b263744b97
Signed-off-by: Ravit Katzav <rkatzav@codeaurora.org>
Signed-off-by: Gidon Studinski <gidons@codeaurora.org>
2014-03-14 15:04:44 +02:00
Gidon Studinski 68766e4fe5 msm: ipa: add support for power save
Adds support for power save feature in IPA driver. IPA clocks will be gated
when there are no clients connected to IPA.

Change-Id: I401cb84185c8c91e79f18a5baea340b644186298
Signed-off-by: Gidon Studinski <gidons@codeaurora.org>
2014-03-14 08:24:30 +02:00
Gidon Studinski 4c8393393e msm: ipa: optimize sys2bam data path
add the ability to provide DMA address of an skb sent
to IPA driver if it was already DMA mapped for saving the
MIPS of mapping the same buffer again.

Change-Id: Iaf06e45d0d4fab0a5968688eae768b79148e8270
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Gidon Studinski <gidons@codeaurora.org>
2014-03-09 00:27:20 -08:00
Gidon Studinski c38f6effde msm: ipa: rm: add clock scaling support
Add the ability to create a performance profile for resources.
IPA RM votes to IPA driver to scale its clocks based on aggregated
performance profile of all active clients.

Change-Id: I658c00c7a1801825ee942f4a8987903ad27c5f09
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Gidon Studinski <gidons@codeaurora.org>
2014-02-13 01:26:46 -08:00
Gidon Studinski 95732aac7d msm: ipa: a2_service: remove a2_service driver
a2_service driver is removed since A2 HW is no longer present.

Change-Id: Iaa5c7daeb32273ea343111e59dcbc3271fdcf2bd
Signed-off-by: Gidon Studinski <gidons@codeaurora.org>
Signed-off-by: Ravit Katzav <rkatzav@codeaurora.org>
2014-02-13 10:08:21 +02:00
Ravi Gummadidala 6100f6fe4f msm: ipa: add 64-bit support for IPA
This change has 64-bit compilation fixes and other
related cleanup.

On targets with IPA HW that mainline code applies to, A2 HW block no
longer exists. This makes a bunch of code (like a2_service.c,
ipa_bridge.c) obsolete. Also, teth_bridge.c is significantly different
because a new IPA driver running on Q6 subsumes most of the
functionality. We need an atomic change to ensure tethering
functionality does not break.

Change-Id: I279e6605dd30b0b8fc03808b69931c749c461914
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2014-02-05 15:29:07 -08:00
Ravi Gummadidala d0ebc02f88 msm: ipa: move out of mach tree
This change is required by the mach tree cleanup.

Change-Id: I09e708e8d19f84ff9fc66f4a14eafdc61376f71d
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2014-02-05 15:29:00 -08:00
Renamed from arch/arm/mach-msm/include/mach/ipa.h (Browse further)