• OGAWA Hirofumi's avatar
    [PATCH] PM-Timer: don't use workaround if chipset is not buggy · dbffa471
    OGAWA Hirofumi authored
    Current timer_pm.c reads I/O port triple times, in order to avoid the bug
    of chipset.  But I/O port is slow.
    
    2.6.16 (pmtmr)
    Simple gettimeofday: 3.6532 microseconds
    
    2.6.16+patch (pmtmr)
    Simple gettimeofday: 1.4582 microseconds
    
    [if chip is buggy, probably it will be 7us or more in 4.2% of probability.]
    
    This patch adds blacklist of buggy chip, and if chip is not buggy, this
    uses fast normal version instead of slow workaround version.
    
    If chip is buggy, warnings "pmtmr is slow".  But sounds like there is gray
    zone.  I found the PIIX4 errata, but I couldn't find the ICH4 errata.  But
    some motherboard seems to have problem.
    
    So, if we found a ICH4, generate warnings, and use a workaround version.
    If user's ICH4 is good, the user can specify the "pmtmr_good" boot
    parameter to use fast version.
    Acked-by: default avatarJohn Stultz <johnstul@us.ibm.com>
    Signed-off-by: default avatarOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    dbffa471
timer_pm.c 8.2 KB