Skip to content
Permalink
Browse files

[intelxl] Provide a mechanism for handling "send to VF" events

Provide a weak stub function for handling the "send to VF" event used
for communications between the physical and virtual function drivers.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
  • Loading branch information
mcb30 committed Apr 24, 2019
1 parent 17298d0 commit 7676924571a1c7623d4ffc42560663db91a36bc3
Showing with 28 additions and 0 deletions.
  1. +18 −0 src/drivers/net/intelxl.c
  2. +10 −0 src/drivers/net/intelxl.h
@@ -658,6 +658,21 @@ static int intelxl_admin_link ( struct net_device *netdev ) {
return 0;
}

/**
* Handle virtual function event (when VF driver is not present)
*
* @v netdev Network device
* @v evt Admin queue event descriptor
* @v buf Admin queue event data buffer
*/
__weak void
intelxlvf_admin_event ( struct net_device *netdev __unused,
struct intelxl_admin_descriptor *evt __unused,
union intelxl_admin_buffer *buf __unused ) {

/* Nothing to do */
}

/**
* Refill admin event queue
*
@@ -711,6 +726,9 @@ static void intelxl_poll_admin ( struct net_device *netdev ) {
case cpu_to_le16 ( INTELXL_ADMIN_LINK ):
intelxl_admin_link ( netdev );
break;
case cpu_to_le16 ( INTELXL_ADMIN_SEND_TO_VF ):
intelxlvf_admin_event ( netdev, evt, buf );
break;
default:
DBGC ( intelxl, "INTELXL %p admin event %#x "
"unrecognised opcode %#04x\n", intelxl,
@@ -289,6 +289,12 @@ struct intelxl_admin_link_params {
/** Link is up */
#define INTELXL_ADMIN_LINK_UP 0x01

/** Admin queue Send Message to PF command */
#define INTELXL_ADMIN_SEND_TO_PF 0x0801

/** Admin queue Send Message to VF command */
#define INTELXL_ADMIN_SEND_TO_VF 0x0802

/** Admin queue command parameters */
union intelxl_admin_params {
/** Additional data buffer command parameters */
@@ -824,4 +830,8 @@ struct intelxl_nic {
struct io_buffer *rx_iobuf[INTELXL_RX_NUM_DESC];
};

extern void intelxlvf_admin_event ( struct net_device *netdev,
struct intelxl_admin_descriptor *evt,
union intelxl_admin_buffer *buf );

#endif /* _INTELXL_H */

0 comments on commit 7676924

Please sign in to comment.
You can’t perform that action at this time.