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: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Gautham R. Shenoy <gautham.shenoy@amd.com>
Acked-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/20250609200518.3616080-12-superm1@kernel.org
This commit is contained in:
Mario Limonciello
2025-06-09 15:05:16 -05:00
committed by Borislav Petkov (AMD)
parent bfea2b3b4f
commit 216fe0d768
2 changed files with 11 additions and 0 deletions

View File

@@ -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

View File

@@ -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;
}