• Gavin Shan's avatar
    net/ncsi: Resource management · 2d283bdd
    Gavin Shan authored
    NCSI spec (DSP0222) defines several objects: package, channel, mode,
    filter, version and statistics etc. This introduces the data structs
    to represent those objects and implement functions to manage them.
    Also, this introduces CONFIG_NET_NCSI for the newly implemented NCSI
    stack.
    
       * The user (e.g. netdev driver) dereference NCSI device by
         "struct ncsi_dev", which is embedded to "struct ncsi_dev_priv".
         The later one is used by NCSI stack internally.
       * Every NCSI device can have multiple packages simultaneously, up
         to 8 packages. It's represented by "struct ncsi_package" and
         identified by 3-bits ID.
       * Every NCSI package can have multiple channels, up to 32. It's
         represented by "struct ncsi_channel" and identified by 5-bits ID.
       * Every NCSI channel has version, statistics, various modes and
         filters. They are represented by "struct ncsi_channel_version",
         "struct ncsi_channel_stats", "struct ncsi_channel_mode" and
         "struct ncsi_channel_filter" separately.
       * Apart from AEN (Asynchronous Event Notification), the NCSI stack
         works in terms of command and response. This introduces "struct
         ncsi_req" to represent a complete NCSI transaction made of NCSI
         request and response.
    
    link: https://www.dmtf.org/sites/default/files/standards/documents/DSP0222_1.1.0.pdfSigned-off-by: default avatarGavin Shan <gwshan@linux.vnet.ibm.com>
    Acked-by: default avatarJoel Stanley <joel@jms.id.au>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    2d283bdd
internal.h 10.7 KB