mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
gpu: nvgpu: Fix GM20b GPCPLL debugfs node
GM20B GPCPLL registers are accessed via sys address space with the exception of the last dvfs2 register that can be accessed only through bcast address. However, in debugfs loop dvfs2 sys address should be used as loop terminator; otherwise, loop body is never executed, and GPCPLL registers debugfs node is broken. Fixed it in this commit. Change-Id: Ifea839757fda7d97b2c9238178227ab198526ab0 Signed-off-by: Alex Frid <afrid@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1808784 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
9c60230b57
commit
a6108a4b0e
@@ -1655,7 +1655,8 @@ int gm20b_clk_get_pll_debug_data(struct gk20a *g,
|
||||
d->trim_sys_gpc2clk_out_reg = trim_sys_gpc2clk_out_r();
|
||||
d->trim_sys_gpc2clk_out_val = gk20a_readl(g, trim_sys_gpc2clk_out_r());
|
||||
d->trim_sys_gpcpll_cfg_reg = trim_sys_gpcpll_cfg_r();
|
||||
d->trim_sys_gpcpll_dvfs2_reg = trim_gpc_bcast_gpcpll_dvfs2_r();
|
||||
d->trim_sys_gpcpll_dvfs2_reg = trim_sys_gpcpll_dvfs2_r();
|
||||
d->trim_bcast_gpcpll_dvfs2_reg = trim_gpc_bcast_gpcpll_dvfs2_r();
|
||||
|
||||
reg = gk20a_readl(g, trim_sys_gpcpll_cfg_r());
|
||||
d->trim_sys_gpcpll_cfg_val = reg;
|
||||
|
||||
@@ -41,6 +41,7 @@ struct nvgpu_clk_pll_debug_data {
|
||||
|
||||
u32 trim_sys_gpcpll_cfg_reg;
|
||||
u32 trim_sys_gpcpll_dvfs2_reg;
|
||||
u32 trim_bcast_gpcpll_dvfs2_reg;
|
||||
|
||||
u32 trim_sys_gpcpll_cfg_val;
|
||||
bool trim_sys_gpcpll_cfg_enabled;
|
||||
|
||||
@@ -108,10 +108,14 @@ static int pll_reg_raw_show(struct seq_file *s, void *data)
|
||||
|
||||
seq_puts(s, "GPCPLL REGISTERS:\n");
|
||||
for (reg = d.trim_sys_gpcpll_cfg_reg;
|
||||
reg <= d.trim_sys_gpcpll_dvfs2_reg;
|
||||
reg < d.trim_sys_gpcpll_dvfs2_reg;
|
||||
reg += sizeof(u32))
|
||||
seq_printf(s, "[0x%02x] = 0x%08x\n", reg, gk20a_readl(g, reg));
|
||||
|
||||
reg = d.trim_bcast_gpcpll_dvfs2_reg;
|
||||
if (reg)
|
||||
seq_printf(s, "[0x%02x] = 0x%08x\n", reg, gk20a_readl(g, reg));
|
||||
|
||||
seq_puts(s, "\nGPC CLK OUT REGISTERS:\n");
|
||||
|
||||
seq_printf(s, "[0x%02x] = 0x%08x\n", d.trim_sys_sel_vco_reg,
|
||||
|
||||
Reference in New Issue
Block a user