• Nicholas Piggin's avatar
    powerpc/powernv: define a standard delay for OPAL_BUSY type retry loops · 34dd25de
    Nicholas Piggin authored
    This is the start of an effort to tidy up and standardise all the
    delays. Existing loops have a range of delay/sleep periods from 1ms
    to 20ms, and some have no delay. They all loop forever except rtc,
    which times out after 10 retries, and that uses 10ms delays. So use
    10ms as our standard delay. The OPAL maintainer agrees 10ms is a
    reasonable starting point.
    
    The idea is to use the same recipe everywhere, once this is proven to
    work then it will be documented as an OPAL API standard. Then both
    firmware and OS can agree, and if a particular call needs something
    else, then that can be documented with reasoning.
    
    This is not the end-all of this effort, it's just a relatively easy
    change that fixes some existing high latency delays. There should be
    provision for standardising timeouts and/or interruptible loops where
    possible, so non-fatal firmware errors don't cause hangs.
    Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    34dd25de
opal.h 16.4 KB