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 
11 struct intel_engine_cs;
12 struct intel_gt;
13 struct intel_timeline;
14 
15 long intel_gt_retire_requests_timeout(struct intel_gt *gt, long timeout,
16 				      long *remaining_timeout);
17 static inline void intel_gt_retire_requests(struct intel_gt *gt)
18 {
19 	intel_gt_retire_requests_timeout(gt, 0, NULL);
20 }
21 
22 void intel_engine_init_retire(struct intel_engine_cs *engine);
23 void intel_engine_add_retire(struct intel_engine_cs *engine,
24 			     struct intel_timeline *tl);
25 void intel_engine_fini_retire(struct intel_engine_cs *engine);
26 
27 void intel_gt_init_requests(struct intel_gt *gt);
28 void intel_gt_park_requests(struct intel_gt *gt);
29 void intel_gt_unpark_requests(struct intel_gt *gt);
30 void intel_gt_fini_requests(struct intel_gt *gt);
31 
32 #endif /* INTEL_GT_REQUESTS_H */
33