@@ -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
@@ -115,6 +115,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;
@@ -234,6 +240,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;
}
@@ -453,6 +461,8 @@ static int amd_hfi_probe(struct platform_device *pdev)
if (ret < 0)
return ret;
+ schedule_work(&sched_amd_hfi_itmt_work);
+
return 0;
}