Commit Graph

2640 Commits

Author SHA1 Message Date
Linux Build Service Account 4d2fcc2870 Merge "msm: ipa: fix sps power management handling" 2015-01-14 17:12:14 -08:00
Linux Build Service Account 6c18f6e404 Merge "mhi: core: Fix double increment on event counter" 2015-01-14 09:44:34 -08:00
Linux Build Service Account e839151f44 Merge "msm: ipa: set IPA_ENDP_STATUS to 0 for IPA BAM2BAM pipes" 2015-01-14 03:02:43 -08:00
Linux Build Service Account 10ead706b1 Merge "i2c-msm-v2: correct throughput calculation in i2c driver" 2015-01-14 03:02:37 -08:00
Nadine Toledano ad96e0fc1e msm: ipa: fix sps power management handling
Separate SPS power management workqueue from the global IPA power
management workqueue to avoid a potential deadlock where a TAG process
waits for the TAG to return in the context of IPA workqueue and
SPS power management work waits for this TAG process to end.

Change-Id: I30e2de25bbba030d6962cf8cbccf8431d8ed6af6
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Nadine Toledano <nadinet@codeaurora.org>
2015-01-13 23:35:29 -08:00
Andrei Danaila 834aae19aa mhi: core: Fix double increment on event counter
Prevent event counter from getting incremented twice and breaking
the modulo operation.

Change-Id: I472115a3d65a84904482455d00cee9de6d31043b
Signed-off-by: Andrei Danaila <adanaila@codeaurora.org>
2015-01-13 13:35:05 -08:00
Ankit Gupta 8aa45fbee5 i2c-msm-v2: correct throughput calculation in i2c driver
Calculation of throughput should not consider overhead bytes
as a result of tags. Only actual data should be used
to calculate the I2C throughput values.

Change-Id: I605a5284a3deef1ade4a70f064ac7af3b7b3edf6
Signed-off-by: Ankit Gupta <ankgupta@codeaurora.org>
2015-01-13 11:25:35 -07:00
Linux Build Service Account 8a749c2498 Merge "msm: ipa: set SSR TAG process timeout to 150msec" 2015-01-13 02:35:33 -08:00
Linux Build Service Account 35edaa3ad9 Merge "mhi: core: Enable additional MHI logging" 2015-01-13 02:34:43 -08:00
Sivan Reinstein f464850a12 msm: ipa: set IPA_ENDP_STATUS to 0 for IPA BAM2BAM pipes
When a BAM2BAM end-point is configured via IPA core
driver, the ENDP_STATUS register needs to be initialized
to 0.

Change-Id: Ide1490da3cd0190c1f8f3da2f60c4d570336fbe1
CRs-fixed: 775498
Acked-by: David Arinzon <darinzon@qti.qualcomm.com>
Signed-off-by: Sivan Reinsten <sivanr@codeaurora.org>
2015-01-12 20:32:32 +02:00
Sivan Reinstein 105012c52c msm: ipa: set SSR TAG process timeout to 150msec
According to experiments, 20msecs timeout is insufficient
for TAG process. This change increases the timeout in
a SSR scenario to 150msec.

Change-Id: Ie5300d0fef5a3d5e4f772fe9ca70a1212c79ad46
Acked-by: David Arinzon <darinzon@qti.qualcomm.com>
Signed-off-by: Sivan Reinsten <sivanr@codeaurora.org>
2015-01-12 15:51:49 +02:00
Skylar Chang 4b59525211 msm: ipa: send NOP write register command before NAT_INIT imm cm0064
During NAT table re-configuration, send NOP write register
command before sending NAT_INIT immediate command to make
sure that IPH pipeline is clear.

Change-Id: Ib2a6d89b9147bf2fd93144ae9baa34a7bbd375ec
Acked-by: Sunil Kumar Paidimarri <hisunil@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2015-01-09 12:39:39 -08: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
Andrei Danaila 80425eb28c mhi: core: Enable additional MHI logging
Enable additional MHI logs for monitoring SSR flow.

CRs-Fixed: 773805
Change-Id: I579c083ad9ec0238ab3a6d51fec25b4ce5ccf62a
Signed-off-by: Andrei Danaila <adanaila@codeaurora.org>
2015-01-08 13:30:55 -08:00
Linux Build Service Account 91e423996f Merge "usb: msm: bam: Handle multiple bam pipe suspend/resume properly" 2015-01-08 06:01:18 -08:00
Linux Build Service Account 3849efb90f Merge "msm: ipa: lock BH during WWAN0_PROD resource release" 2015-01-08 02:04:09 -08:00
Linux Build Service Account 5f49744118 Merge "msm: msm_bus: Add num aggports property" 2015-01-08 02:04:04 -08:00
Hemant Kumar f285d569fd usb: msm: bam: Handle multiple bam pipe suspend/resume properly
Driver maintains pipes_suspended and pipes_resumed counter to
match the bam pipe suspend and resume. Bam pipes are suspended
one by one but condition to check if all the bam pipes are
suspend and resumed is incorrectly assuming that pipes are
suspended in pairs. As a result pipe_suspended and pipes_resumed
values are set less than the actual number of pipes suspended
and resumed. At the time of resume all suspended pipes are not
reset because wrong value of pipe_suspended is set. This is causing
data stall. Hence remove multiplication of 2 while checking for
number of pipes suspended and resumed.

CRs-Fixed: 773747
Change-Id: I9746e9c9f7596c5e4737c50a07dc63dd60738ba6
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2015-01-07 18:37:59 -08:00
Ravi Gummadidala b5c94f1f60 msm: ipa: lock BH during WWAN0_PROD resource release
This change is needed to prevent deadlock due to watchdog handler
running while the TX queue is already locked by the suspend handler.

Change-Id: I8f8afc50719e352972489bd9c7819600a7e2fead
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2015-01-07 16:04:04 -08:00
Linux Build Service Account 995ad6e726 Merge "vibrator: qpnp-haptic: cleanup string for change in play_mode" 2015-01-06 22:18:11 -08:00
Alex Sarraf bfd35b5a88 vibrator: qpnp-haptic: cleanup string for change in play_mode
Clear the unnecessary characters such as newline to allow user
to configure play_mode for other inputs.

CRs-fixed: 773098
Change-Id: I68e460164af0d7de348cca2ccb4a45aa30081c4b
Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
2015-01-06 09:17:23 -08:00
Linux Build Service Account ec062de459 Merge "msm: ipa: add offline charging support" 2015-01-05 16:02:10 -08:00
Linux Build Service Account 6e6788e189 Merge "msm: msm_bus: Add NoC limiter and regulator mode for adhoc driver" 2015-01-05 16:02:08 -08:00
Sivan Reinstein dab15ad3e5 msm: ipa: ignore IPA TAG process timeout failure in SSR clean-up
This change ignores a case where TAG process times out during
SSR  clean-up procedure to avoid crashing the target.

Change-Id: I2cd1aabedd8e0f911d5b145349845e9e5701c7c9
Acked-by: David Arinzon <darinzon@qti.qualcomm.com>
Signed-off-by: Sivan Reinsten <sivanr@codeaurora.org>
2014-12-31 09:56:48 +02:00
Girish Mahadevan 855f769218 msm: msm_bus: Add NoC limiter and regulator mode for adhoc driver
Add the ability to switch NoC masters to be in limiter and regulator mode
for the adhoc bus driver. These modes offer differing degrees of
throttling the io traffic from NoC master ports if needed.

