• David Brownell's avatar
    palm_bk3710: UDMA performance fix · db2f38c2
    David Brownell authored
    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: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
    Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
    Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
    db2f38c2
palm_bk3710.c 11.5 KB