mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-19 05:32:22 -05:00
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:
committed by
Borislav Petkov (AMD)
parent
bfea2b3b4f
commit
216fe0d768
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user