Lines Matching refs:tegra
40 struct tegra_devfreq *tegra = dev_get_drvdata(dev); in tegra_devfreq_target() local
41 struct devfreq *devfreq = tegra->devfreq; in tegra_devfreq_target()
53 err = clk_set_min_rate(tegra->emc_clock, rate); in tegra_devfreq_target()
57 err = clk_set_rate(tegra->emc_clock, 0); in tegra_devfreq_target()
64 clk_set_min_rate(tegra->emc_clock, devfreq->previous_freq); in tegra_devfreq_target()
72 struct tegra_devfreq *tegra = dev_get_drvdata(dev); in tegra_devfreq_get_dev_status() local
84 stat->busy_time = readl_relaxed(tegra->regs + MC_STAT_EMC_COUNT); in tegra_devfreq_get_dev_status()
85 stat->total_time = readl_relaxed(tegra->regs + MC_STAT_EMC_CLOCKS) / 8; in tegra_devfreq_get_dev_status()
86 stat->current_frequency = clk_get_rate(tegra->emc_clock); in tegra_devfreq_get_dev_status()
88 writel_relaxed(EMC_GATHER_CLEAR, tegra->regs + MC_STAT_CONTROL); in tegra_devfreq_get_dev_status()
89 writel_relaxed(EMC_GATHER_ENABLE, tegra->regs + MC_STAT_CONTROL); in tegra_devfreq_get_dev_status()
124 struct tegra_devfreq *tegra; in tegra_devfreq_probe() local
138 tegra = devm_kzalloc(&pdev->dev, sizeof(*tegra), GFP_KERNEL); in tegra_devfreq_probe()
139 if (!tegra) in tegra_devfreq_probe()
143 tegra->emc_clock = devm_clk_get(&pdev->dev, "emc"); in tegra_devfreq_probe()
144 if (IS_ERR(tegra->emc_clock)) { in tegra_devfreq_probe()
145 err = PTR_ERR(tegra->emc_clock); in tegra_devfreq_probe()
150 tegra->regs = mc->regs; in tegra_devfreq_probe()
152 max_rate = clk_round_rate(tegra->emc_clock, ULONG_MAX); in tegra_devfreq_probe()
155 rate = clk_round_rate(tegra->emc_clock, rate); in tegra_devfreq_probe()
169 writel_relaxed(0x00000000, tegra->regs + MC_STAT_CONTROL); in tegra_devfreq_probe()
170 writel_relaxed(0x00000000, tegra->regs + MC_STAT_EMC_CONTROL); in tegra_devfreq_probe()
171 writel_relaxed(0xffffffff, tegra->regs + MC_STAT_EMC_CLOCK_LIMIT); in tegra_devfreq_probe()
173 platform_set_drvdata(pdev, tegra); in tegra_devfreq_probe()
175 tegra->devfreq = devfreq_add_device(&pdev->dev, &tegra_devfreq_profile, in tegra_devfreq_probe()
177 if (IS_ERR(tegra->devfreq)) { in tegra_devfreq_probe()
178 err = PTR_ERR(tegra->devfreq); in tegra_devfreq_probe()
192 struct tegra_devfreq *tegra = platform_get_drvdata(pdev); in tegra_devfreq_remove() local
194 devfreq_remove_device(tegra->devfreq); in tegra_devfreq_remove()