Lines Matching defs:ndiv

61 	void (*set_cpu_ndiv)(struct cpufreq_policy *policy, u64 ndiv);
63 int (*get_cpu_ndiv)(u32 cpu, u32 cpuid, u32 clusterid, u64 *ndiv);
124 static int tegra234_get_cpu_ndiv(u32 cpu, u32 cpuid, u32 clusterid, u64 *ndiv)
128 *ndiv = readl(data->cpu_data[cpu].freq_core_reg) & NDIV_MASK;
133 static void tegra234_set_cpu_ndiv(struct cpufreq_policy *policy, u64 ndiv)
139 writel(ndiv, data->cpu_data[cpu].freq_core_reg);
238 *nltbl, u16 ndiv)
240 return nltbl->ref_clk_hz / KHZ * ndiv / (nltbl->pdiv * nltbl->mdiv);
359 static void tegra194_get_cpu_ndiv_sysreg(void *ndiv)
365 *(u64 *)ndiv = ndiv_val;
368 static int tegra194_get_cpu_ndiv(u32 cpu, u32 cpuid, u32 clusterid, u64 *ndiv)
370 return smp_call_function_single(cpu, tegra194_get_cpu_ndiv_sysreg, &ndiv, true);
380 static void tegra194_set_cpu_ndiv(struct cpufreq_policy *policy, u64 ndiv)
382 on_each_cpu_mask(policy->cpus, tegra194_set_cpu_ndiv_sysreg, &ndiv, true);
391 u64 ndiv;
397 /* get last written ndiv value */
398 ret = data->soc->ops->get_cpu_ndiv(cpu, data->cpu_data[cpu].cpuid, clusterid, &ndiv);
405 * to the last written ndiv value from freq_table. This is
409 if (pos->driver_data != ndiv)
413 pr_warn("cpufreq: cpu%d,cur:%u,set:%u,delta:%d,set ndiv:%llu\n",
414 cpu, rate, pos->frequency, abs(rate - pos->frequency), ndiv);
622 unsigned int num_freqs, ndiv, delta_ndiv;
674 for (index = 0, ndiv = resp.ndiv_min;
675 ndiv < resp.ndiv_max;
676 index++, ndiv += freq_table_step_size) {
677 freq_table[index].driver_data = ndiv;
678 freq_table[index].frequency = map_ndiv_to_freq(&resp, ndiv);