Commit 8903fcce authored by Dan Williams's avatar Dan Williams Committed by Russell King

[ARM] 4340/1: iop: fix iop_getttimeoffset

Fix a typo which causes a necessary cpwait to be missed on iop3xx, Michael
Brunner <mibru@gmx.de>

Save a register in the assembly routine, rmk

Cc: Lennert Buytenhek <kernel@wantstofly.org>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 235b185c
...@@ -32,22 +32,22 @@ static unsigned long next_jiffy_time; ...@@ -32,22 +32,22 @@ static unsigned long next_jiffy_time;
unsigned long iop_gettimeoffset(void) 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 /* enable cp6, if necessary, to avoid taking the overhead of an
* undefined instruction trap * undefined instruction trap
*/ */
asm volatile ( asm volatile (
"mrc p15, 0, %0, c15, c1, 0\n\t" "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" "orreq %0, %0, #(1 << 6)\n\t"
"mcreq p15, 0, %0, c15, c1, 0\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" "mrceq p15, 0, %0, c15, c1, 0\n\t"
"moveq %0, %0\n\t" "moveq %0, %0\n\t"
"subeq pc, pc, #4\n\t" "subeq pc, pc, #4\n\t"
#endif #endif
: "=r"(temp1), "=r"(temp2) : : "cc"); : "=r"(temp) : : "cc");
offset = next_jiffy_time - read_tcr1(); offset = next_jiffy_time - read_tcr1();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment