Received: from milmhbs1.lsil.com (147.145.21.209) by coscas01.lsi.com
 (172.21.36.60) with Microsoft SMTP Server id 8.1.393.1; Wed, 23 Dec 2009
 14:20:29 -0700
Received: from mail2.lsil.com (mail2.lsil.com [147.145.40.22])	by
 milmhbs1.lsil.com (8.12.11/8.12.11) with ESMTP id nBNLKNlR031322	for
 <andy.sharp@lsi.com>; Wed, 23 Dec 2009 13:20:25 -0800
Received: from psmtp.com (na3sys009amx242.postini.com [74.125.149.126])	by
 mail2.lsil.com (8.12.11/8.12.11) with SMTP id nBNLFxAS010874	for
 <andy.sharp@lsi.com>; Wed, 23 Dec 2009 13:16:01 -0800 (PST)
Received: from source ([78.24.191.182]) by na3sys009amx242.postini.com
 ([74.125.148.14]) with SMTP;	Wed, 23 Dec 2009 21:20:21 GMT
Received: from localhost.localdomain ([127.0.0.1]:36555 "EHLO
        eddie.linux-mips.org" rhost-flags-OK-OK-OK-FAIL)        by
 eddie.linux-mips.org with ESMTP id S1493135AbZLWVUE (ORCPT
        <rfc822;andy.sharp@lsi.com>); Wed, 23 Dec 2009 22:20:04 +0100
Received: with ECARTIS (v1.0.0; list linux-mips); Wed, 23 Dec 2009 22:19:46
 +0100 (CET)
Received: from mail3.caviumnetworks.com ([12.108.191.235]:4184 "EHLO
        mail3.caviumnetworks.com" rhost-flags-OK-OK-OK-OK)        by
 eddie.linux-mips.org with ESMTP id S1493125AbZLWVTm (ORCPT
        <rfc822;linux-mips@linux-mips.org>); Wed, 23 Dec 2009 22:19:42 +0100
Received: from caexch01.caveonetworks.com (Not Verified[192.168.16.9]) by
 mail3.caviumnetworks.com with MailMarshal (v6,5,4,7535)        id
 <B4b3289620000>; Wed, 23 Dec 2009 13:19:30 -0800
Received: from caexch01.caveonetworks.com ([192.168.16.9]) by
 caexch01.caveonetworks.com with Microsoft SMTPSVC(6.0.3790.3959);
         Wed, 23 Dec 2009 13:19:01 -0800
Received: from dd1.caveonetworks.com ([12.108.191.236]) by
 caexch01.caveonetworks.com over TLS secured channel with Microsoft
 SMTPSVC(6.0.3790.3959);         Wed, 23 Dec 2009 13:19:00 -0800
Received: from dd1.caveonetworks.com (localhost.localdomain [127.0.0.1])
        by dd1.caveonetworks.com (8.14.2/8.14.2) with ESMTP id nBNLIuvv027336;
        Wed, 23 Dec 2009 13:18:56 -0800
Received: (from ddaney@localhost)        by dd1.caveonetworks.com
 (8.14.2/8.14.2/Submit) id nBNLIsCW027334;        Wed, 23 Dec 2009 13:18:54
 -0800
From: David Daney <ddaney@caviumnetworks.com>
To: "linux-mips@linux-mips.org" <linux-mips@linux-mips.org>,
	"ralf@linux-mips.org" <ralf@linux-mips.org>
CC: David Daney <ddaney@caviumnetworks.com>
Sender: "linux-mips-bounce@linux-mips.org" <linux-mips-bounce@linux-mips.org>
Date: Wed, 23 Dec 2009 14:18:54 -0700
Subject: [PATCH] MIPS: Add sched_clock() to csrc-octeon.c
Thread-Topic: [PATCH] MIPS: Add sched_clock() to csrc-octeon.c
Thread-Index: AcqEFcEAMBH6F1VsTzGP97SxN5bOjA==
Message-ID: <1261603134-27310-1-git-send-email-ddaney@caviumnetworks.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Exchange-Organization-AuthAs: Anonymous
X-MS-Exchange-Organization-AuthSource: coscas01.lsi.com
X-MS-Has-Attach:
X-Auto-Response-Suppress: All
X-MS-TNEF-Correlator:
x-scanned-by: MIMEDefang 2.39
errors-to: linux-mips-bounce@linux-mips.org
x-originalarrivaltime: 23 Dec 2009 21:19:01.0003 (UTC)
 FILETIME=[8BEA05B0:01CA8415]
x-pstn-levels: (S:94.60857/99.90000 CV:99.9000 FC:95.5390 LC:95.5390
 R:95.9108 P:95.9108 M:97.0282 C:98.6951 )
x-pstn-settings: 3 (1.0000:1.0000) s cv gt3 gt2 gt1 r p m c 
x-pstn-addresses: from <ddaney@caviumnetworks.com> [22/1] 
x-pstn-neptune: 0/0/0.00/0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0

With the advent of function graph tracing on MIPS, Octeon needs a high
precision sched_clock() implementation.  Without it, most timing
numbers are reported as 0.000.

This new sched_clock just uses the 64-bit cycle counter appropriately
scaled.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
---
 arch/mips/cavium-octeon/csrc-octeon.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/arch/mips/cavium-octeon/csrc-octeon.c b/arch/mips/cavium-octeo=
n/csrc-octeon.c
index 96110f2..96df821 100644
--- a/arch/mips/cavium-octeon/csrc-octeon.c
+++ b/arch/mips/cavium-octeon/csrc-octeon.c
@@ -50,6 +50,13 @@ static struct clocksource clocksource_mips =3D {
 	.flags		=3D CLOCK_SOURCE_IS_CONTINUOUS,
 };
=20
+unsigned long long notrace sched_clock(void)
+{
+	return clocksource_cyc2ns(read_c0_cvmcount(),
+				  clocksource_mips.mult,
+				  clocksource_mips.shift);
+}
+
 void __init plat_time_init(void)
 {
 	clocksource_mips.rating =3D 300;
--=20
1.6.0.6


