124f90d66SChris Wilson /* SPDX-License-Identifier: MIT */ 2b5e8e954SChris Wilson /* 3b5e8e954SChris Wilson * Copyright © 2019 Intel Corporation 4b5e8e954SChris Wilson */ 5b5e8e954SChris Wilson 6b5e8e954SChris Wilson #ifndef INTEL_ENGINE_HEARTBEAT_H 7b5e8e954SChris Wilson #define INTEL_ENGINE_HEARTBEAT_H 8b5e8e954SChris Wilson 9b5e8e954SChris Wilson struct intel_engine_cs; 10*c41ee287SMatthew Brost struct intel_gt; 11b5e8e954SChris Wilson 12058179e7SChris Wilson void intel_engine_init_heartbeat(struct intel_engine_cs *engine); 13058179e7SChris Wilson 14058179e7SChris Wilson int intel_engine_set_heartbeat(struct intel_engine_cs *engine, 15058179e7SChris Wilson unsigned long delay); 16058179e7SChris Wilson 17058179e7SChris Wilson void intel_engine_park_heartbeat(struct intel_engine_cs *engine); 18058179e7SChris Wilson void intel_engine_unpark_heartbeat(struct intel_engine_cs *engine); 19058179e7SChris Wilson 20*c41ee287SMatthew Brost void intel_gt_park_heartbeats(struct intel_gt *gt); 21*c41ee287SMatthew Brost void intel_gt_unpark_heartbeats(struct intel_gt *gt); 22*c41ee287SMatthew Brost 23b5e8e954SChris Wilson int intel_engine_pulse(struct intel_engine_cs *engine); 24b5e8e954SChris Wilson int intel_engine_flush_barriers(struct intel_engine_cs *engine); 25b5e8e954SChris Wilson 26b5e8e954SChris Wilson #endif /* INTEL_ENGINE_HEARTBEAT_H */ 27