Commit 01b2b8cc authored by Andi Shyti's avatar Andi Shyti
Browse files

drm/i915/gt: Create the gt_to_guc() wrapper



We already have guc_to_gt() and getting to guc from the GT it
requires some mental effort. Add the gt_to_guc().

Given the reference to the "gt", the gt_to_guc() will return the
pinter to the "guc".

Update all the files under the gt/ directory.

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-2-andi.shyti@linux.intel.com
parent db7bbd13
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -589,7 +589,7 @@ u64 intel_clamp_preempt_timeout_ms(struct intel_engine_cs *engine, u64 value)
	 * NB: The GuC API only supports 32bit values. However, the limit is further
	 * reduced due to internal calculations which would otherwise overflow.
	 */
	if (intel_guc_submission_is_wanted(&engine->gt->uc.guc))
	if (intel_guc_submission_is_wanted(gt_to_guc(engine->gt)))
		value = min_t(u64, value, guc_policy_max_preempt_timeout_ms());

	value = min_t(u64, value, jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT));
@@ -610,7 +610,7 @@ u64 intel_clamp_timeslice_duration_ms(struct intel_engine_cs *engine, u64 value)
	 * NB: The GuC API only supports 32bit values. However, the limit is further
	 * reduced due to internal calculations which would otherwise overflow.
	 */
	if (intel_guc_submission_is_wanted(&engine->gt->uc.guc))
	if (intel_guc_submission_is_wanted(gt_to_guc(engine->gt)))
		value = min_t(u64, value, guc_policy_max_exec_quantum_ms());

	value = min_t(u64, value, jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT));
+3 −6
Original line number Diff line number Diff line
@@ -230,11 +230,8 @@ static void guc_ggtt_ct_invalidate(struct intel_gt *gt)
	struct intel_uncore *uncore = gt->uncore;
	intel_wakeref_t wakeref;

	with_intel_runtime_pm_if_active(uncore->rpm, wakeref) {
		struct intel_guc *guc = &gt->uc.guc;

		intel_guc_invalidate_tlb_guc(guc);
	}
	with_intel_runtime_pm_if_active(uncore->rpm, wakeref)
		intel_guc_invalidate_tlb_guc(gt_to_guc(gt));
}

static void guc_ggtt_invalidate(struct i915_ggtt *ggtt)
@@ -245,7 +242,7 @@ static void guc_ggtt_invalidate(struct i915_ggtt *ggtt)
	gen8_ggtt_invalidate(ggtt);

	list_for_each_entry(gt, &ggtt->gt_list, ggtt_link) {
		if (intel_guc_tlb_invalidation_is_available(&gt->uc.guc))
		if (intel_guc_tlb_invalidation_is_available(gt_to_guc(gt)))
			guc_ggtt_ct_invalidate(gt);
		else if (GRAPHICS_VER(i915) >= 12)
			intel_uncore_write_fw(gt->uncore,
+5 −0
Original line number Diff line number Diff line
@@ -123,6 +123,11 @@ static inline struct drm_i915_private *guc_to_i915(struct intel_guc *guc)
	return guc_to_gt(guc)->i915;
}

static inline struct intel_guc *gt_to_guc(struct intel_gt *gt)
{
	return &gt->uc.guc;
}

void intel_gt_common_init_early(struct intel_gt *gt);
int intel_root_gt_init_early(struct drm_i915_private *i915);
int intel_gt_assign_ggtt(struct intel_gt *gt);
+3 −3
Original line number Diff line number Diff line
@@ -68,9 +68,9 @@ gen11_other_irq_handler(struct intel_gt *gt, const u8 instance,
	struct intel_gt *media_gt = gt->i915->media_gt;

	if (instance == OTHER_GUC_INSTANCE)
		return guc_irq_handler(&gt->uc.guc, iir);
		return guc_irq_handler(gt_to_guc(gt), iir);
	if (instance == OTHER_MEDIA_GUC_INSTANCE && media_gt)
		return guc_irq_handler(&media_gt->uc.guc, iir);
		return guc_irq_handler(gt_to_guc(media_gt), iir);

	if (instance == OTHER_GTPM_INSTANCE)
		return gen11_rps_irq_handler(&gt->rps, iir);
@@ -442,7 +442,7 @@ void gen8_gt_irq_handler(struct intel_gt *gt, u32 master_ctl)
		iir = raw_reg_read(regs, GEN8_GT_IIR(2));
		if (likely(iir)) {
			gen6_rps_irq_handler(&gt->rps, iir);
			guc_irq_handler(&gt->uc.guc, iir >> 16);
			guc_irq_handler(gt_to_guc(gt), iir >> 16);
			raw_reg_write(regs, GEN8_GT_IIR(2), iir);
		}
	}
+1 −1
Original line number Diff line number Diff line
@@ -538,7 +538,7 @@ static bool rps_eval(void *data)
{
	struct intel_gt *gt = data;

	if (intel_guc_slpc_is_used(&gt->uc.guc))
	if (intel_guc_slpc_is_used(gt_to_guc(gt)))
		return false;
	else
		return HAS_RPS(gt->i915);
Loading