Change-Id: If2f868430ebccff1a11aad7d90fa5b352ea2c876
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2014-12-29 20:25:08 -07:00
Linux Build Service Account df5aadede6 Merge "msm: ipa: change IPA_UC_MAILBOX offset" 2014-12-29 11:31:58 -08:00
Linux Build Service Account 35b060cd6c Merge "msm: ipa: add support for AP suspend in ipa driver" 2014-12-28 05:10:35 -08:00
Linux Build Service Account 7df3fbe0b8 Merge "msm: ipa: add support for AP suspend in rmnet_ipa" 2014-12-28 02:22:52 -08:00
Linux Build Service Account 05d1165ed2 Merge "msm: ipa: removing apps IPv4 & IPv6 filtering partitions from SRAM" 2014-12-25 20:12:05 -08:00
Linux Build Service Account ada81eb974 Merge "msm: ipa: remove support for IPA 1.0" 2014-12-25 20:12:03 -08:00
Gidon Studinski 0dd9d4fd9c msm: ipa: remove support for IPA 1.0
Removes support for IPA 1.0, which is an old IPA version. The old version
had HW bugs that required special handling in SW and can now be removed.
Additionally, there is no commercial product which uses IPA 1.0.

Change-Id: I7bbd3d2c0b58aab84ec26638f87cbbc2ce781d17
Signed-off-by: Gidon Studinski <gidons@codeaurora.org>
2014-12-25 11:13:19 +02:00
Linux Build Service Account c9cbc59dc5 Merge "msm: qpnp-power-on: support configuring secondary PON for reset" 2014-12-25 00:25:27 -08:00
Linux Build Service Account 431907d7f4 Merge "msm: ipa: improve SUSPEND interrupt handling" 2014-12-25 00:25:10 -08:00
Linux Build Service Account bd51e79839 Merge "msm: msm_bus: Add trace events to ad-hoc bus driver" 2014-12-24 14:54:05 -08:00
Linux Build Service Account 4eb3ec9580 Merge "msm: msm_bus: Add support for QoS clk for fabrics" 2014-12-24 14:53:39 -08:00
Linux Build Service Account b872da574e Merge "msm: msm_bus: Check the correct handle when creating debugfs entry" 2014-12-24 14:53:33 -08:00
Gidon Studinski 561adcb439 msm: ipa: add support for AP suspend in ipa driver
When AP suspend is triggered, IPA driver checks whether there are active
clients of IPA. In case there are active clients, postpone the AP suspend
operation for a later time.

Change-Id: Ib00d07c3fa93492aa532bff5b23d93ca557de2ca
Signed-off-by: Gidon Studinski <gidons@codeaurora.org>
2014-12-24 17:04:03 +02:00
Gidon Studinski 9774d5bd73 msm: ipa: add support for AP suspend in rmnet_ipa
When AP suspend is triggered, there is a need to immediately release the
WWAN0_PROD entity, which enables clock gating IPA HW.

Change-Id: I13df22b5abf48e5de6349d309abb0810c6dc9c7f
Signed-off-by: Gidon Studinski <gidons@codeaurora.org>
Signed-off-by: Ravit Katzav <rkatzav@codeaurora.org>
2014-12-24 17:04:03 +02:00
Ravit Katzav 59119189ab msm: ipa: change IPA_UC_MAILBOX offset
Change IPA_UC_MAILBOX register offset to match the correct register
base offset.

Change-Id: I651294eb5bb17f15eb862436710a2a978cf853d1
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Ravit Katzav <rkatzav@codeaurora.org>
2014-12-24 14:09:30 +02:00
Alok Chauhan 757a1fd684 msm: msm_bus: Add trace events to ad-hoc bus driver
Add trace events to the ad-hoc bus driver to assist in
client agg vote, clocks, QOS debugging and rules applied.

Change-Id: I46ae10bd550117dea2f3c2934e8335c8c0b0e1bd
Signed-off-by: Alok Chauhan <alokc@codeaurora.org>
2014-12-24 16:18:06 +05:30
Subbaraman Narayanamurthy 569cca033e msm: qpnp-power-on: support configuring secondary PON for reset
In certain SOCs, multiple PMICs are present to power up the system.
During the system reset, it may not be enough to configure the main
PMIC's PON block based on the power off type. In some cases, there
is a requirement to configure the secondary PMIC's PON block also.
Add support for that.

While at it, fix the error return path so that the driver can probe
properly even when the optional properties are not defined in the
device tree.

CRs-Fixed: 768664
Change-Id: I9741adb76595a3671f766b32ac2d5b16dbdf79ab
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2014-12-23 16:48:35 -08:00
Girish Mahadevan b282d02845 msm: msm_bus: Add support for QoS clk for fabrics
Some bus masters require an additional QoS clock to be enabled in addition
to the bus clock itself when changing their QoS mode to limiter or
regulator. This clock is enabled once and disabled when voting to turn off
the bus clock itself.

Change-Id: I485567b1e1f584ea711c130d3dd0eea3eca49355
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2014-12-23 11:36:46 -07:00
Girish Mahadevan 8738756d70 msm: msm_bus: Check the correct handle when creating debugfs entry
Clients that use the newer APIs have a different data structure containing
the client handle. Make sure to use the correct client handle when
setting up debugfs entries for clients that register early, not doing so
would cause a crash at bootup.

Change-Id: I21994613ecbafff07b68e1cd4c0db748cbc1ca3a
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2014-12-23 10:26:19 -07:00
Sivan Reinstein f7622034ac msm: ipa: removing apps IPv4 & IPv6 filtering partitions from SRAM
For IPA2.5 and on, the apps IPv4 & IPv6 filetring tables are moved
to DDR, so the corresponding partitions are removed from SRAM.
The space released from these partitions is added to modem memory
partition, since Q6 requires more memory in SRAM for filtering rules.

Change-Id: Ia6823379edffa8f71929d95d24d829e6af979780
Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
2014-12-23 15:28:02 +02:00
Linux Build Service Account b3bdaa4bf5 Merge "i2c-msm-v2: factor out logging and debugfs" 2014-12-22 20:13:13 -08:00
Ankit Gupta 04fc61be5b i2c-msm-v2: factor out logging and debugfs
Factor out the logging and debugfs from the i2c driver
to a separate source file to improve modularity.

Change-Id: I813c0360358ee185d42d675e156c62ffbaf00e8c
Signed-off-by: Ankit Gupta <ankgupta@codeaurora.org>
2014-12-22 10:48:44 -07:00
Linux Build Service Account 5ebfd8acda Merge "mhi: core: Remove useless atomic variables" 2014-12-21 03:27:53 -08:00
Linux Build Service Account f013de9f1c Merge "mhi: uci: Fix race conditon in mhi_poll_inbound" 2014-12-21 03:27:52 -08:00
Linux Build Service Account ed983768ce Merge "mhi: core: Enable ftrace events in MHI" 2014-12-21 03:27:51 -08:00
Linux Build Service Account d9f768c98e Merge "msm: ipa: fix resource leak during modem SSR" 2014-12-17 19:04:46 -08:00
Andrei Danaila 6ab191b492 mhi: core: Remove useless atomic variables
Remove unused atomic variables in MHI.

