mirror of https://gitee.com/openkylin/linux.git
drm/nouveau/clk/gf100-: Clean up PLL locking test
Corresponds with GT215. Don't rely on the lock test logic being unconditionally enabled, and disable test logic when done (presumably to save power). v2: Remove warning, nvkm_msec already warns on time-out Signed-off-by: Roy Spliet <nouveau@spliet.org> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
20560a9a3c
commit
0f7fbb990c
|
@ -366,11 +366,17 @@ gf100_clk_prog_2(struct gf100_clk *clk, int idx)
|
|||
if (info->coef) {
|
||||
nvkm_wr32(device, addr + 0x04, info->coef);
|
||||
nvkm_mask(device, addr + 0x00, 0x00000001, 0x00000001);
|
||||
|
||||
/* Test PLL lock */
|
||||
nvkm_mask(device, addr + 0x00, 0x00000010, 0x00000000);
|
||||
nvkm_msec(device, 2000,
|
||||
if (nvkm_rd32(device, addr + 0x00) & 0x00020000)
|
||||
break;
|
||||
);
|
||||
nvkm_mask(device, addr + 0x00, 0x00020004, 0x00000004);
|
||||
nvkm_mask(device, addr + 0x00, 0x00000010, 0x00000010);
|
||||
|
||||
/* Enable sync mode */
|
||||
nvkm_mask(device, addr + 0x00, 0x00000004, 0x00000004);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -393,11 +393,17 @@ gk104_clk_prog_2(struct gk104_clk *clk, int idx)
|
|||
if (info->coef) {
|
||||
nvkm_wr32(device, addr + 0x04, info->coef);
|
||||
nvkm_mask(device, addr + 0x00, 0x00000001, 0x00000001);
|
||||
|
||||
/* Test PLL lock */
|
||||
nvkm_mask(device, addr + 0x00, 0x00000010, 0x00000000);
|
||||
nvkm_msec(device, 2000,
|
||||
if (nvkm_rd32(device, addr + 0x00) & 0x00020000)
|
||||
break;
|
||||
);
|
||||
nvkm_mask(device, addr + 0x00, 0x00020004, 0x00000004);
|
||||
nvkm_mask(device, addr + 0x00, 0x00000010, 0x00000010);
|
||||
|
||||
/* Enable sync mode */
|
||||
nvkm_mask(device, addr + 0x00, 0x00000004, 0x00000004);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue