#include "i915_drv.h"
#include "i915_request.h"
#include "intel_context.h"
#include "intel_engine_heartbeat.h"
#include "intel_engine_pm.h"
#include "intel_engine.h"
#include "intel_gt.h"
#include "intel_reset.h"
static bool next_heartbeat(struct intel_engine_cs *engine)
{ … }
static struct i915_request *
heartbeat_create(struct intel_context *ce, gfp_t gfp)
{ … }
static void idle_pulse(struct intel_engine_cs *engine, struct i915_request *rq)
{ … }
static void heartbeat_commit(struct i915_request *rq,
const struct i915_sched_attr *attr)
{ … }
static void show_heartbeat(const struct i915_request *rq,
struct intel_engine_cs *engine)
{ … }
static void
reset_engine(struct intel_engine_cs *engine, struct i915_request *rq)
{ … }
static void heartbeat(struct work_struct *wrk)
{ … }
void intel_engine_unpark_heartbeat(struct intel_engine_cs *engine)
{ … }
void intel_engine_park_heartbeat(struct intel_engine_cs *engine)
{ … }
void intel_gt_unpark_heartbeats(struct intel_gt *gt)
{ … }
void intel_gt_park_heartbeats(struct intel_gt *gt)
{ … }
void intel_engine_init_heartbeat(struct intel_engine_cs *engine)
{ … }
static int __intel_engine_pulse(struct intel_engine_cs *engine)
{ … }
static unsigned long set_heartbeat(struct intel_engine_cs *engine,
unsigned long delay)
{ … }
int intel_engine_set_heartbeat(struct intel_engine_cs *engine,
unsigned long delay)
{ … }
int intel_engine_pulse(struct intel_engine_cs *engine)
{ … }
int intel_engine_flush_barriers(struct intel_engine_cs *engine)
{ … }
#if IS_ENABLED(CONFIG_DRM_I915_SELFTEST)
#include "selftest_engine_heartbeat.c"
#endif