diff options
| author | Michael Brown | 2011-02-10 17:40:56 +0100 |
|---|---|---|
| committer | Michael Brown | 2011-03-03 03:40:12 +0100 |
| commit | e809985ca90425af37fbbae0e60f6f76bc029cf9 (patch) | |
| tree | 14d3198d65ee891a40824fe38aac394ea6d3f266 /src/drivers/infiniband/hermon.h | |
| parent | [bofm] Allow garbage collection of BOFM code in non-BOFM builds (diff) | |
| download | ipxe-e809985ca90425af37fbbae0e60f6f76bc029cf9.tar.gz ipxe-e809985ca90425af37fbbae0e60f6f76bc029cf9.tar.xz ipxe-e809985ca90425af37fbbae0e60f6f76bc029cf9.zip | |
[hermon] Add BOFM support
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers/infiniband/hermon.h')
| -rw-r--r-- | src/drivers/infiniband/hermon.h | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/src/drivers/infiniband/hermon.h b/src/drivers/infiniband/hermon.h index ca343f7aa..1c8623035 100644 --- a/src/drivers/infiniband/hermon.h +++ b/src/drivers/infiniband/hermon.h @@ -12,6 +12,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); #include <stdint.h> #include <ipxe/uaccess.h> #include <ipxe/ib_packet.h> +#include <ipxe/bofm.h> #include "mlx_bitops.h" #include "MT25408_PRM.h" @@ -131,6 +132,9 @@ FILE_LICENCE ( GPL2_OR_LATER ); #define HERMON_RETRY_MAX 0x07 +#define HERMON_MOD_STAT_CFG_SET 0x01 +#define HERMON_MOD_STAT_CFG_QUERY 0x03 + /* * Datatypes that seem to be missing from the autogenerated documentation * @@ -417,13 +421,14 @@ struct hermonprm_set_port_vlan_st { /* -------------- */ } __attribute__ (( packed )); -struct hermonprm_mod_stat_cfg_pf_net_boot_st { - pseudo_bit_t reserved1[0x0001c]; - pseudo_bit_t pf_net_boot[0x00001]; - pseudo_bit_t reserved2[0x00002]; - pseudo_bit_t pf_net_boot_m[0x00001]; -/* -------------- */ - pseudo_bit_t reserved0[0x00020]; +struct hermonprm_mod_stat_cfg_input_mod_st { + pseudo_bit_t offset[0x00008]; + pseudo_bit_t portnum[0x00008]; + pseudo_bit_t xnum[0x00004]; + pseudo_bit_t linkspeed[0x00003]; + pseudo_bit_t autoneg[0x00001]; + pseudo_bit_t reserved[0x00004]; + pseudo_bit_t setup_mode[0x00004]; } __attribute__ (( packed )); /* @@ -444,7 +449,8 @@ struct MLX_DECLARE_STRUCT ( hermonprm_init_hca ); struct MLX_DECLARE_STRUCT ( hermonprm_mad_ifc ); struct MLX_DECLARE_STRUCT ( hermonprm_mcg_entry ); struct MLX_DECLARE_STRUCT ( hermonprm_mgm_hash ); -struct MLX_DECLARE_STRUCT ( hermonprm_mod_stat_cfg_pf_net_boot ); +struct MLX_DECLARE_STRUCT ( hermonprm_mod_stat_cfg ); +struct MLX_DECLARE_STRUCT ( hermonprm_mod_stat_cfg_input_mod ); struct MLX_DECLARE_STRUCT ( hermonprm_mpt ); struct MLX_DECLARE_STRUCT ( hermonprm_mtt ); struct MLX_DECLARE_STRUCT ( hermonprm_port_state_change_event ); @@ -866,6 +872,9 @@ struct hermon { /** Ports */ struct hermon_port port[HERMON_MAX_PORTS]; + + /** BOFM device */ + struct bofm_device bofm; }; /** Global protection domain */ |
