From: Takashi Yamamoto Date: Fri, 8 Feb 2008 22:52:30 +0000 (+1100) Subject: [POWERPC] PS3: Fix setting bookmark in logical performance monitor X-Git-Tag: v2.6.25-rc2~10^2~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a7faa8dc95ef90593d605d36409ef9100bdd11f8;p=platform%2Fkernel%2Flinux-3.10.git [POWERPC] PS3: Fix setting bookmark in logical performance monitor Fix the ps3_set_bookmark() routine of the PS3 logical performance monitor driver. To properly set a performance monitor bookmark the Cell processor requires no instruction branches near the setting of the bookmark SPR. Testing showed that the use of the db10cyc instruction did not work correctly. This change replaces the db10cyc instruction with 10 nop instructions. Signed-off-by: Takashi Yamamoto Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras --- diff --git a/drivers/ps3/ps3-lpm.c b/drivers/ps3/ps3-lpm.c index 4c066545..8a0b16b 100644 --- a/drivers/ps3/ps3-lpm.c +++ b/drivers/ps3/ps3-lpm.c @@ -181,9 +181,9 @@ void ps3_set_bookmark(u64 bookmark) * includes cycles before the call. */ - asm volatile("or 29, 29, 29;"); /* db10cyc */ + asm volatile("nop;nop;nop;nop;nop;nop;nop;nop;nop;"); mtspr(SPRN_BKMK, bookmark); - asm volatile("or 29, 29, 29;"); /* db10cyc */ + asm volatile("nop;nop;nop;nop;nop;nop;nop;nop;nop;"); } EXPORT_SYMBOL_GPL(ps3_set_bookmark);