• Andrew Jeffery's avatar
    ipmi: kcs_bmc: Allow clients to control KCS IRQ state · 28651e6c
    Andrew Jeffery authored
    Add a mechanism for controlling whether the client associated with a
    KCS device will receive Input Buffer Full (IBF) and Output Buffer Empty
    (OBE) events. This enables an abstract implementation of poll() for KCS
    devices.
    
    A wart in the implementation is that the ASPEED KCS devices don't
    support an OBE interrupt for the BMC. Instead we pretend it has one by
    polling the status register waiting for the Output Buffer Full (OBF) bit
    to clear, and generating an event when OBE is observed.
    
    Cc: CS20 KWLiu <KWLIU@nuvoton.com>
    Signed-off-by: default avatarAndrew Jeffery <andrew@aj.id.au>
    Reviewed-by: default avatarZev Weiss <zweiss@equinix.com>
    Message-Id: <20210608104757.582199-10-andrew@aj.id.au>
    Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
    28651e6c
kcs_bmc.c 4.67 KB