[Nouveau] [RFC PATCH 21/29] clk: Save the max clock we can set
Karol Herbst
karolherbst at gmail.com
Fri Sep 15 17:11:21 UTC 2017
Saving the highest possible clock from the vpstate domain makes it easier
to read it out whenever we want.
Signed-off-by: Karol Herbst <karolherbst at gmail.com>
Reviewed-by: Martin Peres <martin.peres at free.fr>
---
drm/nouveau/include/nvkm/subdev/clk.h | 1 +
drm/nouveau/nvkm/subdev/clk/base.c | 2 ++
2 files changed, 3 insertions(+)
diff --git a/drm/nouveau/include/nvkm/subdev/clk.h b/drm/nouveau/include/nvkm/subdev/clk.h
index b79bf657..4c225dcb 100644
--- a/drm/nouveau/include/nvkm/subdev/clk.h
+++ b/drm/nouveau/include/nvkm/subdev/clk.h
@@ -115,6 +115,7 @@ struct nvkm_clk {
u8 boost_mode;
u32 base_khz;
u32 boost_khz;
+ u32 max_khz;
/*XXX: die, these are here *only* to support the completely
* bat-shit insane what-was-nouveau_hw.c code
diff --git a/drm/nouveau/nvkm/subdev/clk/base.c b/drm/nouveau/nvkm/subdev/clk/base.c
index a154a425..0fd92790 100644
--- a/drm/nouveau/nvkm/subdev/clk/base.c
+++ b/drm/nouveau/nvkm/subdev/clk/base.c
@@ -267,6 +267,8 @@ nvkm_cstate_new(struct nvkm_clk *clk, int idx, struct nvkm_pstate *pstate)
u32 freq = nvkm_clk_adjust(clk, true, pstate->pstate,
domain->bios, cstepX.freq);
cstate->domain[domain->name] = freq;
+ if (domain->flags & NVKM_CLK_DOM_FLAG_VPSTATE)
+ clk->max_khz = max(clk->max_khz, freq);
}
domain++;
}
--
2.14.1
More information about the Nouveau
mailing list