• Arindam Nath's avatar
    NTB: send DB event when driver is loaded or un-loaded · ac10d4f6
    Arindam Nath authored
    When the driver on the local side is loaded, it sets
    SIDE_READY bit in SIDE_INFO register. Likewise, when
    it is un-loaded, it clears the bit.
    
    Also just after being loaded, the driver polls for
    peer SIDE_READY bit to be set. Since that bit is set
    when the peer side driver has loaded, the polling on
    local side breaks as soon as this condition is met.
    
    But the situation is different when the driver is
    un-loaded. Since the polling has already been stopped
    as mentioned before, if the peer side driver gets
    un-loaded, the driver on the local side is not notified
    implicitly.
    
    So, we improvise using existing doorbell mechanism.
    We reserve the highest order bit of the DB register to
    send a notification to peer when the driver on local
    side is un-loaded. This also means that now we are one
    short of 16 DB events and that is taken care of in the
    valid DB mask.
    Signed-off-by: default avatarArindam Nath <arindam.nath@amd.com>
    Signed-off-by: default avatarJon Mason <jdmason@kudzu.us>
    ac10d4f6
ntb_hw_amd.h 6 KB