return best_cpu;
 }
 
-static inline bool asym_fits_capacity(unsigned long task_util, int cpu)
+static inline bool asym_fits_cpu(unsigned long util,
+                                unsigned long util_min,
+                                unsigned long util_max,
+                                int cpu)
 {
        if (sched_asym_cpucap_active())
-               return fits_capacity(task_util, capacity_of(cpu));
+               return util_fits_cpu(util, util_min, util_max, cpu);
 
        return true;
 }
 {
        bool has_idle_core = false;
        struct sched_domain *sd;
-       unsigned long task_util;
+       unsigned long task_util, util_min, util_max;
        int i, recent_used_cpu;
 
        /*
         */
        if (sched_asym_cpucap_active()) {
                sync_entity_load_avg(&p->se);
-               task_util = uclamp_task_util(p);
+               task_util = task_util_est(p);
+               util_min = uclamp_eff_value(p, UCLAMP_MIN);
+               util_max = uclamp_eff_value(p, UCLAMP_MAX);
        }
 
        /*
        lockdep_assert_irqs_disabled();
 
        if ((available_idle_cpu(target) || sched_idle_cpu(target)) &&
-           asym_fits_capacity(task_util, target))
+           asym_fits_cpu(task_util, util_min, util_max, target))
                return target;
 
        /*
         */
        if (prev != target && cpus_share_cache(prev, target) &&
            (available_idle_cpu(prev) || sched_idle_cpu(prev)) &&
-           asym_fits_capacity(task_util, prev))
+           asym_fits_cpu(task_util, util_min, util_max, prev))
                return prev;
 
        /*
            in_task() &&
            prev == smp_processor_id() &&
            this_rq()->nr_running <= 1 &&
-           asym_fits_capacity(task_util, prev)) {
+           asym_fits_cpu(task_util, util_min, util_max, prev)) {
                return prev;
        }
 
            cpus_share_cache(recent_used_cpu, target) &&
            (available_idle_cpu(recent_used_cpu) || sched_idle_cpu(recent_used_cpu)) &&
            cpumask_test_cpu(p->recent_used_cpu, p->cpus_ptr) &&
-           asym_fits_capacity(task_util, recent_used_cpu)) {
+           asym_fits_cpu(task_util, util_min, util_max, recent_used_cpu)) {
                return recent_used_cpu;
        }