• Alex Elder's avatar
    net: ipa: determine channel from event · 7dd9558f
    Alex Elder authored
    Each event in an event ring describes the TRE whose completion
    caused the event.  Currently, every event ring is dedicated to a
    single channel, so the channel is easily derived from the event
    ring.
    
    An event ring can actually be shared by more than one channel
    though, and to distinguish events for one channel from another, the
    event structure contains a field indicating which channel the event
    is associated with.
    
    In gsi_event_trans(), use the channel ID in an event to determine
    which channel the event is for.  This makes the channel pointer now
    passed to that function irrelevant; pass the GSI pointer to that
    function instead.
    
    And although it shouldn't happen, warn if an event arrives that
    records a channel ID that's not in use, or if the event does not
    have a transaction associated with it.
    Signed-off-by: default avatarAlex Elder <elder@linaro.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    7dd9558f
gsi.c 66.3 KB