1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2022 Intel Corporation 4 */ 5 6 #ifndef _XE_IRQ_H_ 7 #define _XE_IRQ_H_ 8 9 #include <linux/interrupt.h> 10 11 #define XE_IRQ_DEFAULT_MSIX 1 12 13 struct xe_device; 14 struct xe_tile; 15 struct xe_gt; 16 17 int xe_irq_init(struct xe_device *xe); 18 int xe_irq_install(struct xe_device *xe); 19 void xe_irq_suspend(struct xe_device *xe); 20 void xe_irq_resume(struct xe_device *xe); 21 void xe_irq_enable_hwe(struct xe_gt *gt); 22 int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler, void *irq_buf, 23 const char *name, bool dynamic_msix, u16 *msix); 24 void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix); 25 26 #endif 27