]> git.baikalelectronics.ru Git - kernel.git/commit
palm_bk3710: UDMA performance fix
authorDavid Brownell <dbrownell@users.sourceforge.net>
Wed, 22 Apr 2009 18:33:40 +0000 (20:33 +0200)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Wed, 22 Apr 2009 18:33:40 +0000 (20:33 +0200)
commitb2f882e9cb486909382805f2af3db3fd8ee5bcc6
tree57b07f93fb6e474761a31446c96a9821e1aa98d8
parent8649a333e6bc4541c8f61725bfd4af100166e9ea
palm_bk3710: UDMA performance fix

Fix UDMA throughput bug:  tCYC averages t2CYCTYP/2, but the code
previously assumed it was the same as t2CYCTYP.  (That is, it was
using just one clock edge, not both.)  Move the table's type
declaration so it's adjacent to the table, making it more clear
what those numbers mean.

On one system this change increased throughput by almost 4x: UDMA/66
sometimes topped 23 MB/sec (on a drive known to do much better).  On
another system it was around a 10% win (UDMA/66 up to 7+ MB/sec).

The difference might be caused by the ratio between memory and IDE
clocks.  In the system with large speedup, this was exactly 2 (as a
workaround for a rev 1.1 silicon bug).  The other system used a more
standard ratio of 1.63 (and rev 2.1 silicon) ... clock domain synch
might have some issues, they're not unheard-of.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/palm_bk3710.c