summaryrefslogtreecommitdiff
path: root/drivers/net/wwan/iosm/iosm_ipc_irq.h
diff options
context:
space:
mode:
authorM Chetan Kumar <m.chetan.kumar@intel.com>2021-06-13 15:50:09 +0300
committerDavid S. Miller <davem@davemloft.net>2021-06-13 23:49:38 +0300
commit7f41ce085de0bada1e8c974cb3edd906ee49cb4c (patch)
tree68cac1a15abb555008aab031d5822a8f96493c98 /drivers/net/wwan/iosm/iosm_ipc_irq.h
parent7e98d785ae6184c7580a33619dae8b651769ff08 (diff)
downloadlinux-7f41ce085de0bada1e8c974cb3edd906ee49cb4c.tar.xz
net: iosm: irq handling
1) Request interrupt vector, frees allocated resource. 2) Registers IRQ handler. Signed-off-by: M Chetan Kumar <m.chetan.kumar@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wwan/iosm/iosm_ipc_irq.h')
-rw-r--r--drivers/net/wwan/iosm/iosm_ipc_irq.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/drivers/net/wwan/iosm/iosm_ipc_irq.h b/drivers/net/wwan/iosm/iosm_ipc_irq.h
new file mode 100644
index 000000000000..a8ed596cb6a5
--- /dev/null
+++ b/drivers/net/wwan/iosm/iosm_ipc_irq.h
@@ -0,0 +1,33 @@
+/* SPDX-License-Identifier: GPL-2.0-only
+ *
+ * Copyright (C) 2020-21 Intel Corporation.
+ */
+
+#ifndef IOSM_IPC_IRQ_H
+#define IOSM_IPC_IRQ_H
+
+struct iosm_pcie;
+
+/**
+ * ipc_doorbell_fire - fire doorbell to CP
+ * @ipc_pcie: Pointer to iosm_pcie
+ * @irq_n: Doorbell type
+ * @data: ipc state
+ */
+void ipc_doorbell_fire(struct iosm_pcie *ipc_pcie, int irq_n, u32 data);
+
+/**
+ * ipc_release_irq - Release the IRQ handler.
+ * @ipc_pcie: Pointer to iosm_pcie struct
+ */
+void ipc_release_irq(struct iosm_pcie *ipc_pcie);
+
+/**
+ * ipc_acquire_irq - acquire IRQ & register IRQ handler.
+ * @ipc_pcie: Pointer to iosm_pcie struct
+ *
+ * Return: 0 on success and failure value on error
+ */
+int ipc_acquire_irq(struct iosm_pcie *ipc_pcie);
+
+#endif