This series adds support for GM20B PLL's Maxwell features, namely glitchless switch and (more importantly) DFS support. DFS lets the PLL lower its output speed according to input current variations, making the clock more stable and allowing it to run safely at lower voltage.
All GM20B additions are done in the last patch, which consequently ends up being considerably big ; fortunately, it only consists of code additions thanks to the big refactoring work done by the first 14 patches. This refactoring makes GK20A's clock code much simpler to read and understand, and flexible enough to be reused by GM20B's when relevant. Note that the sliding and MNP programming had to be re-implemented due to the differences introduced by DFS - trying to factor them out with more abstractions resulted in rather ugly code IMHO. The first few patches also improve GK20A's volt driver a bit, mainly in order to support a minimum voltage that GM20B requires. Alexandre Courbot (15): tegra: fetch gpu_speedo_id volt/gk20a: make unused public functions static volt/gk20a: constify and name v_scale volt/gk20a: rename constructor volt/gm20b: add support for vmin parameter clk/gk20a: properly protect macro argument clk/gk20a: setup slide once during init clk/gk20a: reorganize MNP calculation a bit clk/gk20a: use nvkm_ functions in slide() clk/gk20a: add and use MNP programming functions clk/gk20a: parameterize PLL settings clk/gk20a: factorize n_lo computation code clk/gk20a: improve MNP programming clk/gk20a: rename constructor clk/gm20b: add glitchless and DFS support drm/nouveau/include/nvkm/core/tegra.h | 1 + drm/nouveau/nvkm/engine/device/tegra.c | 1 + drm/nouveau/nvkm/subdev/clk/gk20a.c | 394 +++++++-------- drm/nouveau/nvkm/subdev/clk/gk20a.h | 96 +++- drm/nouveau/nvkm/subdev/clk/gm20b.c | 894 ++++++++++++++++++++++++++++++++- drm/nouveau/nvkm/subdev/volt/gk20a.c | 27 +- drm/nouveau/nvkm/subdev/volt/gk20a.h | 11 +- drm/nouveau/nvkm/subdev/volt/gm20b.c | 40 +- lib/include/nvif/os.h | 1 + 9 files changed, 1216 insertions(+), 249 deletions(-) -- 2.8.3 _______________________________________________ Nouveau mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/nouveau
