HomeFreeBSD

ixgbe: introduce new mailbox API

Description

ixgbe: introduce new mailbox API

DPDK commit message

Current mailbox API does not work as described in documentation and
is prone to errors (for example, it is doing locks on read). Introduce
new mailbox API and provide compatibility functions with old API.

New error codes have been introduced:

  • IXGBE_ERR_CONFIG - ixgbe_mbx_operations is not correctly set
  • IXGBE_ERR_TIMEOUT - mailbox operation, e.g. poll for message, timedout
  • IXGBE_ERR_MBX_NOMSG - no message available on read

In addition, some refactoring has been done: mailbox structures were
defined twice: in ixgbe_type.h and ixgbe_vf.h. Move them into
ixgbe_mbx.h as this header is dedicated for mailbox.

Signed-off-by: Jakub Chylkowski <jakubx.chylkowski@intel.com>
Reviewed-by: Alice Michael <alice.michael@intel.com>
Reviewed-by: Piotr Pietruszewski <piotr.pietruszewski@intel.com>
Tested-by: Alice Michael <alice.michael@intel.com>
Tested-by: Piotr Skajewski <piotrx.skajewski@intel.com>

Obtained from: DPDK (6d243d2)
MFC after: 1 week

Reapply message

This reverts commit d80c12ba682a6f23791f3d6e657f9e603b152aa2.

Details