mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-03 01:28:04 +00:00

Expose functions to request and free MSI-X interrupts. The request has two flavors: - Static MSI-X allocation, for known MSI-X interrupts (e.g. GuC-to-host) - Dynamic MSI-X allocation, which uses the next available MSI-X interrupt Signed-off-by: Ilia Levi <ilia.levi@intel.com> Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20241213072538.6823-4-ilia.levi@intel.com Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
27 lines
650 B
C
27 lines
650 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2022 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _XE_IRQ_H_
|
|
#define _XE_IRQ_H_
|
|
|
|
#include <linux/interrupt.h>
|
|
|
|
#define XE_IRQ_DEFAULT_MSIX 1
|
|
|
|
struct xe_device;
|
|
struct xe_tile;
|
|
struct xe_gt;
|
|
|
|
int xe_irq_init(struct xe_device *xe);
|
|
int xe_irq_install(struct xe_device *xe);
|
|
void xe_irq_suspend(struct xe_device *xe);
|
|
void xe_irq_resume(struct xe_device *xe);
|
|
void xe_irq_enable_hwe(struct xe_gt *gt);
|
|
int xe_irq_msix_request_irq(struct xe_device *xe, irq_handler_t handler, void *irq_buf,
|
|
const char *name, bool dynamic_msix, u16 *msix);
|
|
void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix);
|
|
|
|
#endif
|