public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Alexandre Courbot <acourbot@nvidia.com>
To: Ben Skeggs <bskeggs@redhat.com>
Cc: Thierry Reding <thierry.reding@gmail.com>,
	<nouveau@lists.freedesktop.org>,
	<dri-devel@lists.freedesktop.org>, <linux-tegra@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <gnurou@gmail.com>,
	Alexandre Courbot <acourbot@nvidia.com>
Subject: [PATCH 02/12] drm/nouveau/timer: skip calibration on GK20A
Date: Mon, 24 Mar 2014 17:42:24 +0900	[thread overview]
Message-ID: <1395650554-31925-3-git-send-email-acourbot@nvidia.com> (raw)
In-Reply-To: <1395650554-31925-1-git-send-email-acourbot@nvidia.com>

GK20A's timer is directly attached to the system timer and cannot be
calibrated. Skip the calibration phase on that chip since the
corresponding registers do not exist.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
---
 drivers/gpu/drm/nouveau/core/subdev/timer/nv04.c | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/core/subdev/timer/nv04.c b/drivers/gpu/drm/nouveau/core/subdev/timer/nv04.c
index c0bdd10358d7..822fe0d8a871 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/timer/nv04.c
+++ b/drivers/gpu/drm/nouveau/core/subdev/timer/nv04.c
@@ -185,6 +185,10 @@ nv04_timer_init(struct nouveau_object *object)
 	if (ret)
 		return ret;
 
+	/* gk20a does not have the calibration registers */
+	if (device->chipset == 0xea)
+		goto skip_clk_init;
+
 	/* aim for 31.25MHz, which gives us nanosecond timestamps */
 	d = 1000000 / 32;
 
@@ -235,20 +239,23 @@ nv04_timer_init(struct nouveau_object *object)
 		d >>= 1;
 	}
 
-	/* restore the time before suspend */
-	lo = priv->suspend_time;
-	hi = (priv->suspend_time >> 32);
-
 	nv_debug(priv, "input frequency : %dHz\n", f);
 	nv_debug(priv, "input multiplier: %d\n", m);
 	nv_debug(priv, "numerator       : 0x%08x\n", n);
 	nv_debug(priv, "denominator     : 0x%08x\n", d);
 	nv_debug(priv, "timer frequency : %dHz\n", (f * m) * d / n);
-	nv_debug(priv, "time low        : 0x%08x\n", lo);
-	nv_debug(priv, "time high       : 0x%08x\n", hi);
 
 	nv_wr32(priv, NV04_PTIMER_NUMERATOR, n);
 	nv_wr32(priv, NV04_PTIMER_DENOMINATOR, d);
+
+skip_clk_init:
+	/* restore the time before suspend */
+	lo = priv->suspend_time;
+	hi = (priv->suspend_time >> 32);
+
+	nv_debug(priv, "time low        : 0x%08x\n", lo);
+	nv_debug(priv, "time high       : 0x%08x\n", hi);
+
 	nv_wr32(priv, NV04_PTIMER_INTR_0, 0xffffffff);
 	nv_wr32(priv, NV04_PTIMER_INTR_EN_0, 0x00000000);
 	nv_wr32(priv, NV04_PTIMER_TIME_1, hi);
-- 
1.9.1


  parent reply	other threads:[~2014-03-24  8:51 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-24  8:42 [PATCH 00/12] drm/nouveau: support for GK20A, cont'd Alexandre Courbot
2014-03-24  8:42 ` [PATCH 01/12] drm/nouveau: fix missing newline Alexandre Courbot
2014-03-24 21:49   ` Thierry Reding
2014-03-24  8:42 ` Alexandre Courbot [this message]
2014-03-24 21:54   ` [PATCH 02/12] drm/nouveau/timer: skip calibration on GK20A Thierry Reding
2014-03-26  4:19     ` Ben Skeggs
2014-04-11  2:46       ` Alexandre Courbot
2014-04-11  7:31         ` Ben Skeggs
2014-04-11  7:34           ` Alexandre Courbot
2014-04-14  8:35             ` Ben Skeggs
2014-04-15  6:10               ` Alexandre Courbot
2014-03-24  8:42 ` [PATCH 03/12] drm/nouveau/bar: only ioremap BAR3 if it exists Alexandre Courbot
2014-03-24 22:13   ` Thierry Reding
2014-03-26  4:20     ` [Nouveau] " Ben Skeggs
2014-03-24  8:42 ` [PATCH 04/12] drm/nouveau/bar/nvc0: support chips without BAR3 Alexandre Courbot
2014-03-24 22:10   ` Thierry Reding
2014-04-02 13:47     ` Alexandre Courbot
2014-03-24  8:42 ` [PATCH 05/12] drm/nouveau/fifo: add GK20A support Alexandre Courbot
2014-03-24 22:14   ` Thierry Reding
2014-03-24  8:42 ` [PATCH 06/12] drm/nouveau/ibus: " Alexandre Courbot
2014-03-24 22:34   ` Thierry Reding
2014-04-02 13:52     ` Alexandre Courbot
2014-04-02 14:18       ` [Nouveau] " Ilia Mirkin
2014-04-02 14:22         ` Alexandre Courbot
2014-03-24  8:42 ` [PATCH 07/12] drm/nouveau/fb: " Alexandre Courbot
2014-03-24  8:42 ` [PATCH 08/12] drm/nouveau/graph: enable when using external firmware Alexandre Courbot
2014-03-24 22:58   ` Thierry Reding
2014-03-26  4:21     ` Ben Skeggs
2014-04-02 13:53       ` Alexandre Courbot
2014-03-24  8:42 ` [PATCH 09/12] drm/nouveau/graph: pad firmware code at load time Alexandre Courbot
2014-03-24 23:02   ` Thierry Reding
2014-03-26  4:22   ` [Nouveau] " Ben Skeggs
2014-04-02 13:54     ` Alexandre Courbot
2014-03-24  8:42 ` [PATCH 10/12] drm/nouveau/graph: add GK20A support Alexandre Courbot
2014-03-26  4:24   ` Ben Skeggs
2014-04-02 14:03     ` Alexandre Courbot
2014-04-02 23:11       ` Ben Skeggs
2014-03-24  8:42 ` [PATCH 11/12] drm/nouveau: support GK20A in nouveau_accel_init() Alexandre Courbot
2014-03-24 23:10   ` Thierry Reding
2014-03-26  4:27     ` Ben Skeggs
2014-04-02 14:14       ` Alexandre Courbot
2014-04-02 14:23         ` [Nouveau] " Ilia Mirkin
2014-04-02 23:14           ` Ben Skeggs
2014-04-16  5:57       ` Alexandre Courbot
2014-03-24  8:42 ` [PATCH 12/12] drm/nouveau: support for probing GK20A Alexandre Courbot
2014-03-24 23:11   ` Thierry Reding
2014-03-26  4:28   ` [Nouveau] " Ben Skeggs
2014-04-02 14:19     ` Alexandre Courbot
2014-03-24 13:19 ` [PATCH 00/12] drm/nouveau: support for GK20A, cont'd Lucas Stach
2014-03-26  6:33   ` Alexandre Courbot
2014-03-26 10:33     ` Lucas Stach
2014-03-27  3:50       ` Alexandre Courbot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1395650554-31925-3-git-send-email-acourbot@nvidia.com \
    --to=acourbot@nvidia.com \
    --cc=bskeggs@redhat.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gnurou@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=nouveau@lists.freedesktop.org \
    --cc=thierry.reding@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox