• Thierry Escande's avatar
    NFC: port100: Commands mechanism implementation · 0347a6ab
    Thierry Escande authored
    This patch implements the command handling mechanism. The digital stack
    serializes all commands sent to the driver. This means that the digital
    stack waits for the reply of the current command before sending a new
    one. So there is no command queue managed at driver level.
    
    All Port-100 commands are asynchronous. If the command has been sent
    successfully to the device, it replies with an ACK frame. Then the
    command response is received (or actually no-response in case of
    timeout or error) and a command complete work on the system workqueue
    is responsible for sending the response (or the error) back to the
    digital stack.
    
    The digital stack requires some commands to be synchronous, mainly
    hardware configuration ones. These commands use the asynchronous
    command path but are made synchronous by using a completion object.
    Signed-off-by: default avatarThierry Escande <thierry.escande@linux.intel.com>
    Cc: Stephen Tiedemann <stephen.tiedemann@gmail.com>
    Tested-by: default avatarCho, Yu-Chen <acho@suse.com>
    Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
    0347a6ab
port100.c 19.6 KB