Commit 942e8911 authored by Christophe Leroy's avatar Christophe Leroy Committed by Michael Ellerman
Browse files

powerpc/time: Avoid using get_tbl() and get_tbu() internally



get_tbl() is confusing as it returns the content of TBL register
on PPC32 but the concatenation of TBL and TBU on PPC64.

Use mftb() instead.

Do the same with get_tbu() for consistency allthough it's name
is less confusing.

Signed-off-by: default avatarChristophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/41573406a4eab98838decaa91649086fef1e6119.1601556145.git.christophe.leroy@csgroup.eu
parent ff125fbc
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@ extern void udelay(unsigned long usecs);
({                                                                             \
	typeof(condition) __ret;                                               \
	unsigned long __loops = tb_ticks_per_usec * timeout;                   \
	unsigned long __start = get_tbl();                                     \
	unsigned long __start = mftb();                                     \
                                                                               \
	if (delay) {                                                           \
		while (!(__ret = (condition)) &&                               \
+4 −4
Original line number Diff line number Diff line
@@ -76,9 +76,9 @@ static inline u64 get_tb(void)
	unsigned int tbhi, tblo, tbhi2;

	do {
		tbhi = get_tbu();
		tblo = get_tbl();
		tbhi2 = get_tbu();
		tbhi = mftbu();
		tblo = mftb();
		tbhi2 = mftbu();
	} while (tbhi != tbhi2);

	return ((u64)tbhi << 32) | tblo;
@@ -123,7 +123,7 @@ static inline void set_dec(u64 val)

static inline unsigned long tb_ticks_since(unsigned long tstamp)
{
	return get_tbl() - tstamp;
	return mftb() - tstamp;
}

#define mulhwu(x,y) \
+2 −2
Original line number Diff line number Diff line
@@ -448,8 +448,8 @@ void __delay(unsigned long loops)
		 */
		spin_cpu_relax();
	} else {
		start = get_tbl();
		while (get_tbl() - start < loops)
		start = mftb();
		while (mftb() - start < loops)
			spin_cpu_relax();
	}
	spin_end();