All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] nv50: improve nv50_pm_clock_get()
@ 2011-03-18  1:15 Emil Velikov
       [not found] ` <1300410948-12022-1-git-send-email-emil.l.velikov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 6+ messages in thread
From: Emil Velikov @ 2011-03-18  1:15 UTC (permalink / raw)
  To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

On some cards the memory and/or shader pll can be switched off/disabled
Check and return the linked/standart clock

Signed-off-by: Emil Velikov <emil.l.velikov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 drivers/gpu/drm/nouveau/nv50_pm.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nv50_pm.c b/drivers/gpu/drm/nouveau/nv50_pm.c
index 7dbb305..c01a64f 100644
--- a/drivers/gpu/drm/nouveau/nv50_pm.c
+++ b/drivers/gpu/drm/nouveau/nv50_pm.c
@@ -47,6 +47,19 @@ nv50_pm_clock_get(struct drm_device *dev, u32 id)
 
 	reg0 = nv_rd32(dev, pll.reg + 0);
 	reg1 = nv_rd32(dev, pll.reg + 4);
+
+	if ((reg0 & 0x80000000) == 0) {
+		if (id == PLL_SHADER) {
+			NV_INFO(dev, "Shader PLL appears to be OFF\n");
+			ret = nv50_pm_clock_get(dev, PLL_CORE);
+			if (ret > 0)
+				return ret*2;
+		} else if (id == PLL_MEMORY) {
+			NV_INFO(dev, "Memory PLL appears to be OFF\n");
+			return 100*1000;
+		}
+	}
+
 	P = (reg0 & 0x00070000) >> 16;
 	N = (reg1 & 0x0000ff00) >> 8;
 	M = (reg1 & 0x000000ff);
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-04-11 19:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-18  1:15 [PATCH 1/1] nv50: improve nv50_pm_clock_get() Emil Velikov
     [not found] ` <1300410948-12022-1-git-send-email-emil.l.velikov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-03-18 12:04   ` Ben Skeggs
2011-03-18 19:57     ` [PATCH 1/1] nv50: improve nv50_pm_clock_get () Emil Velikov
2011-03-19  1:38       ` Ben Skeggs
2011-03-20 22:49         ` Emil Velikov
2011-04-11 19:43           ` [PATCH] nv50: improve nv50_pm_get_clock() Emil Velikov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.