#include <linux/string_helpers.h>
#include <linux/suspend.h>
#include "i915_drv.h"
#include "i915_irq.h"
#include "i915_params.h"
#include "intel_context.h"
#include "intel_engine_pm.h"
#include "intel_gt.h"
#include "intel_gt_clock_utils.h"
#include "intel_gt_mcr.h"
#include "intel_gt_pm.h"
#include "intel_gt_print.h"
#include "intel_gt_requests.h"
#include "intel_llc.h"
#include "intel_rc6.h"
#include "intel_rps.h"
#include "intel_wakeref.h"
#include "pxp/intel_pxp_pm.h"
#define I915_GT_SUSPEND_IDLE_TIMEOUT …
static void user_forcewake(struct intel_gt *gt, bool suspend)
{ … }
static void runtime_begin(struct intel_gt *gt)
{ … }
static void runtime_end(struct intel_gt *gt)
{ … }
static int __gt_unpark(struct intel_wakeref *wf)
{ … }
static int __gt_park(struct intel_wakeref *wf)
{ … }
static const struct intel_wakeref_ops wf_ops = …;
void intel_gt_pm_init_early(struct intel_gt *gt)
{ … }
void intel_gt_pm_init(struct intel_gt *gt)
{ … }
static bool reset_engines(struct intel_gt *gt)
{ … }
static void gt_sanitize(struct intel_gt *gt, bool force)
{ … }
void intel_gt_pm_fini(struct intel_gt *gt)
{ … }
void intel_gt_resume_early(struct intel_gt *gt)
{ … }
int intel_gt_resume(struct intel_gt *gt)
{ … }
static void wait_for_suspend(struct intel_gt *gt)
{ … }
void intel_gt_suspend_prepare(struct intel_gt *gt)
{ … }
static suspend_state_t pm_suspend_target(void)
{ … }
void intel_gt_suspend_late(struct intel_gt *gt)
{ … }
void intel_gt_runtime_suspend(struct intel_gt *gt)
{ … }
int intel_gt_runtime_resume(struct intel_gt *gt)
{ … }
static ktime_t __intel_gt_get_awake_time(const struct intel_gt *gt)
{ … }
ktime_t intel_gt_get_awake_time(const struct intel_gt *gt)
{ … }
#if IS_ENABLED(CONFIG_DRM_I915_SELFTEST)
#include "selftest_gt_pm.c"
#endif