Lines Matching refs:rate

141 	unsigned long rate;
183 unsigned long rate)
189 if (emc->timings[i].rate >= rate) {
196 dev_err(emc->dev, "no timing for rate %lu\n", rate);
203 static int emc_prepare_timing_change(struct tegra_emc *emc, unsigned long rate)
205 struct emc_timing *timing = tegra_emc_find_timing(emc, rate);
211 dev_dbg(emc->dev, "%s: using timing rate %lu for requested rate %lu\n",
212 __func__, timing->rate, rate);
285 u32 rate;
293 err = of_property_read_u32(node, "clock-frequency", &rate);
295 dev_err(emc->dev, "timing %pOF: failed to read rate: %d\n",
311 * The EMC clock rate is twice the bus rate, and the bus rate is
314 timing->rate = rate * 2 * 1000;
316 dev_dbg(emc->dev, "%s: %pOF: EMC rate %lu\n",
317 __func__, node, timing->rate);
327 if (a->rate < b->rate)
330 if (a->rate > b->rate)
373 emc->timings[0].rate / 1000000,
374 emc->timings[emc->num_timings - 1].rate / 1000000);
445 static long emc_round_rate(unsigned long rate,
454 min_rate = min(min_rate, emc->timings[emc->num_timings - 1].rate);
457 if (emc->timings[i].rate < rate && i != emc->num_timings - 1)
460 if (emc->timings[i].rate > max_rate) {
463 if (emc->timings[i].rate < min_rate)
467 if (emc->timings[i].rate < min_rate)
475 dev_err(emc->dev, "no timing for rate %lu min %lu max %lu\n",
476 rate, min_rate, max_rate);
480 return timing->rate;
508 static bool tegra_emc_validate_rate(struct tegra_emc *emc, unsigned long rate)
513 if (rate == emc->timings[i].rate)
526 seq_printf(s, "%s%lu", prefix, emc->timings[i].rate);
549 static int tegra_emc_debug_min_rate_get(void *data, u64 *rate)
553 *rate = emc->debugfs.min_rate;
558 static int tegra_emc_debug_min_rate_set(void *data, u64 rate)
563 if (!tegra_emc_validate_rate(emc, rate))
566 err = clk_set_min_rate(emc->clk, rate);
570 emc->debugfs.min_rate = rate;
579 static int tegra_emc_debug_max_rate_get(void *data, u64 *rate)
583 *rate = emc->debugfs.max_rate;
588 static int tegra_emc_debug_max_rate_set(void *data, u64 rate)
593 if (!tegra_emc_validate_rate(emc, rate))
596 err = clk_set_max_rate(emc->clk, rate);
600 emc->debugfs.max_rate = rate;
619 if (emc->timings[i].rate < emc->debugfs.min_rate)
620 emc->debugfs.min_rate = emc->timings[i].rate;
622 if (emc->timings[i].rate > emc->debugfs.max_rate)
623 emc->debugfs.max_rate = emc->timings[i].rate;
634 dev_err(dev, "failed to set rate range [%lu-%lu] for %pC\n",