CRs-Fixed: 734059
Change-Id: I052a9662c52ef88df0a5b8bcf37be1187a6b942e
Signed-off-by: Andrei Danaila <adanaila@codeaurora.org>
2014-12-17 11:42:24 -08:00
Andrei Danaila f5877ca18e mhi: uci: Fix race conditon in mhi_poll_inbound
A race condition exists in MHI_UCI whereby a client could receive
a buffer, inconsistent with the return code from MHI.

Change-Id: I4a932ea608ce967c1588f092c60d03747bad2064
Signed-off-by: Andrei Danaila <adanaila@codeaurora.org>
2014-12-17 11:41:57 -08:00
Andrei Danaila fd8c19f734 mhi: core: Enable ftrace events in MHI
Enable ftrace events in MHI for the tracing of power
state transitions.

Change-Id: I74373b7429c6d7316c4a66db141cc09e2a4418dd
Signed-off-by: Andrei Danaila <adanaila@codeaurora.org>
2014-12-17 11:29:15 -08:00
Ravit Katzav 7526bb0bf0 msm: ipa: improve SUSPEND interrupt handling
When a packet arrives to a suspended endpoint in IPA,
IPA generates a SUSPEND interrupt. IPA driver handles it by
requesting the corresponding CONSUMER resource from IPA RM for
1 second and then releases it. In case this resource is requested
by another resource in IPA RM and released, the resource will be
released only after the 1 second timeout expires.
This change improves this by releasing the resource immediately
without the need to wait for 1 second timeout.

Change-Id: I033d9c3c7d332b3271a4d7e27ef1c5364a847b5c
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Ravit Katzav <rkatzav@codeaurora.org>
2014-12-17 15:13:10 +02:00
Linux Build Service Account 1ff8e6cef4 Merge "msm: ipa: create a general interface for the uC" 2014-12-17 00:00:25 -08:00
Linux Build Service Account f285010d51 Merge "msm: ipa: un-suspend pipe on connect" 2014-12-16 07:12:55 -08:00
Sivan Reinstein 5f3359baaf msm: ipa: create a general interface for the uC
This change creates a general interface for communicating with the uC,
similarly to the way commands are being sent to the IPA
(via send_cmd function).

Change-Id: I3cf221c8c90de43ea21069d886b2df11363054a0
Acked-by: David Arinzon <darinzon@qti.qualcomm.com>
Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
Signed-off-by: Ravit Katzav <rkatzav@codeaurora.org>
2014-12-16 15:32:08 +02:00
Linux Build Service Account a221156470 Merge "msm: ipa: destroy QMI client handle in IPA QMI clean-up" 2014-12-13 09:15:37 -08:00
Linux Build Service Account cf5d988cd9 Merge "msm: ipa: wake up rmnet_ipa Tx queue explicitly" 2014-12-12 04:36:22 -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
Ravi Gummadidala 1d2c6a39c9 msm: ipa: fix resource leak during modem SSR
The free pool resources were not being released during
modem SSR triggered ingress pipe teardown. This commit
fixes that leak.

Change-Id: I0743823bea1c7aa49bb9455c4d3415693642825c
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2014-12-11 10:49:45 -08:00
Dan Sneddon bbaf7c724f msm: msm_bus: Add num aggports property
The adhoc bus scaling driver uses the number of qos ports
to determine if the path is interleaved or not.  On some
targets there are interleaved paths that don't have multiple
qos ports.  This will cause the aggregation to be incorrect.
This patch adds support for these types of paths.

Change-Id: Ib86d4313bc444b879561472a2f266c3e7be2fb10
Signed-off-by: Dan Sneddon <dsneddon@codeaurora.org>
2014-12-11 11:06:57 -07:00
Sivan Reinstein b4aa6b5c48 msm: ipa: destroy QMI client handle in IPA QMI clean-up
This change fixes a QMI client handle leak found in IPA.
The issue is caused due to the fact that during the clean-up,
rmnet_ipa unregisters from QMI events, causing QMI_SERVER_EXIT
to not be called, and handle clean-up to not be invoked.
The change invokes the handle clean-up explicitly.

CRs-fixed: 767260
Change-Id: I4c2047d08d9c9608ab80dd2673983794832f9ad5
Acked-by: David Arinzon <darinzon@qti.qualcomm.com>
Signed-off-by: Sivan Reinsten <sivanr@codeaurora.org>
2014-12-11 10:14:31 +02:00
Sivan Reinstein 33a4eb2614 msm: ipa: wake up rmnet_ipa Tx queue explicitly
When rmnet_ipa is temporarily unable to send packets
it stops the Tx queue. Upon resuming, rmnet_ipa calls
netif_start_queue. This function only updates the status
of the queue but doesn't start it actually (until the next
packet to be sent is received into that queue). This causes
the previous packet to be stuck at the queue.
Instead, netif_wake_queue is used to trigger the queue to
invoke the xmit function immediately.
Note that netif_wake_queue is called from a workqueue context
and not from RM context.

CRs-fixed: 765957
Change-Id: I4afc3b59b0d617b56984f03d7ca08235757dc5c9
Signed-off-by: Sivan Reinsten <sivanr@codeaurora.org>
Acked-by: David Arinzon <darinzon@qti.qualcomm.com>
2014-12-10 14:04:04 +02:00
Ravit Katzav 30dc4f78ff msm: ipa: un-suspend pipe on connect
In case of IPA RM resource is granted before pipe is connected,
un-suspend the pipe on IPA on pipe connection to enable data-path.

Change-Id: Id8ca46f981efea44b430c6edd41efd25c9916f8a
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Ravit Katzav <rkatzav@codeaurora.org>
2014-12-10 02:09:23 -08:00
Linux Build Service Account 5a74deef22 Merge "usb: bam: Allow USB to attempt LPM after disconnecting IPA" 2014-12-07 09:17:41 -08:00
Linux Build Service Account e6648086a9 Merge "msm: msm_bus: Always enable/disable bus clock during qos programming" 2014-12-05 00:05:34 -08:00
Jack Pham c063347e1c usb: bam: Allow USB to attempt LPM after disconnecting IPA
If usb_bam_disconnect_ipa_prod() is called with a USB consumer, it
first does usb_bam_resume_core() which calls pm_runtime_resume()
to ensure USB is not in low power mode. However, this can race
with a pending idle request, and could potentially cancel the
suspend from happening.

Fix this by setting the pending_lpm flag in disconnect_ipa_prod().
This will allow the usb_bam_suspend_core() that gets called at the
end of usb_bam_disconnect_ipa() to actually go through and suspend
the USB controller. While at it, replace pm_runtime_suspend() with
pm_runtime_idle() since that allows the controller to perform any
pre-suspend handling if needed. Finally, move the call to
resume_core() to the beginning of usb_bam_disconnect_ipa() in
order to balance with the call to suspend_core() at the end.

Change-Id: I9f651338eaf092aa22215faaf8f7894937f1f944
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2014-12-03 20:54:31 -08:00
Girish Mahadevan b42d2f5c21 msm: msm_bus: Always enable/disable bus clock during qos programming
Currently the driver queries the rate of the bus clock using clk_get_rate()
and calls clk_set_rate()/clk_prepare_enable() only if the rate returned
is 0.  However the clk_get_rate() API will return a non-zero value even if
the clock being queried has been disabled.
To adjust for this change the call flow to call clk_set_rate() only if
the rate returned is 0 from clk_get_rate(), but make the call to enable
and disable the clocks unconditionally.

