diff options
Diffstat (limited to 'arch/s390/include/asm/timex.h')
| -rw-r--r-- | arch/s390/include/asm/timex.h | 17 | 
1 files changed, 5 insertions, 12 deletions
diff --git a/arch/s390/include/asm/timex.h b/arch/s390/include/asm/timex.h index c447a27a7fd..239ece9e53c 100644 --- a/arch/s390/include/asm/timex.h +++ b/arch/s390/include/asm/timex.h @@ -73,11 +73,15 @@ static inline void local_tick_enable(unsigned long long comp)  typedef unsigned long long cycles_t; -static inline unsigned long long get_clock (void) +static inline unsigned long long get_clock(void)  {  	unsigned long long clk; +#ifdef CONFIG_HAVE_MARCH_Z9_109_FEATURES +	asm volatile(".insn s,0xb27c0000,%0" : "=Q" (clk) : : "cc"); +#else  	asm volatile("stck %0" : "=Q" (clk) : : "cc"); +#endif  	return clk;  } @@ -86,17 +90,6 @@ static inline void get_clock_ext(char *clk)  	asm volatile("stcke %0" : "=Q" (*clk) : : "cc");  } -static inline unsigned long long get_clock_fast(void) -{ -	unsigned long long clk; - -	if (MACHINE_HAS_STCKF) -		asm volatile(".insn	s,0xb27c0000,%0" : "=Q" (clk) : : "cc"); -	else -		clk = get_clock(); -	return clk; -} -  static inline unsigned long long get_clock_xt(void)  {  	unsigned char clk[16];  |