xtensa: consolidate ccount access routines
Use get_ccount everywhere; remove xtensa_get_ccount. Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Chris Zankel <chris@zankel.net>
This commit is contained in:
parent
e504c4b607
commit
8102f47ab5
2 changed files with 4 additions and 12 deletions
|
@ -12,7 +12,7 @@
|
||||||
#ifndef _XTENSA_DELAY_H
|
#ifndef _XTENSA_DELAY_H
|
||||||
#define _XTENSA_DELAY_H
|
#define _XTENSA_DELAY_H
|
||||||
|
|
||||||
#include <asm/processor.h>
|
#include <asm/timex.h>
|
||||||
#include <asm/param.h>
|
#include <asm/param.h>
|
||||||
|
|
||||||
extern unsigned long loops_per_jiffy;
|
extern unsigned long loops_per_jiffy;
|
||||||
|
@ -24,24 +24,17 @@ static inline void __delay(unsigned long loops)
|
||||||
: "=r" (loops) : "0" (loops));
|
: "=r" (loops) : "0" (loops));
|
||||||
}
|
}
|
||||||
|
|
||||||
static __inline__ u32 xtensa_get_ccount(void)
|
|
||||||
{
|
|
||||||
u32 ccount;
|
|
||||||
asm volatile ("rsr %0, ccount\n" : "=r" (ccount));
|
|
||||||
return ccount;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* For SMP/NUMA systems, change boot_cpu_data to something like
|
/* For SMP/NUMA systems, change boot_cpu_data to something like
|
||||||
* local_cpu_data->... where local_cpu_data points to the current
|
* local_cpu_data->... where local_cpu_data points to the current
|
||||||
* cpu. */
|
* cpu. */
|
||||||
|
|
||||||
static __inline__ void udelay (unsigned long usecs)
|
static __inline__ void udelay (unsigned long usecs)
|
||||||
{
|
{
|
||||||
unsigned long start = xtensa_get_ccount();
|
unsigned long start = get_ccount();
|
||||||
unsigned long cycles = usecs * (loops_per_jiffy / (1000000UL / HZ));
|
unsigned long cycles = usecs * (loops_per_jiffy / (1000000UL / HZ));
|
||||||
|
|
||||||
/* Note: all variables are unsigned (can wrap around)! */
|
/* Note: all variables are unsigned (can wrap around)! */
|
||||||
while (((unsigned long)xtensa_get_ccount()) - start < cycles)
|
while (((unsigned long)get_ccount()) - start < cycles)
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
#include <asm/delay.h>
|
|
||||||
#include <asm/timex.h>
|
#include <asm/timex.h>
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <variant/hardware.h>
|
#include <variant/hardware.h>
|
||||||
|
@ -17,7 +16,7 @@ void platform_calibrate_ccount(void)
|
||||||
"1: l32i %0, %2, 0 ;"
|
"1: l32i %0, %2, 0 ;"
|
||||||
" beq %0, %1, 1b ;"
|
" beq %0, %1, 1b ;"
|
||||||
: "=&a"(u) : "a"(t), "a"(tstamp));
|
: "=&a"(u) : "a"(t), "a"(tstamp));
|
||||||
b = xtensa_get_ccount();
|
b = get_ccount();
|
||||||
if (i == LOOPS)
|
if (i == LOOPS)
|
||||||
a = b;
|
a = b;
|
||||||
} while (--i >= 0);
|
} while (--i >= 0);
|
||||||
|
|
Loading…
Add table
Reference in a new issue