Change-Id: I50c71c5e27dfbaa0c8cef4267d70a9565ef635b3
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2014-12-03 16:45:56 -07:00
Sivan Reinstein 7db41950a9 msm: ipa: moving uC info partition to beginning of SRAM
For IPA2.5 and on, uC requires 512 bytes for the uC info partition
in SRAM. The uC partition was moved to the beginning of SRAM and
its size was increased to 512 bytes.
Apss header partition is not used, so it's removed from SRAM.

Change-Id: I8d166ce5d1715413fc1b901da7e3b7ca15b8a2af
Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
2014-12-03 03:08:10 -08:00
Linux Build Service Account f0bea6701c Merge "msm ipa: fix IPA stall when do SAP on/off" 2014-12-02 17:40:05 -08:00
Linux Build Service Account 496885503c Merge "msm: msm_bus: Introduce new debug module to set bus clocks" 2014-12-02 17:40:01 -08:00
Linux Build Service Account 957d576eb1 Merge "msm: msm_bus: Add new APIs for bus scaling" 2014-12-02 17:40:00 -08:00
Linux Build Service Account 5003ddacfc Merge "platform: msm: support haptic brake disable" 2014-12-02 17:39:49 -08:00
Linux Build Service Account 4c7a270e91 Merge "msm: qpnp-haptic: wait for 5 cycles before BUSY check" 2014-12-02 17:39:48 -08:00
Skylar Chang 485ae7719c msm ipa: fix IPA stall when do SAP on/off
Fix IPA stall when do SAP on/off during high
data transfer rate. Change the IPA-pipe reset
sequence.

Change-Id: I4754e15f41d87ba22e860ef9bdcb91b17d781d08
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2014-12-01 15:39:24 -08:00
Girish Mahadevan 202ac7bbb9 msm: msm_bus: Introduce new debug module to set bus clocks
Introduce a new module to allow clients to set a floor vote on bus clocks
either using an API or via sysfs interface. Clients are still always
recommended to use standard bus scaling APIs , these new APIs are a debug
feature and a meant for debugging system performance issues.

Change-Id: I7688e391413c23d9024a7b525f60c90f317d0847
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2014-12-01 16:12:35 -07:00
Girish Mahadevan 3e569eb3be msm: msm_bus: Add new APIs for bus scaling
Add new APIs to the bus scaling driver. The new APIs make it
easier for clients to setup paths for bus scaling. The driver APIs
will return a pointer to a client handle in case of success and NULL or
error in cases of failure. For now the existing APIs will remain as is
eventually all clients will start switching over to the new APIs.

Change-Id: I22656dddf13802128ee5c4faab9f83f9c6f8e683
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2014-12-01 16:12:34 -07:00
Linux Build Service Account 9acbf0d207 Merge "msm: ipa: teardown APPS DL WAN pipe in SSR" 2014-11-27 21:53:24 -08:00
Linux Build Service Account 99ac9f6508 Merge "msm: ipa: fix error handling in case of modem sync message failure" 2014-11-27 21:53:22 -08:00
Sivan Reinstein 4a8eff8821 msm: ipa: teardown APPS DL WAN pipe in SSR
This change fixes an issue in which APPS DL WAN pipe was not
torn down and potentialy packets were sent to the network stack
after SSR happened and rmnet_ipa has been removed.

CRs-fixed: 750682
Change-Id: I8d737f07529021db26bf6c7567fc1d1608e051a7
Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
Acked-by: David Arinzon <darinzon@qti.qualcomm.com>
2014-11-27 15:37:51 +02:00
Sivan Reinstein 6d723f2d36 msm: ipa: fix error handling in case of modem sync message failure
The fix solves an issue in which not all error conditions were
checked when QMI_IPA_INIT_MODEM_DRIVER_REQ_V01 fails, and the
logic continues with the initialization/handshake process.

CRs-fixed: 760440
Change-Id: I1035cd10fe5b539c389ddfae80cc60ff2877278a
Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
Acked-by: David Arinzon <darinzon@qti.qualcomm.com>
2014-11-27 14:05:34 +02:00
Mohan Pallaka f1a2576c29 platform: msm: support haptic brake disable
Hardware enables auto braking. Add an interface to
disable the braking.

Change-Id: I1b52593bc208d7347b8c6c4ac69d6430730c1cdb
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2014-11-26 17:01:20 -08:00
Mohan Pallaka 5921180c8c msm: qpnp-haptic: wait for 5 cycles before BUSY check
After the haptics is stopped it might take few cycles to
activate braking. Update the wait time to 5 cycles of
play rate to optimize the wait time.

Change-Id: I1a29cebcd41f541493e79224bf71f4546a9e2541
CRs-fixed: 760524
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2014-11-26 17:01:14 -08:00
Linux Build Service Account 1b431a64ac Merge "msm ipa: fix the APPS QMI SSR reset sequence" 2014-11-26 15:23:48 -08:00
Linux Build Service Account 4247339e71 Merge "msm: ipa: resolve potential qmi deadlock issue" 2014-11-26 03:21:35 -08:00
Linux Build Service Account d120d3ca7d Merge "msm: ipa: fix rmnet_ipa SSR cleanup to be called directly" 2014-11-26 03:21:15 -08:00
Skylar Chang 6a738bfe4a msm ipa: fix the APPS QMI SSR reset sequence
During modem-encryption enable scenario, we saw
RILD in the Android framework always initializes
the modem SSR in the first time reboot and we
saw modem crashed because apps-side didn't
clean internal QMI-flag well and continue the last
time's bootup sequence which causes modem crash.
The fix is to move the flag reset to the
qmi_service_init.

Change-Id: I5dba3cb8f44cddf180d5210543ea2ad8399645a3
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2014-11-25 18:23:41 -08:00
Joonwoo Park 4944cd99d2 mdm9640: rename msmzirc to mdm9640
Introduce mdm9640 as the official name for msmzirc.

Update msm-tsens and clock-a7 bindings to make checkpatch happy along with
renaming.

Change-Id: I364cc0feab4cf4a1bac03dc08eec0214e09f40f7
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
2014-11-24 18:27:32 -08:00
Skylar Chang a0c8f92c24 msm: ipa: resolve potential qmi deadlock issue
Inside the QMI callback function, if we need to send
QMI indication, we should use "qmi_send_ind_from_cb"
instead of "qmi_send_ind" to avoid double mutex_lock
which causes the deadlock issue.

Change-Id: I31252fa2ff7b6aaf8bdeb918929ed4d1d83590e5
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2014-11-24 00:19:25 -08:00
Sivan Reinstein 64ba607520 msm: ipa: support configuring UL checksum offload
Adding support for configuring UL checksum offload on the
AP->IPA pipe for embedded data path.
This is needed in order for the IPA HW to compute TCP/UDP
checksum on packets in the embedded UL data path.

CRs-fixed: 731693
Change-Id: Iade7e06a613d993f0b4e652d794a9e0727032c30
Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
2014-11-23 23:54:18 -08:00
Pali Rohár 2a7978ef95 dell-wmi: Fix access out of memory
commit a666b6ffbc9b6705a3ced704f52c3fe9ea8bf959 upstream.

