Commit 78c20186 authored by Ben Skeggs's avatar Ben Skeggs

drm/nouveau/pm: some more delays for ddr3 reclocking

These numbers from the binary driver's daemon scripts, and fix the transition
to perflvl 3 on my T510.
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 9d6ba0b5
...@@ -978,6 +978,8 @@ nouveau_mem_exec(struct nouveau_mem_exec_func *exec, ...@@ -978,6 +978,8 @@ nouveau_mem_exec(struct nouveau_mem_exec_func *exec,
break; break;
case NV_MEM_TYPE_DDR3: case NV_MEM_TYPE_DDR3:
tDLLK = 12000; tDLLK = 12000;
tCKSRE = 2000;
tXS = 1000;
mr1_dlloff = 0x00000001; mr1_dlloff = 0x00000001;
break; break;
case NV_MEM_TYPE_GDDR3: case NV_MEM_TYPE_GDDR3:
...@@ -1024,6 +1026,7 @@ nouveau_mem_exec(struct nouveau_mem_exec_func *exec, ...@@ -1024,6 +1026,7 @@ nouveau_mem_exec(struct nouveau_mem_exec_func *exec,
exec->refresh_self(exec, false); exec->refresh_self(exec, false);
exec->refresh_auto(exec, true); exec->refresh_auto(exec, true);
exec->wait(exec, tXS); exec->wait(exec, tXS);
exec->wait(exec, tXS);
/* update MRs */ /* update MRs */
if (mr[2] != info->mr[2]) { if (mr[2] != info->mr[2]) {
......
...@@ -344,6 +344,7 @@ mclk_refresh_self(struct nouveau_mem_exec_func *exec, bool enable) ...@@ -344,6 +344,7 @@ mclk_refresh_self(struct nouveau_mem_exec_func *exec, bool enable)
static void static void
mclk_wait(struct nouveau_mem_exec_func *exec, u32 nsec) mclk_wait(struct nouveau_mem_exec_func *exec, u32 nsec)
{ {
volatile u32 post = nv_rd32(exec->dev, 0); (void)post;
udelay((nsec + 500) / 1000); udelay((nsec + 500) / 1000);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment