1 /*
2  * SPDX-License-Identifier: MIT
3  *
4  * Copyright © 2019 Intel Corporation
5  */
6 
7 #ifndef INTEL_GT_REQUESTS_H
8 #define INTEL_GT_REQUESTS_H
9 
10 struct intel_engine_cs;
11 struct intel_gt;
12 struct intel_timeline;
13 
14 long intel_gt_retire_requests_timeout(struct intel_gt *gt, long timeout);
15 static inline void intel_gt_retire_requests(struct intel_gt *gt)
16 {
17 	intel_gt_retire_requests_timeout(gt, 0);
18 }
19 
20 void intel_engine_init_retire(struct intel_engine_cs *engine);
21 void intel_engine_add_retire(struct intel_engine_cs *engine,
22 			     struct intel_timeline *tl);
23 void intel_engine_fini_retire(struct intel_engine_cs *engine);
24 
25 int intel_gt_wait_for_idle(struct intel_gt *gt, long timeout);
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