xref: /linux/drivers/gpu/drm/i915/gt/intel_gt_requests.h (revision 762f99f4f3cb41a775b5157dd761217beba65873)
124f90d66SChris Wilson /* SPDX-License-Identifier: MIT */
266101975SChris Wilson /*
366101975SChris Wilson  * Copyright © 2019 Intel Corporation
466101975SChris Wilson  */
566101975SChris Wilson 
666101975SChris Wilson #ifndef INTEL_GT_REQUESTS_H
766101975SChris Wilson #define INTEL_GT_REQUESTS_H
866101975SChris Wilson 
91645cca9SStephen Rothwell #include <linux/stddef.h>
10b97060a9SMatthew Brost 
114f88f874SChris Wilson struct intel_engine_cs;
1266101975SChris Wilson struct intel_gt;
134f88f874SChris Wilson struct intel_timeline;
1466101975SChris Wilson 
15b97060a9SMatthew Brost long intel_gt_retire_requests_timeout(struct intel_gt *gt, long timeout,
16b97060a9SMatthew Brost 				      long *remaining_timeout);
intel_gt_retire_requests(struct intel_gt * gt)1766101975SChris Wilson static inline void intel_gt_retire_requests(struct intel_gt *gt)
1866101975SChris Wilson {
19b97060a9SMatthew Brost 	intel_gt_retire_requests_timeout(gt, 0, NULL);
2066101975SChris Wilson }
2166101975SChris Wilson 
224f88f874SChris Wilson void intel_engine_init_retire(struct intel_engine_cs *engine);
234f88f874SChris Wilson void intel_engine_add_retire(struct intel_engine_cs *engine,
244f88f874SChris Wilson 			     struct intel_timeline *tl);
254f88f874SChris Wilson void intel_engine_fini_retire(struct intel_engine_cs *engine);
264f88f874SChris Wilson 
2766101975SChris Wilson void intel_gt_init_requests(struct intel_gt *gt);
2866101975SChris Wilson void intel_gt_park_requests(struct intel_gt *gt);
2966101975SChris Wilson void intel_gt_unpark_requests(struct intel_gt *gt);
30dea397e8SChris Wilson void intel_gt_fini_requests(struct intel_gt *gt);
3166101975SChris Wilson 
3266101975SChris Wilson #endif /* INTEL_GT_REQUESTS_H */
33