Without this patch, dell-wmi is trying to access elements of dynamically
allocated array without checking the array size. This can lead to memory
corruption or a kernel panic. This patch adds the missing checks for
array size.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-11-21 09:22:55 -08:00
Linux Build Service Account e3c8291cbd Merge "msm: ipa: provide hdr_proc_ctx_tbl_info to modem" 2014-11-21 04:29:53 -08:00
Linux Build Service Account dc6b2393e0 Merge "msm: ipa: introduce new QMI msg for ethernet bridge" 2014-11-21 04:29:52 -08:00
Linux Build Service Account 68830242e3 Merge "msm: msm_bus: Add node specific bus aggregation properties" 2014-11-21 04:29:30 -08:00
Linux Build Service Account 4d60aefe22 Merge "msm: sps: check the pending descriptor" 2014-11-20 15:36:16 -08:00
Linux Build Service Account ded26d72eb Merge "msm: sps: add the support to disable a pipe" 2014-11-20 15:36:16 -08:00
Skylar Chang 99a9e90b68 msm: ipa: provide hdr_proc_ctx_tbl_info to modem
For using hdr_proc_ctx feature to support ethernet
bridge, ipa-apps needs to provide the hdr_proc_ctx_tbl
memory offset_start and offset_end info to q6 modem.

Change-Id: I320d0033006e70ef4e2b3ceb029986461cbe821b
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2014-11-20 13:44:56 -08:00
Skylar Chang 441688f399 msm: ipa: introduce new QMI msg for ethernet bridge
For supporting ethernet bridge on LE targets to send QMI
msg to modem, we need to add following QMI header/message
in A7 which gives hdr_proc_ctx_tbl_info to ipa-Q6

Change-Id: Ifde8dd608ffc533c6e1b064ccd6ba35cdddee304
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2014-11-20 12:15:43 -08:00
Dan Sneddon 7456d9779a msm: msm_bus: Add node specific bus aggregation properties
Adding Node level bus aggregation properties. If util factor or vrail is
not defined as part of node then take fab level util factor or vrial in
consideration while doing bus aggregation.

This will be helpful in cases where different kind of masters are
connected to same NOC.

Change-Id: I0549a2ba98de1d6a98a91d6bf8b265652a5d334a
Signed-off-by: Alok Chauhan <alokc@codeaurora.org>
Signed-off-by: Dan Sneddon <dsneddon@codeaurora.org>
2014-11-20 12:45:15 -07:00
Yan He 184cd0349f msm: sps: check the pending descriptor
Check if a pipe of a BAM has any pending descriptor.

Change-Id: I7313de53dc49cdc5ae14a7e10740f0ffb35fb26b
Signed-off-by: Yan He <yanhe@codeaurora.org>
2014-11-20 10:30:38 -08:00
Yan He aadac39369 msm: sps: add the support to disable a pipe
Add the support for BAM client drivers to disable a pipe of a BAM.

Change-Id: I1ae7feff755a9db8cc074fe8f986fefcb15dad0b
Signed-off-by: Yan He <yanhe@codeaurora.org>
2014-11-20 10:30:12 -08:00
Linux Build Service Account 6688a597be Merge "msm: ipa: fix the number of q6 UL filter rules" 2014-11-20 00:32:56 -08:00
Linux Build Service Account 804aa10751 Merge "usb: msm: bam: Avoid usb_bam_get_connection_idx error" 2014-11-18 12:01:03 -08:00
Sivan Reinstein ca1678ee92 msm: ipa: fix rmnet_ipa SSR cleanup to be called directly
This fix removes the workqueue which is used to initiate
rmmet_ipa SSR clean-up when Modem SSR occurs. Instead, the
procedure is invoked directly, to avoid scheduling-related
potential issues due to the usage of workqueues.

Change-Id: Ic704ff29a1330035fb5265c6667dc89198ad7ecc
Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
Acked-by: David Arinzon <darinzon@qti.qualcomm.com>
2014-11-18 13:16:40 +02:00
Jack Pham 64fa270da9 usb: msm: bam: Avoid usb_bam_get_connection_idx error
msm_bam_device_lpm_ok() specifically has to check if the QDSS
pipe is still active or not. However, if the QDSS function
has not been activated, the call to usb_bam_get_qdss_idx()
will always spit a log error message. This check is to handle
the QDSS disconnection-in-progress case to avoid prematurely
going into LPM; however there is already another mechanism in
place for the connection-in-progress case, so use that instead.
Have the QDSS driver call msm_bam_set_qdss_usb_active() to set
and clear the flag as needed.

While at it, downgrade some print messages from KERN_ERR to
KERN_INFO and remove a redundant one to reduce logspam.

Change-Id: I641f0857538a37dca85d5d45f9077009201e9caa
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2014-11-17 22:04:29 -08:00
Linux Build Service Account dceb8c896e Merge "msm: msm_bus: Modify state machine handling for rules engine" 2014-11-17 14:34:22 -08:00
Linux Build Service Account 2137d7098c Merge "msm: ipa: odu: Modify odu_bridge_init api" 2014-11-15 20:28:06 -08:00
Skylar Chang b43f149693 msm: ipa: fix the number of q6 UL filter rules
For recent Q6-ipa changes, the static UL filter
rules are exceeding to the cache of ipa-Apps has
, the solution is to entend the cache up to 35
and also do the check in case memory-corruption
happening.

Change-Id: I486169c573daef1f7821b959696bf5870bcf62b1
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2014-11-15 13:07:48 -08:00
Dinesh K Garg 0558e8fd05 qmp_core: Acquire read lock before reading global variables.
Acquire read lock before acquiring global variables, this
prevents any race conditions.

Change-Id: I84d372cecec7b0c2e8c5addf2e98637551fd10ee
Acked-by: Baranidharan Muthukumaran <bmuthuku@qti.qualcomm.com>
Signed-off-by: Dinesh K Garg <dineshg@codeaurora.org>
2014-11-14 12:23:46 -08:00
Hans de Goede 018fd7f83f acer-wmi: Add acpi_backlight=video quirk for the Acer KAV80
commit 183fd8fcd7f8afb7ac5ec68f83194872f9fecc84 upstream.

The acpi-video backlight interface on the Acer KAV80 is broken, and worse
it causes the entire machine to slow down significantly after a suspend/resume.

Blacklist it, and use the acer-wmi backlight interface instead. Note that
the KAV80 is somewhat unique in that it is the only Acer model where we
fall back to acer-wmi after blacklisting, rather then using the native
(e.g. intel) backlight driver. This is done because there is no native
backlight interface on this model.

BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1128309
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-11-14 08:48:01 -08:00
Linux Build Service Account 0488452e9c Merge "msm: ipa: introduce new QMI msg for IPA MHI" 2014-11-14 01:16:03 -08:00
Girish Mahadevan e52e7cbcf9 msm: msm_bus: Modify state machine handling for rules engine
Evaluate every rule for a given node when a bus transaction happens and
apply the first matched rule allowing for multiple rules to be applicable
but apply the most restrictive.

Change-Id: I25018ac4260916fd5c42d8a73b886b13a0d2b3a0
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2014-11-12 20:50:10 -08:00
Linux Build Service Account c1ecf39631 Merge "msm: ipa: Fix memory issue on IPA wan-driver" 2014-11-12 17:02:29 -08:00
Linux Build Service Account 48c5fe32f8 Merge "msm: ipa: Move IPv4 filtering table to DDR" 2014-11-12 17:01:54 -08:00
Skylar Chang 98bfc1bb0a msm: ipa: introduce new QMI msg for IPA MHI
For supporting MHI (new driver) on LE targets to send QMI
msg to modem, we need to add following QMI header/message
in A7 which already existed/supported by modem. Then Apps
can communicate with modem with those configurations.

