mirror of
https://github.com/torvalds/linux.git
synced 2026-04-26 02:22:28 -04:00
Use new pending job list iterator and new helper functions in Xe to avoid reaching into DRM scheduler internals. Part of this change involves removing pending jobs debug information from debugfs and devcoredump. As agreed, the pending job list should only be accessed when the scheduler is stopped. However, it's not straightforward to determine whether the scheduler is stopped from the shared debugfs/devcoredump code path. Additionally, the pending job list provides little useful information, as pending jobs can be inferred from seqnos and ring head/tail positions. Therefore, this debug information is being removed. v4: - Add comment around DRM_GPU_SCHED_STAT_NO_HANG (Niranjana) Signed-off-by: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com> Link: https://patch.msgid.link/20260110012739.2888434-3-matthew.brost@intel.com
32 lines
893 B
C
32 lines
893 B
C
/* 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_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 dma_fence *xe_hw_fence_alloc(void);
|
|
|
|
void xe_hw_fence_free(struct dma_fence *fence);
|
|
|
|
void xe_hw_fence_init(struct dma_fence *fence, struct xe_hw_fence_ctx *ctx,
|
|
struct iosys_map seqno_map);
|
|
#endif
|