• Lokesh Vutla's avatar
    crypto: omap-sham - Enable Polling mode if DMA fails · b8411ccd
    Lokesh Vutla authored
    For writing input buffer into DATA_IN register current driver
    has the following state machine:
    -> if input buffer < 9 : use fallback driver
    -> else if input buffer < block size : Copy input buffer into data_in regs
    -> else use dma transfer.
    
    In cases where requesting for DMA channels fails for some reason,
    or channel numbers are not provided in DT or platform data, probe
    also fails. Instead of returning from driver use cpu polling mode.
    In this mode processor polls on INPUT_READY bit and writes data into
    data_in regs when it equals 1. This operation is repeated until the
    length of message.
    
    Now the state machine looks like:
    -> if input buffer < 9 : use fallback driver
    -> else if input buffer < block size : Copy input buffer into data_in regs
    -> else if dma enabled: use dma transfer
    	   else use cpu polling mode.
    Signed-off-by: default avatarLokesh Vutla <lokeshvutla@ti.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    b8411ccd
omap-sham.c 50.2 KB