Change-Id: I6320bab02e68ff0cd0d6e3952cca78f4ee2a4b34
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2014-11-12 13:29:11 -08:00
Linux Build Service Account 2f14ac1b6f Merge "qmp_core: Return error for invalid input" 2014-11-11 20:09:31 -08:00
Linux Build Service Account 67e43b279a Merge "msm: msm_bus: Program QoS registers only when needed" 2014-11-11 20:09:28 -08:00
Linux Build Service Account f4583f04bc Merge "msm: ipa: read bus scaling vectors from device tree" 2014-11-11 20:09:00 -08:00
Skylar Chang 816bcef843 msm: ipa: Fix memory issue on IPA wan-driver
Fix the potential memory-not-free issue on IPA wan-driver
for ipa_wan_msg

Change-Id: Id78f482478fb30f2fe1536222e13985298b34339
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2014-11-10 18:38:37 -08:00
Dinesh K Garg 1dfafff7cc qmp_core: Return error for invalid input
Return error when input value is invalid.

Change-Id: I17ff43dc09e5f693fc2712dc7a2f602ed710ec7b
Acked-by: Baranidharan Muthukumaran <bmuthuku@qti.qualcomm.com>
Signed-off-by: Dinesh K Garg <dineshg@codeaurora.org>
2014-11-10 15:07:16 -08:00
Linux Build Service Account 2b3c7b6bc8 Merge "msm: ipa: make stronger catch-none filter rule" 2014-11-10 10:24:51 -08:00
Linux Build Service Account 54e97ffecd Merge "msm: mhi: Fix incorrect init of TRE iterator" 2014-11-10 10:24:06 -08:00
Linux Build Service Account 92bc974f5e Merge "msm: mhi: Reorder operations on MHI TRE" 2014-11-10 10:24:05 -08:00
Linux Build Service Account cfab191cb8 Merge "msm: mhi: Ensure db value is sampled in spinlock" 2014-11-10 10:24:05 -08:00
Girish Mahadevan ee1217f24b msm: msm_bus: Program QoS registers only when needed
As part of the update bandwidth call, try to program the QoS registers
and enabling the QoS clocks only if the bus master is in limiter or
regulator mode. This will save on bus transaction times as enabling QoS
clocks can be an expensive operation if they're RPM controlled.

CRs-fixed: 720868
Change-Id: I76fe97792a944fb2e48729d9b00ca21d12d372e9
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2014-11-10 10:42:20 -07:00
Linux Build Service Account 2df7cf4694 Merge "msm: ipa: odu: fix rx pool size" 2014-11-10 03:58:08 -08:00
Linux Build Service Account 41d96771a6 Merge "msm: mhi: Stale doorebell in MHI Host" 2014-11-10 03:57:42 -08:00
Linux Build Service Account 80d5690eb7 Merge "msm: ipa: fix reset processing context table reset" 2014-11-09 23:41:23 -08:00
Ravi Gummadidala 16764d8dfa msm: ipa: read bus scaling vectors from device tree
Vectors are currently hard-coded in the driver. This
commit adds support to read the information from the
device tree.

Change-Id: Ic2e2176e0aabfeebf60db4b5cdf4ae3de0e5cc64
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2014-11-06 06:51:47 -08:00
Linux Build Service Account 53e6e12cbd Merge "msm: rmnet_ipa: suppress excess logging" 2014-11-06 05:26:16 -08:00
Ravit Katzav b9ec37e620 msm: ipa: odu: fix rx pool size
Change RX pool size for ODU consumer pipes to take into
account the overall BAM descriptor size to avoid having a pool
larger than pool size.

Change-Id: I205c277470c8dd243f133b232586d43817859d03
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Ravit Katzav <rkatzav@codeaurora.org>
2014-11-06 12:12:53 +02:00
Skylar Chang 51c81d3a99 msm: ipa: Move IPv4 filtering table to DDR
Move IPv4 filtering table to DDR for IPA v2.5
for Ethernet Bridging.

Change-Id: I71e8308d5b4f0c82d4dc391532d51c84a003febb
Acked-by: Shihuan Liu <shihuanl@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2014-11-05 12:44:38 -08:00
Andrei Danaila b0af392e35 msm: mhi: Fix incorrect init of TRE iterator
The pending TRE iterator is not properly initialized
and checked against, leading to an incorrect number of
TREs getting processed.

CRs-Fixed: 748475
Change-Id: Ie8609edd1a89d8dc14bf781612357d7dc524f83a
Signed-off-by: Andrei Danaila <adanaila@codeaurora.org>
2014-11-04 17:53:37 -08:00
Andrei Danaila b16c4b6da4 msm: mhi: Reorder operations on MHI TRE
Reorder operations on MHI TRE to prevent a race condition
of publishing the TRE to the device before the TRE is fully
populated.

CRs-Fixed: 726655
Change-Id: Ide208c77c93f0e68eee0c6c304eaebc451028341
Signed-off-by: Andrei Danaila <adanaila@codeaurora.org>
2014-11-04 15:26:27 -08:00
Andrei Danaila b70465212a msm: mhi: Ensure db value is sampled in spinlock
The doorbell value for the event ring must be sampled within
spinlock context or the value could be stale when written.

CRs-Fixed: 746401
Change-Id: I4eb5095f34b890e02fee48c22206afcbfd70a454
Signed-off-by: Andrei Danaila <adanaila@codeaurora.org>
2014-11-04 15:17:30 -08:00
Skylar Chang 56305e911e msm: ipa: make stronger catch-none filter rule
The global filter rule should not be matched however
some malformed packets coming with "FF" in next-header
field of IPv6 hdr which happenly matched and lead to
modem crash. The fix is to make stonger non-match
global filter rules to not match any malformed pkts.

Change-Id: I79a54c999655f4df6e483c1e495eeae294d28d45
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2014-11-03 18:09:23 -08:00
Andrei Danaila e38c1ec369 msm: mhi: Stale doorebell in MHI Host
A timing window exists where M3 state transition is pending and
the doorbell does not get written out. The M3 process is then
cancelled, and no M0 event takes place to flush the doorbell out.

Remove setting the pending M3 flag until the transition is no
longer cancelable.

CRs-Fixed: 733632
Change-Id: I3b4dfe23d0ea4af69d2810a171c61dc60a6c2f8d
Signed-off-by: Andrei Danaila <adanaila@codeaurora.org>
2014-11-03 14:17:37 -08:00
Linux Build Service Account 7c91bb0fd3 Merge "msm: ipa: Disable holb on client connect" 2014-11-03 02:34:37 -08:00
Linux Build Service Account 6d37b786cc Merge "msm: msm_bus: Move debug statement to avoid NULL dereference" 2014-11-02 09:32:42 -08:00
Ravit Katzav 27532dc427 msm: ipa: fix reset processing context table reset
On processing context header table reset, a dandling pointer was
used after freeing the memory.

