block/ps3: fix slow VRAM IO
authorHideyuki Sasaki <Hideyuki_Sasaki@hq.scei.sony.co.jp>
Wed, 4 Nov 2009 08:09:28 +0000 (09:09 +0100)
committerJens Axboe <jens.axboe@oracle.com>
Wed, 4 Nov 2009 08:09:28 +0000 (09:09 +0100)
commitf21121cde6e617b90cd03ce083652ca543004dc2
tree9a2401e05c403cc4f6ce59e7936b89c1000798af
parente00ef7997195e4f8e10593727a6286e2e2802159
block/ps3: fix slow VRAM IO

The current PS3 VRAM driver uses msleep() to wait for completion of RSX
DMA transfers between system memory and VRAM.  Depending on the system
timing, the processing delay and overhead of this msleep() call can
significantly impact VRAM driver IO.

To avoid the condition, add a short duration (200 usec max) udelay()
polling loop before entering the msleep() polling loop.

Signed-off-by: Hideyuki Sasaki <xhide@rd.scei.sony.co.jp>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Acked-by: Jim Paris <jim@jtan.com>
Cc: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
drivers/block/ps3vram.c