diff options
Diffstat (limited to 'src/drivers/infiniband/hermon.h')
| -rw-r--r-- | src/drivers/infiniband/hermon.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/drivers/infiniband/hermon.h b/src/drivers/infiniband/hermon.h index 26940f6fa..e0b028f26 100644 --- a/src/drivers/infiniband/hermon.h +++ b/src/drivers/infiniband/hermon.h @@ -13,6 +13,8 @@ FILE_LICENCE ( GPL2_OR_LATER ); #include <ipxe/uaccess.h> #include <ipxe/ib_packet.h> #include <ipxe/bofm.h> +#include <ipxe/nvsvpd.h> +#include <ipxe/nvo.h> #include "mlx_bitops.h" #include "MT25408_PRM.h" @@ -135,6 +137,9 @@ FILE_LICENCE ( GPL2_OR_LATER ); #define HERMON_MOD_STAT_CFG_SET 0x01 #define HERMON_MOD_STAT_CFG_QUERY 0x03 +#define HERMON_VPD_FIELD( port ) \ + PCI_VPD_FIELD ( PCI_VPD_TAG_RW, 'V', ( '5' + (port) - 1 ) ) + /* * Datatypes that seem to be missing from the autogenerated documentation * @@ -825,6 +830,8 @@ struct hermon_port { struct ib_queue_pair *eth_qp; /** Port type */ struct hermon_port_type *type; + /** Non-volatile option storage */ + struct nvo_block nvo; }; /** A Hermon device */ @@ -891,6 +898,9 @@ struct hermon { /** QPN base */ unsigned long qpn_base; + /** Non-volatile storage in PCI VPD */ + struct nvs_vpd_device nvsvpd; + /** Ports */ struct hermon_port port[HERMON_MAX_PORTS]; |
