2007-05-21 19:23:36

by Chris Wright

[permalink] [raw]
Subject: [patch 08/69] iop: fix iop_getttimeoffset

-stable review patch. If anyone has any objections, please let us know.
---------------------

From: Dan Williams <[email protected]>

Fix a typo which causes a necessary cpwait to be missed on iop3xx, Michael
Brunner <[email protected]>

Save a register in the assembly routine, rmk

Cc: Lennert Buytenhek <[email protected]>
Cc: Russell King <[email protected]>
Signed-off-by: Dan Williams <[email protected]>
Signed-off-by: Chris Wright <[email protected]>
---

arch/arm/plat-iop/time.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

--- linux-2.6.21.1.orig/arch/arm/plat-iop/time.c
+++ linux-2.6.21.1/arch/arm/plat-iop/time.c
@@ -32,22 +32,22 @@ static unsigned long next_jiffy_time;

unsigned long iop_gettimeoffset(void)
{
- unsigned long offset, temp1, temp2;
+ unsigned long offset, temp;

/* enable cp6, if necessary, to avoid taking the overhead of an
* undefined instruction trap
*/
asm volatile (
"mrc p15, 0, %0, c15, c1, 0\n\t"
- "ands %1, %0, #(1 << 6)\n\t"
+ "tst %0, #(1 << 6)\n\t"
"orreq %0, %0, #(1 << 6)\n\t"
"mcreq p15, 0, %0, c15, c1, 0\n\t"
-#ifdef CONFIG_XSCALE
+#ifdef CONFIG_CPU_XSCALE
"mrceq p15, 0, %0, c15, c1, 0\n\t"
"moveq %0, %0\n\t"
"subeq pc, pc, #4\n\t"
#endif
- : "=r"(temp1), "=r"(temp2) : : "cc");
+ : "=r"(temp) : : "cc");

offset = next_jiffy_time - read_tcr1();


--