#include "xe_gt.h"
#include <linux/minmax.h>
#include <drm/drm_managed.h>
#include <drm/xe_drm.h>
#include <generated/xe_wa_oob.h>
#include "instructions/xe_gfxpipe_commands.h"
#include "instructions/xe_mi_commands.h"
#include "regs/xe_gt_regs.h"
#include "xe_assert.h"
#include "xe_bb.h"
#include "xe_bo.h"
#include "xe_device.h"
#include "xe_exec_queue.h"
#include "xe_execlist.h"
#include "xe_force_wake.h"
#include "xe_ggtt.h"
#include "xe_gsc.h"
#include "xe_gt_ccs_mode.h"
#include "xe_gt_clock.h"
#include "xe_gt_freq.h"
#include "xe_gt_idle.h"
#include "xe_gt_mcr.h"
#include "xe_gt_pagefault.h"
#include "xe_gt_printk.h"
#include "xe_gt_sriov_pf.h"
#include "xe_gt_sysfs.h"
#include "xe_gt_tlb_invalidation.h"
#include "xe_gt_topology.h"
#include "xe_guc_exec_queue_types.h"
#include "xe_guc_pc.h"
#include "xe_hw_fence.h"
#include "xe_hw_engine_class_sysfs.h"
#include "xe_irq.h"
#include "xe_lmtt.h"
#include "xe_lrc.h"
#include "xe_map.h"
#include "xe_migrate.h"
#include "xe_mmio.h"
#include "xe_pat.h"
#include "xe_pcode.h"
#include "xe_pm.h"
#include "xe_mocs.h"
#include "xe_reg_sr.h"
#include "xe_ring_ops.h"
#include "xe_sa.h"
#include "xe_sched_job.h"
#include "xe_sriov.h"
#include "xe_tuning.h"
#include "xe_uc.h"
#include "xe_uc_fw.h"
#include "xe_vm.h"
#include "xe_wa.h"
#include "xe_wopcm.h"
static void gt_fini(struct drm_device *drm, void *arg)
{ … }
struct xe_gt *xe_gt_alloc(struct xe_tile *tile)
{ … }
void xe_gt_sanitize(struct xe_gt *gt)
{ … }
void xe_gt_remove(struct xe_gt *gt)
{ … }
static void gt_reset_worker(struct work_struct *w);
static int emit_nop_job(struct xe_gt *gt, struct xe_exec_queue *q)
{ … }
static struct xe_reg_mcr to_xe_reg_mcr(const struct xe_reg reg)
{ … }
static int emit_wa_job(struct xe_gt *gt, struct xe_exec_queue *q)
{ … }
int xe_gt_record_default_lrcs(struct xe_gt *gt)
{ … }
int xe_gt_init_early(struct xe_gt *gt)
{ … }
static void dump_pat_on_error(struct xe_gt *gt)
{ … }
static int gt_fw_domain_init(struct xe_gt *gt)
{ … }
static int all_fw_domain_init(struct xe_gt *gt)
{ … }
int xe_gt_init_hwconfig(struct xe_gt *gt)
{ … }
int xe_gt_init(struct xe_gt *gt)
{ … }
void xe_gt_record_user_engines(struct xe_gt *gt)
{ … }
static int do_gt_reset(struct xe_gt *gt)
{ … }
static int vf_gt_restart(struct xe_gt *gt)
{ … }
static int do_gt_restart(struct xe_gt *gt)
{ … }
static int gt_reset(struct xe_gt *gt)
{ … }
static void gt_reset_worker(struct work_struct *w)
{ … }
void xe_gt_reset_async(struct xe_gt *gt)
{ … }
void xe_gt_suspend_prepare(struct xe_gt *gt)
{ … }
int xe_gt_suspend(struct xe_gt *gt)
{ … }
int xe_gt_sanitize_freq(struct xe_gt *gt)
{ … }
int xe_gt_resume(struct xe_gt *gt)
{ … }
struct xe_hw_engine *xe_gt_hw_engine(struct xe_gt *gt,
enum xe_engine_class class,
u16 instance, bool logical)
{ … }
struct xe_hw_engine *xe_gt_any_hw_engine_by_reset_domain(struct xe_gt *gt,
enum xe_engine_class class)
{ … }
struct xe_hw_engine *xe_gt_any_hw_engine(struct xe_gt *gt)
{ … }
void xe_gt_declare_wedged(struct xe_gt *gt)
{ … }