From 2821eb31e2363bcaf81266b52967c15827ecee04 Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Thu, 2 Feb 2017 10:43:56 -0800 Subject: gpu: nvgpu: Rename clk->get_rate to measure_freq get_rate is already used for call-back that queries the last set clock rate. This instance of get_rate actually measures the frequency so renaming it to measure_freq. At the same time modify to use hertz instead of megahertz. We use fractional megahertz already in GPU. Change-Id: I387473d6a6cbf3bb9b9e5a909677a1a725403c32 Signed-off-by: Terje Bergstrom Reviewed-on: http://git-master/r/1300111 Reviewed-by: Alex Waterman --- drivers/gpu/nvgpu/clk/clk_arb.c | 6 ++++-- drivers/gpu/nvgpu/gk20a/gk20a.h | 2 +- drivers/gpu/nvgpu/gp106/clk_gp106.c | 9 ++++----- 3 files changed, 9 insertions(+), 8 deletions(-) (limited to 'drivers/gpu') diff --git a/drivers/gpu/nvgpu/clk/clk_arb.c b/drivers/gpu/nvgpu/clk/clk_arb.c index 3bf64d0b..44b442d8 100644 --- a/drivers/gpu/nvgpu/clk/clk_arb.c +++ b/drivers/gpu/nvgpu/clk/clk_arb.c @@ -1708,11 +1708,13 @@ int nvgpu_clk_arb_get_arbiter_effective_mhz(struct gk20a *g, { switch(api_domain) { case NVGPU_GPU_CLK_DOMAIN_MCLK: - *freq_mhz = g->ops.clk.get_rate(g, CTRL_CLK_DOMAIN_MCLK); + *freq_mhz = g->ops.clk.measure_freq(g, CTRL_CLK_DOMAIN_MCLK) / + 1000000ULL; return 0; case NVGPU_GPU_CLK_DOMAIN_GPCCLK: - *freq_mhz = g->ops.clk.get_rate(g, CTRL_CLK_DOMAIN_GPC2CLK) / 2; + *freq_mhz = g->ops.clk.measure_freq(g, CTRL_CLK_DOMAIN_GPC2CLK) / + 2000000ULL; return 0; default: diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 092bf7ae..5a4eaf39 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h @@ -690,7 +690,7 @@ struct gpu_ops { int (*init_clk_support)(struct gk20a *g); int (*suspend_clk_support)(struct gk20a *g); u32 (*get_crystal_clk_hz)(struct gk20a *g); - u16 (*get_rate)(struct gk20a *g, u32 api_domain); + unsigned long (*measure_freq)(struct gk20a *g, u32 api_domain); } clk; struct { u32 (*get_arbiter_clk_domains)(struct gk20a *g); diff --git a/drivers/gpu/nvgpu/gp106/clk_gp106.c b/drivers/gpu/nvgpu/gp106/clk_gp106.c index 3b9c444d..6bc4f3b0 100644 --- a/drivers/gpu/nvgpu/gp106/clk_gp106.c +++ b/drivers/gpu/nvgpu/gp106/clk_gp106.c @@ -43,13 +43,12 @@ static int clk_gp106_debugfs_init(struct gk20a *g); static u32 gp106_get_rate_cntr(struct gk20a *g, struct namemap_cfg *); -static u16 gp106_clk_get_rate(struct gk20a *g, u32 api_domain); static u32 gp106_crystal_clk_hz(struct gk20a *g) { return (XTAL4X_KHZ * 1000); } -static u16 gp106_clk_get_rate(struct gk20a *g, u32 api_domain) +static unsigned long gp106_clk_measure_freq(struct gk20a *g, u32 api_domain) { struct clk_gk20a *clk = &g->clk; u32 freq_khz; @@ -69,8 +68,8 @@ static u16 gp106_clk_get_rate(struct gk20a *g, u32 api_domain) freq_khz = c->is_counter ? c->scale * gp106_get_rate_cntr(g, c) : 0; /* TODO: PLL read */ - /* Convert to MHZ */ - return (u16) (freq_khz/1000); + /* Convert to HZ */ + return freq_khz * 1000UL; } static int gp106_init_clk_support(struct gk20a *g) { @@ -270,5 +269,5 @@ err_out: void gp106_init_clk_ops(struct gpu_ops *gops) { gops->clk.init_clk_support = gp106_init_clk_support; gops->clk.get_crystal_clk_hz = gp106_crystal_clk_hz; - gops->clk.get_rate = gp106_clk_get_rate; + gops->clk.measure_freq = gp106_clk_measure_freq; } -- cgit v1.2.2