1 /* SPDX-License-Identifier: MIT */
3 * Copyright © 2019 Intel Corporation
6 #ifndef __INTEL_BREADCRUMBS__
7 #define __INTEL_BREADCRUMBS__
9 #include <linux/irq_work.h>
11 #include "intel_engine_types.h"
15 struct intel_breadcrumbs
;
17 struct intel_breadcrumbs
*
18 intel_breadcrumbs_create(struct intel_engine_cs
*irq_engine
);
19 void intel_breadcrumbs_free(struct intel_breadcrumbs
*b
);
21 void intel_breadcrumbs_reset(struct intel_breadcrumbs
*b
);
22 void intel_breadcrumbs_park(struct intel_breadcrumbs
*b
);
25 intel_engine_signal_breadcrumbs(struct intel_engine_cs
*engine
)
27 irq_work_queue(&engine
->breadcrumbs
->irq_work
);
30 void intel_engine_print_breadcrumbs(struct intel_engine_cs
*engine
,
31 struct drm_printer
*p
);
33 bool i915_request_enable_breadcrumb(struct i915_request
*request
);
34 void i915_request_cancel_breadcrumb(struct i915_request
*request
);
36 #endif /* __INTEL_BREADCRUMBS__ */