summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorGhanim Fodi <gfodi@codeaurora.org>2017-06-20 10:35:20 +0300
committerGerrit - the friendly Code Review server <code-review@localhost>2017-06-25 23:49:59 -0700
commit7d7714eae2d106d27de361a1fe2030d6d975031d (patch)
treee1ab1ca7e0783b6d4e4d06e229eaf16f89bcfb19 /include/linux
parent6f56b2a9c8e2ce69e2a98e52d5f1342b25cae44e (diff)
msm: ipa3: Ring IPA MHI event ring doorbell on channel start
Ringing IPA MHI event ring doorbell is done at MHI device during MHI channel start. This is done after the rings are allocated. The ring write pointer updated by the host is used as the doorbell value. Doorbell ringing is required in order to supply event credits to GSI H/W. Change-Id: I2db110b4f99c8ab6c6878d426b3ebb37149b0b76 Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/msm_gsi.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/msm_gsi.h b/include/linux/msm_gsi.h
index d4b4cc7f8737..b95ea88c2424 100644
--- a/include/linux/msm_gsi.h
+++ b/include/linux/msm_gsi.h
@@ -749,6 +749,18 @@ int gsi_query_evt_ring_db_addr(unsigned long evt_ring_hdl,
uint32_t *db_addr_wp_lsb, uint32_t *db_addr_wp_msb);
/**
+ * gsi_ring_evt_ring_db - Peripheral should call this function for
+ * ringing the event ring doorbell with given value
+ *
+ * @evt_ring_hdl: Client handle previously obtained from
+ * gsi_alloc_evt_ring
+ * @value: The value to be used for ringing the doorbell
+ *
+ * @Return gsi_status
+ */
+int gsi_ring_evt_ring_db(unsigned long evt_ring_hdl, uint64_t value);
+
+/**
* gsi_reset_evt_ring - Peripheral should call this function to
* reset an event ring to recover from error state
*
@@ -1138,6 +1150,12 @@ static inline int gsi_query_evt_ring_db_addr(unsigned long evt_ring_hdl,
return -GSI_STATUS_UNSUPPORTED_OP;
}
+static inline int gsi_ring_evt_ring_db(unsigned long evt_ring_hdl,
+ uint64_t value)
+{
+ return -GSI_STATUS_UNSUPPORTED_OP;
+}
+
static inline int gsi_reset_evt_ring(unsigned long evt_ring_hdl)
{
return -GSI_STATUS_UNSUPPORTED_OP;