Commit 3f2f20da authored by Andi Shyti's avatar Andi Shyti

drm/i915/guc: Use the new gt_to_guc() wrapper

Get the guc reference from the gt using the gt_to_guc() helper.
Signed-off-by: default avatarAndi Shyti <andi.shyti@linux.intel.com>
Reviewed-by: default avatarNirmoy Das <nirmoy.das@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231229102734.674362-3-andi.shyti@linux.intel.com
parent 01b2b8cc
...@@ -298,7 +298,7 @@ static int gsc_fw_load_prepare(struct intel_gsc_uc *gsc) ...@@ -298,7 +298,7 @@ static int gsc_fw_load_prepare(struct intel_gsc_uc *gsc)
memcpy_toio(gsc->local_vaddr, src, gsc->fw.size); memcpy_toio(gsc->local_vaddr, src, gsc->fw.size);
memset_io(gsc->local_vaddr + gsc->fw.size, 0, gsc->local->size - gsc->fw.size); memset_io(gsc->local_vaddr + gsc->fw.size, 0, gsc->local->size - gsc->fw.size);
intel_guc_write_barrier(&gt->uc.guc); intel_guc_write_barrier(gt_to_guc(gt));
i915_gem_object_unpin_map(gsc->fw.obj); i915_gem_object_unpin_map(gsc->fw.obj);
...@@ -351,7 +351,7 @@ static int gsc_fw_query_compatibility_version(struct intel_gsc_uc *gsc) ...@@ -351,7 +351,7 @@ static int gsc_fw_query_compatibility_version(struct intel_gsc_uc *gsc)
void *vaddr; void *vaddr;
int err; int err;
err = intel_guc_allocate_and_map_vma(&gt->uc.guc, GSC_VER_PKT_SZ * 2, err = intel_guc_allocate_and_map_vma(gt_to_guc(gt), GSC_VER_PKT_SZ * 2,
&vma, &vaddr); &vma, &vaddr);
if (err) { if (err) {
gt_err(gt, "failed to allocate vma for GSC version query\n"); gt_err(gt, "failed to allocate vma for GSC version query\n");
......
...@@ -358,7 +358,8 @@ static int proxy_channel_alloc(struct intel_gsc_uc *gsc) ...@@ -358,7 +358,8 @@ static int proxy_channel_alloc(struct intel_gsc_uc *gsc)
void *vaddr; void *vaddr;
int err; int err;
err = intel_guc_allocate_and_map_vma(&gt->uc.guc, GSC_PROXY_CHANNEL_SIZE, err = intel_guc_allocate_and_map_vma(gt_to_guc(gt),
GSC_PROXY_CHANNEL_SIZE,
&vma, &vaddr); &vma, &vaddr);
if (err) if (err)
return err; return err;
......
...@@ -961,7 +961,7 @@ u32 intel_guc_engine_usage_offset(struct intel_guc *guc) ...@@ -961,7 +961,7 @@ u32 intel_guc_engine_usage_offset(struct intel_guc *guc)
struct iosys_map intel_guc_engine_usage_record_map(struct intel_engine_cs *engine) struct iosys_map intel_guc_engine_usage_record_map(struct intel_engine_cs *engine)
{ {
struct intel_guc *guc = &engine->gt->uc.guc; struct intel_guc *guc = gt_to_guc(engine->gt);
u8 guc_class = engine_class_to_guc_class(engine->class); u8 guc_class = engine_class_to_guc_class(engine->class);
size_t offset = offsetof(struct __guc_ads_blob, size_t offset = offsetof(struct __guc_ads_blob,
engine_usage.engines[guc_class][ilog2(engine->logical_mask)]); engine_usage.engines[guc_class][ilog2(engine->logical_mask)]);
......
...@@ -1441,7 +1441,7 @@ int intel_guc_capture_print_engine_node(struct drm_i915_error_state_buf *ebuf, ...@@ -1441,7 +1441,7 @@ int intel_guc_capture_print_engine_node(struct drm_i915_error_state_buf *ebuf,
if (!cap || !ee->engine) if (!cap || !ee->engine)
return -ENODEV; return -ENODEV;
guc = &ee->engine->gt->uc.guc; guc = gt_to_guc(ee->engine->gt);
i915_error_printf(ebuf, "global --- GuC Error Capture on %s command stream:\n", i915_error_printf(ebuf, "global --- GuC Error Capture on %s command stream:\n",
ee->engine->name); ee->engine->name);
...@@ -1543,7 +1543,7 @@ bool intel_guc_capture_is_matching_engine(struct intel_gt *gt, ...@@ -1543,7 +1543,7 @@ bool intel_guc_capture_is_matching_engine(struct intel_gt *gt,
if (!gt || !ce || !engine) if (!gt || !ce || !engine)
return false; return false;
guc = &gt->uc.guc; guc = gt_to_guc(gt);
if (!guc->capture) if (!guc->capture)
return false; return false;
...@@ -1573,7 +1573,7 @@ void intel_guc_capture_get_matching_node(struct intel_gt *gt, ...@@ -1573,7 +1573,7 @@ void intel_guc_capture_get_matching_node(struct intel_gt *gt,
if (!gt || !ee || !ce) if (!gt || !ee || !ce)
return; return;
guc = &gt->uc.guc; guc = gt_to_guc(gt);
if (!guc->capture) if (!guc->capture)
return; return;
......
...@@ -111,7 +111,7 @@ static bool has_table(struct drm_i915_private *i915) ...@@ -111,7 +111,7 @@ static bool has_table(struct drm_i915_private *i915)
static int guc_hwconfig_init(struct intel_gt *gt) static int guc_hwconfig_init(struct intel_gt *gt)
{ {
struct intel_hwconfig *hwconfig = &gt->info.hwconfig; struct intel_hwconfig *hwconfig = &gt->info.hwconfig;
struct intel_guc *guc = &gt->uc.guc; struct intel_guc *guc = gt_to_guc(gt);
int ret; int ret;
if (!has_table(gt->i915)) if (!has_table(gt->i915))
......
...@@ -398,7 +398,7 @@ static inline void set_context_guc_id_invalid(struct intel_context *ce) ...@@ -398,7 +398,7 @@ static inline void set_context_guc_id_invalid(struct intel_context *ce)
static inline struct intel_guc *ce_to_guc(struct intel_context *ce) static inline struct intel_guc *ce_to_guc(struct intel_context *ce)
{ {
return &ce->engine->gt->uc.guc; return gt_to_guc(ce->engine->gt);
} }
static inline struct i915_priolist *to_priolist(struct rb_node *rb) static inline struct i915_priolist *to_priolist(struct rb_node *rb)
...@@ -1246,7 +1246,7 @@ static void __get_engine_usage_record(struct intel_engine_cs *engine, ...@@ -1246,7 +1246,7 @@ static void __get_engine_usage_record(struct intel_engine_cs *engine,
static void guc_update_engine_gt_clks(struct intel_engine_cs *engine) static void guc_update_engine_gt_clks(struct intel_engine_cs *engine)
{ {
struct intel_engine_guc_stats *stats = &engine->stats.guc; struct intel_engine_guc_stats *stats = &engine->stats.guc;
struct intel_guc *guc = &engine->gt->uc.guc; struct intel_guc *guc = gt_to_guc(engine->gt);
u32 last_switch, ctx_id, total; u32 last_switch, ctx_id, total;
lockdep_assert_held(&guc->timestamp.lock); lockdep_assert_held(&guc->timestamp.lock);
...@@ -1311,7 +1311,7 @@ static ktime_t guc_engine_busyness(struct intel_engine_cs *engine, ktime_t *now) ...@@ -1311,7 +1311,7 @@ static ktime_t guc_engine_busyness(struct intel_engine_cs *engine, ktime_t *now)
struct intel_engine_guc_stats stats_saved, *stats = &engine->stats.guc; struct intel_engine_guc_stats stats_saved, *stats = &engine->stats.guc;
struct i915_gpu_error *gpu_error = &engine->i915->gpu_error; struct i915_gpu_error *gpu_error = &engine->i915->gpu_error;
struct intel_gt *gt = engine->gt; struct intel_gt *gt = engine->gt;
struct intel_guc *guc = &gt->uc.guc; struct intel_guc *guc = gt_to_guc(gt);
u64 total, gt_stamp_saved; u64 total, gt_stamp_saved;
unsigned long flags; unsigned long flags;
u32 reset_count; u32 reset_count;
...@@ -1576,7 +1576,7 @@ static void guc_fini_engine_stats(struct intel_guc *guc) ...@@ -1576,7 +1576,7 @@ static void guc_fini_engine_stats(struct intel_guc *guc)
void intel_guc_busyness_park(struct intel_gt *gt) void intel_guc_busyness_park(struct intel_gt *gt)
{ {
struct intel_guc *guc = &gt->uc.guc; struct intel_guc *guc = gt_to_guc(gt);
if (!guc_submission_initialized(guc)) if (!guc_submission_initialized(guc))
return; return;
...@@ -1603,7 +1603,7 @@ void intel_guc_busyness_park(struct intel_gt *gt) ...@@ -1603,7 +1603,7 @@ void intel_guc_busyness_park(struct intel_gt *gt)
void intel_guc_busyness_unpark(struct intel_gt *gt) void intel_guc_busyness_unpark(struct intel_gt *gt)
{ {
struct intel_guc *guc = &gt->uc.guc; struct intel_guc *guc = gt_to_guc(gt);
unsigned long flags; unsigned long flags;
ktime_t unused; ktime_t unused;
...@@ -2194,7 +2194,7 @@ static bool need_tasklet(struct intel_guc *guc, struct i915_request *rq) ...@@ -2194,7 +2194,7 @@ static bool need_tasklet(struct intel_guc *guc, struct i915_request *rq)
static void guc_submit_request(struct i915_request *rq) static void guc_submit_request(struct i915_request *rq)
{ {
struct i915_sched_engine *sched_engine = rq->engine->sched_engine; struct i915_sched_engine *sched_engine = rq->engine->sched_engine;
struct intel_guc *guc = &rq->engine->gt->uc.guc; struct intel_guc *guc = gt_to_guc(rq->engine->gt);
unsigned long flags; unsigned long flags;
/* Will be called from irq-context when using foreign fences. */ /* Will be called from irq-context when using foreign fences. */
...@@ -2660,7 +2660,7 @@ static int __guc_context_set_context_policies(struct intel_guc *guc, ...@@ -2660,7 +2660,7 @@ static int __guc_context_set_context_policies(struct intel_guc *guc,
static int guc_context_policy_init_v70(struct intel_context *ce, bool loop) static int guc_context_policy_init_v70(struct intel_context *ce, bool loop)
{ {
struct intel_engine_cs *engine = ce->engine; struct intel_engine_cs *engine = ce->engine;
struct intel_guc *guc = &engine->gt->uc.guc; struct intel_guc *guc = gt_to_guc(engine->gt);
struct context_policy policy; struct context_policy policy;
u32 execution_quantum; u32 execution_quantum;
u32 preemption_timeout; u32 preemption_timeout;
...@@ -2736,7 +2736,7 @@ static u32 map_guc_prio_to_lrc_desc_prio(u8 prio) ...@@ -2736,7 +2736,7 @@ static u32 map_guc_prio_to_lrc_desc_prio(u8 prio)
static void prepare_context_registration_info_v69(struct intel_context *ce) static void prepare_context_registration_info_v69(struct intel_context *ce)
{ {
struct intel_engine_cs *engine = ce->engine; struct intel_engine_cs *engine = ce->engine;
struct intel_guc *guc = &engine->gt->uc.guc; struct intel_guc *guc = gt_to_guc(engine->gt);
u32 ctx_id = ce->guc_id.id; u32 ctx_id = ce->guc_id.id;
struct guc_lrc_desc_v69 *desc; struct guc_lrc_desc_v69 *desc;
struct intel_context *child; struct intel_context *child;
...@@ -2805,7 +2805,7 @@ static void prepare_context_registration_info_v70(struct intel_context *ce, ...@@ -2805,7 +2805,7 @@ static void prepare_context_registration_info_v70(struct intel_context *ce,
struct guc_ctxt_registration_info *info) struct guc_ctxt_registration_info *info)
{ {
struct intel_engine_cs *engine = ce->engine; struct intel_engine_cs *engine = ce->engine;
struct intel_guc *guc = &engine->gt->uc.guc; struct intel_guc *guc = gt_to_guc(engine->gt);
u32 ctx_id = ce->guc_id.id; u32 ctx_id = ce->guc_id.id;
GEM_BUG_ON(!engine->mask); GEM_BUG_ON(!engine->mask);
...@@ -2868,7 +2868,7 @@ static int try_context_registration(struct intel_context *ce, bool loop) ...@@ -2868,7 +2868,7 @@ static int try_context_registration(struct intel_context *ce, bool loop)
{ {
struct intel_engine_cs *engine = ce->engine; struct intel_engine_cs *engine = ce->engine;
struct intel_runtime_pm *runtime_pm = engine->uncore->rpm; struct intel_runtime_pm *runtime_pm = engine->uncore->rpm;
struct intel_guc *guc = &engine->gt->uc.guc; struct intel_guc *guc = gt_to_guc(engine->gt);
intel_wakeref_t wakeref; intel_wakeref_t wakeref;
u32 ctx_id = ce->guc_id.id; u32 ctx_id = ce->guc_id.id;
bool context_registered; bool context_registered;
...@@ -4549,7 +4549,7 @@ static void guc_sched_engine_destroy(struct kref *kref) ...@@ -4549,7 +4549,7 @@ static void guc_sched_engine_destroy(struct kref *kref)
int intel_guc_submission_setup(struct intel_engine_cs *engine) int intel_guc_submission_setup(struct intel_engine_cs *engine)
{ {
struct drm_i915_private *i915 = engine->i915; struct drm_i915_private *i915 = engine->i915;
struct intel_guc *guc = &engine->gt->uc.guc; struct intel_guc *guc = gt_to_guc(engine->gt);
/* /*
* The setup relies on several assumptions (e.g. irqs always enabled) * The setup relies on several assumptions (e.g. irqs always enabled)
...@@ -5308,7 +5308,7 @@ int intel_guc_engine_failure_process_msg(struct intel_guc *guc, ...@@ -5308,7 +5308,7 @@ int intel_guc_engine_failure_process_msg(struct intel_guc *guc,
void intel_guc_find_hung_context(struct intel_engine_cs *engine) void intel_guc_find_hung_context(struct intel_engine_cs *engine)
{ {
struct intel_guc *guc = &engine->gt->uc.guc; struct intel_guc *guc = gt_to_guc(engine->gt);
struct intel_context *ce; struct intel_context *ce;
struct i915_request *rq; struct i915_request *rq;
unsigned long index; unsigned long index;
...@@ -5370,7 +5370,7 @@ void intel_guc_dump_active_requests(struct intel_engine_cs *engine, ...@@ -5370,7 +5370,7 @@ void intel_guc_dump_active_requests(struct intel_engine_cs *engine,
struct i915_request *hung_rq, struct i915_request *hung_rq,
struct drm_printer *m) struct drm_printer *m)
{ {
struct intel_guc *guc = &engine->gt->uc.guc; struct intel_guc *guc = gt_to_guc(engine->gt);
struct intel_context *ce; struct intel_context *ce;
unsigned long index; unsigned long index;
unsigned long flags; unsigned long flags;
...@@ -5822,7 +5822,7 @@ guc_create_virtual(struct intel_engine_cs **siblings, unsigned int count, ...@@ -5822,7 +5822,7 @@ guc_create_virtual(struct intel_engine_cs **siblings, unsigned int count,
if (!ve) if (!ve)
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
guc = &siblings[0]->gt->uc.guc; guc = gt_to_guc(siblings[0]->gt);
ve->base.i915 = siblings[0]->i915; ve->base.i915 = siblings[0]->i915;
ve->base.gt = siblings[0]->gt; ve->base.gt = siblings[0]->gt;
......
...@@ -385,7 +385,7 @@ int intel_huc_init(struct intel_huc *huc) ...@@ -385,7 +385,7 @@ int intel_huc_init(struct intel_huc *huc)
if (HAS_ENGINE(gt, GSC0)) { if (HAS_ENGINE(gt, GSC0)) {
struct i915_vma *vma; struct i915_vma *vma;
vma = intel_guc_allocate_vma(&gt->uc.guc, PXP43_HUC_AUTH_INOUT_SIZE * 2); vma = intel_guc_allocate_vma(gt_to_guc(gt), PXP43_HUC_AUTH_INOUT_SIZE * 2);
if (IS_ERR(vma)) { if (IS_ERR(vma)) {
err = PTR_ERR(vma); err = PTR_ERR(vma);
huc_info(huc, "Failed to allocate heci pkt\n"); huc_info(huc, "Failed to allocate heci pkt\n");
...@@ -540,7 +540,7 @@ int intel_huc_wait_for_auth_complete(struct intel_huc *huc, ...@@ -540,7 +540,7 @@ int intel_huc_wait_for_auth_complete(struct intel_huc *huc,
int intel_huc_auth(struct intel_huc *huc, enum intel_huc_authentication_type type) int intel_huc_auth(struct intel_huc *huc, enum intel_huc_authentication_type type)
{ {
struct intel_gt *gt = huc_to_gt(huc); struct intel_gt *gt = huc_to_gt(huc);
struct intel_guc *guc = &gt->uc.guc; struct intel_guc *guc = gt_to_guc(gt);
int ret; int ret;
if (!intel_uc_fw_is_loaded(&huc->fw)) if (!intel_uc_fw_is_loaded(&huc->fw))
......
...@@ -807,7 +807,7 @@ static int try_firmware_load(struct intel_uc_fw *uc_fw, const struct firmware ** ...@@ -807,7 +807,7 @@ static int try_firmware_load(struct intel_uc_fw *uc_fw, const struct firmware **
static int check_mtl_huc_guc_compatibility(struct intel_gt *gt, static int check_mtl_huc_guc_compatibility(struct intel_gt *gt,
struct intel_uc_fw_file *huc_selected) struct intel_uc_fw_file *huc_selected)
{ {
struct intel_uc_fw_file *guc_selected = &gt->uc.guc.fw.file_selected; struct intel_uc_fw_file *guc_selected = &gt_to_guc(gt)->fw.file_selected;
struct intel_uc_fw_ver *huc_ver = &huc_selected->ver; struct intel_uc_fw_ver *huc_ver = &huc_selected->ver;
struct intel_uc_fw_ver *guc_ver = &guc_selected->ver; struct intel_uc_fw_ver *guc_ver = &guc_selected->ver;
bool new_huc, new_guc; bool new_huc, new_guc;
...@@ -1209,7 +1209,7 @@ static int uc_fw_rsa_data_create(struct intel_uc_fw *uc_fw) ...@@ -1209,7 +1209,7 @@ static int uc_fw_rsa_data_create(struct intel_uc_fw *uc_fw)
* since its GGTT offset will be GuC accessible. * since its GGTT offset will be GuC accessible.
*/ */
GEM_BUG_ON(uc_fw->rsa_size > PAGE_SIZE); GEM_BUG_ON(uc_fw->rsa_size > PAGE_SIZE);
vma = intel_guc_allocate_vma(&gt->uc.guc, PAGE_SIZE); vma = intel_guc_allocate_vma(gt_to_guc(gt), PAGE_SIZE);
if (IS_ERR(vma)) if (IS_ERR(vma))
return PTR_ERR(vma); return PTR_ERR(vma);
......
...@@ -144,7 +144,7 @@ static int intel_guc_scrub_ctbs(void *arg) ...@@ -144,7 +144,7 @@ static int intel_guc_scrub_ctbs(void *arg)
static int intel_guc_steal_guc_ids(void *arg) static int intel_guc_steal_guc_ids(void *arg)
{ {
struct intel_gt *gt = arg; struct intel_gt *gt = arg;
struct intel_guc *guc = &gt->uc.guc; struct intel_guc *guc = gt_to_guc(gt);
int ret, sv, context_index = 0; int ret, sv, context_index = 0;
intel_wakeref_t wakeref; intel_wakeref_t wakeref;
struct intel_engine_cs *engine; struct intel_engine_cs *engine;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment