Skip to content

Commit

Permalink
[Blackfin] arch: actually implement get_cycles function
Browse files Browse the repository at this point in the history
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
  • Loading branch information
Mike Frysinger authored and Bryan Wu committed Apr 23, 2008
1 parent 8cab028 commit 764cb81
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 9 deletions.
5 changes: 2 additions & 3 deletions arch/blackfin/kernel/time-ts.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#include <linux/profile.h>
#include <linux/interrupt.h>
#include <linux/time.h>
#include <linux/timex.h>
#include <linux/irq.h>
#include <linux/clocksource.h>
#include <linux/clockchips.h>
Expand All @@ -35,9 +36,7 @@ static inline unsigned long long cycles_2_ns(cycle_t cyc)

static cycle_t read_cycles(void)
{
unsigned long tmp, tmp2;
asm("%0 = cycles; %1 = cycles2;" : "=d"(tmp), "=d"(tmp2));
return tmp | ((cycle_t)tmp2 << 32);
return get_cycles();
}

unsigned long long sched_clock(void)
Expand Down
17 changes: 11 additions & 6 deletions include/asm-blackfin/timex.h
Original file line number Diff line number Diff line change
@@ -1,18 +1,23 @@
/* blackfin architecture timex specifications: Lineo Inc. 2001
/*
* asm-blackfin/timex.h: cpu cycles!
*
* Based on: include/asm-m68knommu/timex.h
* Copyright 2004-2008 Analog Devices Inc.
*
* Licensed under the GPL-2 or later.
*/

#ifndef _ASMBLACKFIN_TIMEX_H
#define _ASMBLACKFIN_TIMEX_H
#ifndef _ASM_BLACKFIN_TIMEX_H
#define _ASM_BLACKFIN_TIMEX_H

#define CLOCK_TICK_RATE 1000000 /* Underlying HZ */

typedef unsigned long cycles_t;
typedef unsigned long long cycles_t;

static inline cycles_t get_cycles(void)
{
return 0;
unsigned long tmp, tmp2;
__asm__("%0 = cycles; %1 = cycles2;" : "=d"(tmp), "=d"(tmp2));
return tmp | ((cycles_t)tmp2 << 32);
}

#endif

0 comments on commit 764cb81

Please sign in to comment.