/* SPDX-License-Identifier: MIT */ /* * Copyright © 2021 Intel Corporation */ #ifndef _XE_HW_FENCE_H_ #define _XE_HW_FENCE_H_ #include "xe_hw_fence_types.h" /* Cause an early wrap to catch wrapping errors */ #define XE_FENCE_INITIAL_SEQNO (-127) int xe_hw_fence_module_init(void); void xe_hw_fence_module_exit(void); void xe_hw_fence_irq_init(struct xe_hw_fence_irq *irq); void xe_hw_fence_irq_finish(struct xe_hw_fence_irq *irq); void xe_hw_fence_irq_run(struct xe_hw_fence_irq *irq); void xe_hw_fence_irq_stop(struct xe_hw_fence_irq *irq); void xe_hw_fence_irq_start(struct xe_hw_fence_irq *irq); void xe_hw_fence_ctx_init(struct xe_hw_fence_ctx *ctx, struct xe_gt *gt, struct xe_hw_fence_irq *irq, const char *name); void xe_hw_fence_ctx_finish(struct xe_hw_fence_ctx *ctx); struct xe_hw_fence *xe_hw_fence_create(struct xe_hw_fence_ctx *ctx, struct iosys_map seqno_map); #endif