mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-08-28 16:23:30 +00:00

Expose an interrupt processing handler for a single hw engine. Refactor code to use this handler from the VF. This handler also caters for the MSI-X mode, where the hardware engines report interrupt source and status to the offset of engine instance zero (this usage will be introduced in upcoming MSI-X enabling series). Signed-off-by: Ilia Levi <ilia.levi@intel.com> Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240918053942.1331811-6-illevi@habana.ai
29 lines
775 B
C
29 lines
775 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_hw_engine;
|
|
struct xe_memirq;
|
|
|
|
int xe_memirq_init(struct xe_memirq *memirq);
|
|
|
|
u32 xe_memirq_source_ptr(struct xe_memirq *memirq, struct xe_hw_engine *hwe);
|
|
u32 xe_memirq_status_ptr(struct xe_memirq *memirq, struct xe_hw_engine *hwe);
|
|
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_hwe_handler(struct xe_memirq *memirq, struct xe_hw_engine *hwe);
|
|
void xe_memirq_handler(struct xe_memirq *memirq);
|
|
|
|
int xe_memirq_init_guc(struct xe_memirq *memirq, struct xe_guc *guc);
|
|
|
|
#endif
|