mirror of
https://github.com/torvalds/linux.git
synced 2026-04-20 07:43:57 -04:00
The register based interrupts infrastructure does not scale efficiently to allow delivering interrupts to a large number of virtual machines. Memory based interrupt reporting provides an efficient and scalable infrastructure. Define handler to read and dispatch memory based interrupts. We will use this handler in upcoming patch. Cc: Matt Roper <matthew.d.roper@intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Link: https://lore.kernel.org/r/20231214185955.1791-8-michal.wajdeczko@intel.com Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
27 lines
622 B
C
27 lines
622 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2023 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _XE_MEMIRQ_H_
|
|
#define _XE_MEMIRQ_H_
|
|
|
|
#include <linux/types.h>
|
|
|
|
struct xe_guc;
|
|
struct xe_memirq;
|
|
|
|
int xe_memirq_init(struct xe_memirq *memirq);
|
|
|
|
u32 xe_memirq_source_ptr(struct xe_memirq *memirq);
|
|
u32 xe_memirq_status_ptr(struct xe_memirq *memirq);
|
|
u32 xe_memirq_enable_ptr(struct xe_memirq *memirq);
|
|
|
|
void xe_memirq_reset(struct xe_memirq *memirq);
|
|
void xe_memirq_postinstall(struct xe_memirq *memirq);
|
|
void xe_memirq_handler(struct xe_memirq *memirq);
|
|
|
|
int xe_memirq_init_guc(struct xe_memirq *memirq, struct xe_guc *guc);
|
|
|
|
#endif
|