Change-Id: If2907bc0dbaf8ef2b688cd4358de9050210dcc0c
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Ravit Katzav <rkatzav@codeaurora.org>
2014-11-02 11:03:23 +02:00
Ravi Gummadidala 3b7b4f9916 msm: rmnet_ipa: suppress excess logging
Rate limit the error message logged when RX packets are
enqueued faster than the kernel can process them. This is
to avoid watchdog bite.

Change-Id: Icad1d5c0b52620aca1291a7b104d50f6d519be1c
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2014-10-31 11:43:14 -07:00
Linux Build Service Account 265a821282 Merge "msm: mhi: Enabled event ring context updates" 2014-10-29 16:57:56 -07:00
Linux Build Service Account 447e5fb126 Merge "msm: mhi: Enable clearing outstanding acks in MHI" 2014-10-29 16:57:55 -07:00
Skylar Chang bae040db2c msm: ipa: Disable holb on client connect
Remove ipa version check while disabling holb.

Change-Id: I6162b65ba165f6b7362d1f9a433cb50d9df580a7
Acked-by: Sunil Kumar Paidimarri <hisunil@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2014-10-29 15:56:10 -07: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
Andrei Danaila 56f10c62ca msm: mhi: Enabled event ring context updates
Enabled event ring context updates regardless of MHI
power state.

Change-Id: I910d056d53f7c940caea48546c206d4603e8a4b9
Signed-off-by: Andrei Danaila <adanaila@codeaurora.org>
2014-10-28 22:22:45 -07:00
Linux Build Service Account 46b092e5bd Merge "msm: ipa: clock IPA before post-OOM replenish" 2014-10-28 11:50:25 -07:00
Linux Build Service Account 9f91688562 Merge "msm: ipa: fix RX buffer allocation logic" 2014-10-28 11:50:24 -07:00
Andrei Danaila 3ca3f08b74 msm: mhi: Enable clearing outstanding acks in MHI
After a channel reset, any pending acks on that channel
will not be received from the device.
In this case they must be cleared in the channel reset
command handling.

CRs-Fixed: 733172
Change-Id: I5b7c525f7f532ed107caa020cde33ec1955ae618
Signed-off-by: Andrei Danaila <adanaila@codeaurora.org>
2014-10-27 12:44:20 -07:00
Linux Build Service Account b9424a5e98 Merge "msm: ipa: remove world writable permissions on debugfs files" 2014-10-24 22:51:06 -07:00
Linux Build Service Account bdf08fe1ee Merge "msm: mhi: Reset the pending packets counter in UCI" 2014-10-24 22:50:36 -07:00
Linux Build Service Account c54201f7e6 Merge "msm: ipa: add proxy ipa clock vote for Modem on SSR" 2014-10-24 19:22:32 -07:00
Linux Build Service Account 5ce0d44f51 Merge "msm: ipa: Don’t add empty route table" 2014-10-24 19:22:30 -07:00
Linux Build Service Account c59ffb6bf8 Merge "msm: ipa: resume endpoint on connect fix" 2014-10-24 19:22:28 -07:00
Linux Build Service Account 6b5e16218a Merge "pft: check bio bi_vcnt before using bi_io_vec" 2014-10-24 16:10:15 -07:00
Ravi Gummadidala 2a7f493ef6 msm: ipa: clock IPA before post-OOM replenish
A delayed work is used to re-attempt RX buffer replenish when
desc FIFO goes empty. This commit ensures IPA is clocked during
the recovery procedure.

Change-Id: Ia04e5160a9a65aa5c86eb4f83815a61f4fa43344
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2014-10-24 14:26:35 -07:00
Ravi Gummadidala 4287e14443 msm: ipa: fix RX buffer allocation logic
This change will reduce chances of RX buffer allocation
failures.

Change-Id: I1d96924c8dd5386f07931a842aaa51e71037a9b8
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2014-10-24 13:32:07 -07:00
Linux Build Service Account fb4fc03120 Merge "msm: ipa: Remove accessing spare register from IPA Driver" 2014-10-23 21:48:44 -07:00
Ravi Gummadidala a3d68cd556 msm: ipa: remove world writable permissions on debugfs files
This is a security best practice.

Change-Id: I1990ee7b3e8b9d359fe32ef6d9f60d609700dcc1
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2014-10-23 12:06:33 -07:00
Girish Mahadevan 0672e7c1e3 msm: msm_bus: Move debug statement to avoid NULL dereference
Move debug statements to after the buffer sanity checks to avoid NULL
pointer derefernces.

Change-Id: I40f12c6b40fb6829f4f372cd20c68f9536f2e2ad
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2014-10-22 15:38:27 -06:00
Andrei Danaila db230411f4 msm: mhi: Reset the pending packets counter in UCI
Reset the pending packets counter in UCI when a client releases
the character device node.

Signed-off-by: Andrei Danaila <adanaila@codeaurora.org>
Change-Id: Ic3d83873ae207e76acbb9f60683b43cb30ff7c5b
2014-10-21 14:36:05 -07:00
Sivan Reinstein 12c16adc8c msm: ipa: add proxy ipa clock vote for Modem on SSR
This is to prevent IPA power-collapse until Modem has
loaded the IPA uC on a warm-boot (After Modem SSR occured).
Additionally, in case SSR has occured and the uC hasn't
been loaded yet, AP needs to assert in order to prevent the IPA
from entering an unrecoverable state (As the Modem relies on AP
to reset the pipes properly).

CRs-fixed: 726901
Change-Id: Ibb79cef4a16fdc9e18ede854a14e65f4f248761d
Acked-by: David Arinzon <darinzon@qti.qualcomm.com>
Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
2014-10-21 19:53:27 +03:00
Ravit Katzav 9241f47a3a msm: ipa: resume endpoint on connect fix
On ipa connect endpoint should be unsuspended according  to the resource
state. use the resume_on_connect flag for unsuspend EP on connect while
its resource is granted.

Change-Id: I9fc87ad6d470dbf4ac088a32c51f4355dc00c42e
Signed-off-by: Ravit Katzav <rkatzav@codeaurora.org>
2014-10-21 18:01:43 +03:00
Amir Samuelov 682dbed23e pft: check bio bi_vcnt before using bi_io_vec
Check that the bio vec count > 0 before using bi_io_vec[] array.

Change-Id: I0fa6c527d82c6cfa6b340af0c3a9ef3eb23e5356
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
2014-10-21 05:25:10 -07:00
Skylar Chang 7620f2a132 msm: ipa: Don’t add empty route table
On querying routing table handle if routing table
does not exit then just return error. Don’t add
empty routing table.

Change-Id: I1648529290825090fdfac06a00bd312192c4dd3e
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2014-10-20 13:30:16 -07:00
Skylar Chang eb2105ee74 msm: ipa: Remove accessing spare register from IPA Driver
Spare register is not accessible from IPA driver.

Change-Id: Icea18d54c3ca01c90ffef735b429af3a78963cff
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2014-10-20 13:09:04 -07:00
Mayank Rana 8d47f795b1 usb_bam: Add handling for multiple USB consumers with IPA usecase
usb_bam_connect_ipa() and usb_bam_disconnect_ipa_prod() APIs are
performing IPA handshake based on number of pipes enable for USB
cable connect and USB cable disconnect case. Due to DPL feature
which is having only USB consumer pipe for IPA communication,
it is required to consider this case to make decision about when
to perform IPA handshake, otherwise there is USB IPA BAM stall
seen.

