#include "gem/i915_gem_lmem.h"
#include "gt/intel_engine_pm.h"
#include "gt/intel_gpu_commands.h"
#include "gt/intel_gt.h"
#include "gt/intel_gt_print.h"
#include "gt/intel_ring.h"
#include "intel_gsc_binary_headers.h"
#include "intel_gsc_fw.h"
#include "intel_gsc_uc_heci_cmd_submit.h"
#include "i915_reg.h"
static bool gsc_is_in_reset(struct intel_uncore *uncore)
{ … }
static u32 gsc_uc_get_fw_status(struct intel_uncore *uncore, bool needs_wakeref)
{ … }
bool intel_gsc_uc_fw_proxy_init_done(struct intel_gsc_uc *gsc, bool needs_wakeref)
{ … }
int intel_gsc_uc_fw_proxy_get_status(struct intel_gsc_uc *gsc)
{ … }
bool intel_gsc_uc_fw_init_done(struct intel_gsc_uc *gsc)
{ … }
static inline u32 cpd_entry_offset(const struct intel_gsc_cpd_entry *entry)
{ … }
int intel_gsc_fw_get_binary_info(struct intel_uc_fw *gsc_fw, const void *data, size_t size)
{ … }
static int emit_gsc_fw_load(struct i915_request *rq, struct intel_gsc_uc *gsc)
{ … }
static int gsc_fw_load(struct intel_gsc_uc *gsc)
{ … }
static int gsc_fw_load_prepare(struct intel_gsc_uc *gsc)
{ … }
static int gsc_fw_wait(struct intel_gt *gt)
{ … }
struct intel_gsc_mkhi_header { … } __packed;
struct mtl_gsc_ver_msg_in { … } __packed;
struct mtl_gsc_ver_msg_out { … } __packed;
#define GSC_VER_PKT_SZ …
static int gsc_fw_query_compatibility_version(struct intel_gsc_uc *gsc)
{ … }
int intel_gsc_uc_fw_upload(struct intel_gsc_uc *gsc)
{ … }