Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.8-rc2 70 lines 2.2 kB view raw
1/* SPDX-License-Identifier: MIT */ 2/* 3 * Copyright © 2021 Intel Corporation 4 */ 5 6#ifndef _XE_HW_ENGINE_H_ 7#define _XE_HW_ENGINE_H_ 8 9#include "xe_hw_engine_types.h" 10 11struct drm_printer; 12 13#ifdef CONFIG_DRM_XE_JOB_TIMEOUT_MIN 14#define XE_HW_ENGINE_JOB_TIMEOUT_MIN CONFIG_DRM_XE_JOB_TIMEOUT_MIN 15#else 16#define XE_HW_ENGINE_JOB_TIMEOUT_MIN 1 17#endif 18#ifdef CONFIG_DRM_XE_JOB_TIMEOUT_MAX 19#define XE_HW_ENGINE_JOB_TIMEOUT_MAX CONFIG_DRM_XE_JOB_TIMEOUT_MAX 20#else 21#define XE_HW_ENGINE_JOB_TIMEOUT_MAX (10 * 1000) 22#endif 23#ifdef CONFIG_DRM_XE_TIMESLICE_MIN 24#define XE_HW_ENGINE_TIMESLICE_MIN CONFIG_DRM_XE_TIMESLICE_MIN 25#else 26#define XE_HW_ENGINE_TIMESLICE_MIN 1 27#endif 28#ifdef CONFIG_DRM_XE_TIMESLICE_MAX 29#define XE_HW_ENGINE_TIMESLICE_MAX CONFIG_DRM_XE_TIMESLICE_MAX 30#else 31#define XE_HW_ENGINE_TIMESLICE_MAX (10 * 1000 * 1000) 32#endif 33#ifdef CONFIG_DRM_XE_PREEMPT_TIMEOUT 34#define XE_HW_ENGINE_PREEMPT_TIMEOUT CONFIG_DRM_XE_PREEMPT_TIMEOUT 35#else 36#define XE_HW_ENGINE_PREEMPT_TIMEOUT (640 * 1000) 37#endif 38#ifdef CONFIG_DRM_XE_PREEMPT_TIMEOUT_MIN 39#define XE_HW_ENGINE_PREEMPT_TIMEOUT_MIN CONFIG_DRM_XE_PREEMPT_TIMEOUT_MIN 40#else 41#define XE_HW_ENGINE_PREEMPT_TIMEOUT_MIN 1 42#endif 43#ifdef CONFIG_DRM_XE_PREEMPT_TIMEOUT_MAX 44#define XE_HW_ENGINE_PREEMPT_TIMEOUT_MAX CONFIG_DRM_XE_PREEMPT_TIMEOUT_MAX 45#else 46#define XE_HW_ENGINE_PREEMPT_TIMEOUT_MAX (10 * 1000 * 1000) 47#endif 48 49int xe_hw_engines_init_early(struct xe_gt *gt); 50int xe_hw_engines_init(struct xe_gt *gt); 51void xe_hw_engine_handle_irq(struct xe_hw_engine *hwe, u16 intr_vec); 52void xe_hw_engine_enable_ring(struct xe_hw_engine *hwe); 53u32 xe_hw_engine_mask_per_class(struct xe_gt *gt, 54 enum xe_engine_class engine_class); 55 56struct xe_hw_engine_snapshot * 57xe_hw_engine_snapshot_capture(struct xe_hw_engine *hwe); 58void xe_hw_engine_snapshot_free(struct xe_hw_engine_snapshot *snapshot); 59void xe_hw_engine_snapshot_print(struct xe_hw_engine_snapshot *snapshot, 60 struct drm_printer *p); 61void xe_hw_engine_print(struct xe_hw_engine *hwe, struct drm_printer *p); 62void xe_hw_engine_setup_default_lrc_state(struct xe_hw_engine *hwe); 63 64bool xe_hw_engine_is_reserved(struct xe_hw_engine *hwe); 65static inline bool xe_hw_engine_is_valid(struct xe_hw_engine *hwe) 66{ 67 return hwe->name; 68} 69 70#endif