Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only
0002  *
0003  * Copyright (C) 2020-21 Intel Corporation.
0004  */
0005 
0006 #ifndef IOSM_IPC_IRQ_H
0007 #define IOSM_IPC_IRQ_H
0008 
0009 struct iosm_pcie;
0010 
0011 /**
0012  * ipc_doorbell_fire - fire doorbell to CP
0013  * @ipc_pcie:   Pointer to iosm_pcie
0014  * @irq_n:  Doorbell type
0015  * @data:   ipc state
0016  */
0017 void ipc_doorbell_fire(struct iosm_pcie *ipc_pcie, int irq_n, u32 data);
0018 
0019 /**
0020  * ipc_release_irq - Release the IRQ handler.
0021  * @ipc_pcie:   Pointer to iosm_pcie struct
0022  */
0023 void ipc_release_irq(struct iosm_pcie *ipc_pcie);
0024 
0025 /**
0026  * ipc_acquire_irq - acquire IRQ & register IRQ handler.
0027  * @ipc_pcie:   Pointer to iosm_pcie struct
0028  *
0029  * Return: 0 on success and failure value on error
0030  */
0031 int ipc_acquire_irq(struct iosm_pcie *ipc_pcie);
0032 
0033 #endif