Commit 216fe0d7 authored by Mario Limonciello's avatar Mario Limonciello Committed by Borislav Petkov (AMD)
Browse files

platform/x86/amd: hfi: Set ITMT priority from ranking data



The static ranking data that is read at module load should be used
to set up the priorities for the cores relative to the performance
values.

Signed-off-by: default avatarMario Limonciello <mario.limonciello@amd.com>
Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: default avatarGautham R. Shenoy <gautham.shenoy@amd.com>
Acked-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/20250609200518.3616080-12-superm1@kernel.org
parent bfea2b3b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ config AMD_HFI
	bool "AMD Hetero Core Hardware Feedback Driver"
	depends on ACPI
	depends on CPU_SUP_AMD
	depends on SCHED_MC_PRIO
	help
	  Select this option to enable the AMD Heterogeneous Core Hardware
	  Feedback Interface. If selected, hardware provides runtime thread
+10 −0
Original line number Diff line number Diff line
@@ -114,6 +114,12 @@ static DEFINE_PER_CPU(struct amd_hfi_cpuinfo, amd_hfi_cpuinfo) = {.class_index =

static DEFINE_MUTEX(hfi_cpuinfo_lock);

static void amd_hfi_sched_itmt_work(struct work_struct *work)
{
	sched_set_itmt_support();
}
static DECLARE_WORK(sched_amd_hfi_itmt_work, amd_hfi_sched_itmt_work);

static int find_cpu_index_by_apicid(unsigned int target_apicid)
{
	int cpu_index;
@@ -238,6 +244,8 @@ static int amd_set_hfi_ipcc_score(struct amd_hfi_cpuinfo *hfi_cpuinfo, int cpu)
		WRITE_ONCE(hfi_cpuinfo->ipcc_scores[i],
			   hfi_cpuinfo->amd_hfi_classes[i].perf);

	sched_set_itmt_core_prio(hfi_cpuinfo->ipcc_scores[0], cpu);

	return 0;
}

@@ -459,6 +467,8 @@ static int amd_hfi_probe(struct platform_device *pdev)
	if (ret < 0)
		return ret;

	schedule_work(&sched_amd_hfi_itmt_work);

	return 0;
}