aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ps3
diff options
context:
space:
mode:
authorTakashi Yamamoto <TakashiA.Yamamoto@jp.sony.com>2008-02-08 17:52:30 -0500
committerPaul Mackerras <paulus@samba.org>2008-02-14 06:11:00 -0500
commita7faa8dc95ef90593d605d36409ef9100bdd11f8 (patch)
tree993240b7155e22c0496ec17beb443546e6904707 /drivers/ps3
parent79ccd1bedc0592602183dad5e3d51d0ab7a9add0 (diff)
[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 <TakashiA.Yamamoto@jp.sony.com> Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'drivers/ps3')
-rw-r--r--drivers/ps3/ps3-lpm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/ps3/ps3-lpm.c b/drivers/ps3/ps3-lpm.c
index 4c066545d176..8a0b16bad8e9 100644
--- a/drivers/ps3/ps3-lpm.c
+++ b/drivers/ps3/ps3-lpm.c
@@ -181,9 +181,9 @@ void ps3_set_bookmark(u64 bookmark)
181 * includes cycles before the call. 181 * includes cycles before the call.
182 */ 182 */
183 183
184 asm volatile("or 29, 29, 29;"); /* db10cyc */ 184 asm volatile("nop;nop;nop;nop;nop;nop;nop;nop;nop;");
185 mtspr(SPRN_BKMK, bookmark); 185 mtspr(SPRN_BKMK, bookmark);
186 asm volatile("or 29, 29, 29;"); /* db10cyc */ 186 asm volatile("nop;nop;nop;nop;nop;nop;nop;nop;nop;");
187} 187}
188EXPORT_SYMBOL_GPL(ps3_set_bookmark); 188EXPORT_SYMBOL_GPL(ps3_set_bookmark);
189 189