1/* SPDX-License-Identifier: MIT */
2/*
3 * Copyright �� 2019 Intel Corporation
4 */
5
6#ifndef INTEL_GT_REQUESTS_H
7#define INTEL_GT_REQUESTS_H
8
9#include <linux/stddef.h>
10
11struct intel_engine_cs;
12struct intel_gt;
13struct intel_timeline;
14
15long intel_gt_retire_requests_timeout(struct intel_gt *gt, long timeout,
16				      long *remaining_timeout);
17static inline void intel_gt_retire_requests(struct intel_gt *gt)
18{
19	intel_gt_retire_requests_timeout(gt, 0, NULL);
20}
21
22void intel_engine_init_retire(struct intel_engine_cs *engine);
23void intel_engine_add_retire(struct intel_engine_cs *engine,
24			     struct intel_timeline *tl);
25void intel_engine_fini_retire(struct intel_engine_cs *engine);
26
27void intel_gt_init_requests(struct intel_gt *gt);
28void intel_gt_park_requests(struct intel_gt *gt);
29void intel_gt_unpark_requests(struct intel_gt *gt);
30void intel_gt_fini_requests(struct intel_gt *gt);
31
32#endif /* INTEL_GT_REQUESTS_H */
33