• Jens Wiklander's avatar
    optee: separate notification functions · 787c80cc
    Jens Wiklander authored
    Renames struct optee_wait_queue to struct optee_notif and all related
    functions to optee_notif_*().
    
    The implementation is changed to allow sending a notification from an
    atomic state, that is from the top half of an interrupt handler.
    
    Waiting for keys is currently only used when secure world is waiting for
    a mutex or condition variable. The old implementation could handle any
    32-bit key while this new implementation is restricted to only 8 bits or
    the maximum value 255. A upper value is needed since a bitmap is
    allocated to allow an interrupt handler to only set a bit in case the
    waiter hasn't had the time yet to allocate and register a completion.
    
    The keys are currently only representing secure world threads which
    number usually are never even close to 255 so it should be safe for now.
    In future ABI updates the maximum value of the key will be communicated
    while the driver is initializing.
    Reviewed-by: default avatarSumit Garg <sumit.garg@linaro.org>
    Signed-off-by: default avatarJens Wiklander <jens.wiklander@linaro.org>
    787c80cc
rpc.c 6.39 KB