CRs-Fixed: 724784
Change-Id: Idd8b1c140b8eb0a32c1f1cbed8bdaa618fa262e3
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2014-10-20 10:18:23 -07:00
Linux Build Service Account c43d2d05cc Merge "msm: mhi: Fix issues regarding BHI img load" 2014-10-20 05:14:19 -07:00
Linux Build Service Account 71362bb18a Merge "msm: mhi: Enable MHI support for msmzirc" 2014-10-20 05:14:18 -07:00
Linux Build Service Account 61255c154e Merge "msm: msm_bus: Detect duplicate paths in topology" 2014-10-20 05:13:27 -07:00
Linux Build Service Account 9c0a442bc2 Merge "msm: qpnp-power-on: add SEC_ACCESS for s3 debounce" 2014-10-20 05:13:26 -07:00
Linux Build Service Account 595d3136fc Merge "pft: avoid race closing encrypted files when key removed" 2014-10-20 00:36:28 -07:00
Linux Build Service Account b241e65b10 Merge "msm: msm_bus: Modify AB/IB value sent to rules engine" 2014-10-19 00:30:38 -07:00
Linux Build Service Account e793037c80 Merge "msm: ipa: clear uc response before sending clk commands" 2014-10-18 15:30:14 -07:00
Mohan Pallaka 57fc687c37 msm: qpnp-power-on: add SEC_ACCESS for s3 debounce
S3 debounce is SEC_ACCESS register. Unlock the register
before updating s3 debounce.

Change-Id: I5cebc35375c6ff8f497c769b25195172f34f5e03
CRs-fixed: 732829
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2014-10-17 16:34:16 -07:00
Neel Desai c9f94c331d msm: msm_bus: Detect duplicate paths in topology
Add checks in the code to detect duplicate paths between nodes and
exit gracefully.

CRs-fixed: 705765
Change-Id: I87d1f6a1981b18c7818bc040adf902f4a8050024
Signed-off-by: Neel Desai <nsdesai@codeaurora.org>
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2014-10-17 13:12:34 -06:00
Linux Build Service Account f2d81a4550 Merge "msm: msm-buspm: Set the dma bit mask for buspm device" 2014-10-17 10:33:59 -07:00
Linux Build Service Account c51120612a Merge "msm: ipa: add support to query and use smem restricted bytes" 2014-10-17 03:10:48 -07:00
Ravi Gummadidala 9f7a933d1d msm: ipa: clear uc response before sending clk commands
This change is needed to ensure uc response is not wiped out
prior to polling for the same.

Change-Id: I69acb78b9c9dd33e511539670b6e3b7d28c1c97a
Signed-off-by: Ravi Gummadidala <rgummadi@codeaurora.org>
2014-10-16 12:19:21 -07:00
Andrei Danaila e346352bd9 msm: mhi: Fix issues regarding BHI img load
Resolve issue regarding BHI image load process.
Interface will no longer be published to userspace
before local initialization is complete.
Register masks and retry mechanism are also cleaned up.

Change-Id: I05d87d4be5e9c05c6beb2b7b0c0234757b93097d
Signed-off-by: Andrei Danaila <adanaila@codeaurora.org>
2014-10-16 11:32:19 -07:00
Girish Mahadevan 51324f6d8d msm: msm_bus: Modify AB/IB value sent to rules engine
Rules engine needs to get the max of the requested IB or the aggregated
AB at the node, without this check we may incorrectly apply throttling
rules.

Change-Id: Ib22fe16a056f6648aa10f069992ad5c41452cbca
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2014-10-16 08:20:39 -06:00
Girish Mahadevan 06f4dd2f89 msm: msm-buspm: Set the dma bit mask for buspm device
Set the DMA_BIT_MASK for the buspm device explicitly else
dma_alloc fails on ARM targets.

Change-Id: I5602db8e18089e115a4efbf058004a659ad1c6e2
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2014-10-16 08:08:42 -06: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
Andrei Danaila 4f82ca19dd msm: mhi: Enable MHI support for msmzirc
Add the msmzirc device in the list of supported PCI devices
by the MHI driver to enable to PCIe framework to probe MHI
in the event of discovering this device on the bus.

CRs-Fixed: 736039
Change-Id: I66eb5f67885d60c579c33c47ce696d66c6c428b5
Signed-off-by: Andrei Danaila <adanaila@codeaurora.org>
2014-10-15 13:35:53 -07:00
Linux Build Service Account a86703e2b8 Merge "msm: ipa: notify uC before going to clock gating" 2014-10-12 08:39:58 -07:00
Linux Build Service Account ad5b0dae4d Merge "msm: ipa: introduce new QMI msg for IPA config" 2014-10-12 08:39:37 -07:00
Linux Build Service Account a986fb16b9 Merge "msm: ipa: remove QMAP headers per interface after SSR" 2014-10-11 11:12:05 -07:00
Linux Build Service Account 70a4305260 Merge "msm: ipa: fix handling headers when no space in table" 2014-10-11 11:12:04 -07:00
Linux Build Service Account e52ebb8466 Merge "msm: ipa: add header type to debugfs" 2014-10-11 11:12:03 -07:00
Linux Build Service Account edf9ef3aa8 Merge "msm ipa: update uC mailbox offset" 2014-10-10 17:54:42 -07:00
Ravit Katzav cbb42f375d msm: ipa: notify uC before going to clock gating
Before APPS is voting for IPA clocks to be disabled,
it first needs to make sure IPA uC is idle.

After APPS is voting for IPA clocks to be enabled,
uC is notified to start processing.

Change-Id: Ied9374a12d1ca2a1afe0c1aa30e6150089064101
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Ravit Katzav <rkatzav@codeaurora.org>
2014-10-08 10:38:27 -07:00
Linux Build Service Account c78b80387e Merge "msm: bam: Use memset_io instead of memset" 2014-10-07 21:20:00 -07:00
Linux Build Service Account 0966f303e5 Merge "pft: fix pft_allow_merge_bio() to check if key is loaded" 2014-10-07 15:00:54 -07:00
Ravit Katzav b91a77abb6 msm: ipa: add header type to debugfs
Print header L2 type as part of printing header
table in debugfs.

Change-Id: I38ce867310356eb126a1438bf148acb39c1fe35f
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Ravit Katzav <rkatzav@codeaurora.org>
2014-10-07 11:33:10 -07:00
Linux Build Service Account 62c0842991 Merge "msm: ipa: update IPA_BCR register value" 2014-10-07 04:40:19 -07:00
Linux Build Service Account b4b346d401 Merge "msm: ipa: improve error handling in ipa_qmi_service_init" 2014-10-07 04:39:56 -07:00
Linux Build Service Account 0d65690433 Merge "msm: ipa: spinlock recursion fix on active clients lock" 2014-10-07 04:39:52 -07:00
Sivan Reinstein 2b1d227477 msm: ipa: remove QMAP headers per interface after SSR
This change adds a procedure to remove the QMAP headers for each
interface when SSR occurs. The procedure is being invoked as part
of the remove hook of the rmnet_ipa platform driver.

Change-Id: I35112db0122071302a45e31c4afe9d1ee2e51308
Acked-by: David Arinzon <darinzon@qti.qualcomm.com>
Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
2014-10-07 10:47:44 +03:00
Linux Build Service Account c2a20bf77f Merge "msm: msm_bus: Add checks against bad accesses in rules engine" 2014-10-06 22:52:30 -07:00