On 16-08-21, 20:56, Hector Yuan wrote: > On Tue, 2021-08-03 at 12:43 +0530, Viresh Kumar wrote: > > On 30-07-21, 00:08, Hector Yuan wrote: > > > + for (i = REG_FREQ_LUT_TABLE; i < REG_ARRAY_SIZE; i++) > > > + c->reg_bases[i] = base + offsets[i]; > > > + > > > + ret = of_perf_domain_get_sharing_cpumask(index, "performance-domains", > > > > Instead of parsing parsing "performance-domains" twice, I would rather > > pass a CPU number here instead of index. > > > Sorry, could you give me more details? For now, will use index to parse > per-cpu to related cpus.You mean pass policy->cpu or? Thanks. Yes, pass the cpu number from policy->cpu instead. > > > + latency = readl_relaxed(c->reg_bases[REG_FREQ_LATENCY]); > > > + if (!latency) > > > + latency = CPUFREQ_ETERNAL; > > > + > > > + /* us convert to ns */ > > > + policy->cpuinfo.transition_latency = latency * 1000; > > > > You want to multiple CPUFREQ_ETERNAL too ? s/multiple/multiply/ Sorry about this. > Yes, may be different power domain with different transition latency. > > > + > > > + policy->fast_switch_possible = true; > > > + > > > + qos_request = kzalloc(sizeof(*qos_request), GFP_KERNEL); > > > > This is a small structure, why not allocate it on stack instead ? > > > For qos part, we'd like to take more time to re-consider the SW flow and > put this to another patch set.Is this okay to you? So you will drop entire qos stuff ? Fine by me. -- viresh