iPXE
Data Fields
hermon Struct Reference

A Hermon device. More...

#include <hermon.h>

Data Fields

struct pci_devicepci
 PCI device.
void * config
 PCI configuration registers.
void * uar
 PCI user Access Region.
unsigned int toggle
 Command toggle.
void * mailbox_in
 Command input mailbox.
void * mailbox_out
 Command output mailbox.
unsigned int open_count
 Device open request counter.
size_t firmware_len
 Firmware size.
userptr_t firmware_area
 Firmware area in external memory.
struct hermon_icm_map icm_map [HERMON_ICM_NUM_REGIONS]
 ICM map.
size_t icm_len
 ICM size.
size_t icm_aux_len
 ICM AUX size.
userptr_t icm
 ICM area.
struct hermon_event_queue eq
 Event queue.
unsigned long lkey
 Unrestricted LKey.
hermon_bitmask_t cq_inuse [HERMON_BITMASK_SIZE(HERMON_MAX_CQS)]
 Completion queue in-use bitmask.
hermon_bitmask_t qp_inuse [HERMON_BITMASK_SIZE(HERMON_MAX_QPS)]
 Queue pair in-use bitmask.
hermon_bitmask_t mtt_inuse [HERMON_BITMASK_SIZE(HERMON_MAX_MTTS)]
 MTT entry in-use bitmask.
struct hermon_dev_cap cap
 Device capabilities.
unsigned long special_qpn_base
 Special QPN base.
unsigned long qpn_base
 QPN base.
struct nvs_vpd_device nvsvpd
 Non-volatile storage in PCI VPD.
struct hermon_port port [HERMON_MAX_PORTS]
 Ports.
struct bofm_device bofm
 BOFM device.

Detailed Description

A Hermon device.

Definition at line 842 of file hermon.h.


Field Documentation

PCI device.

Definition at line 844 of file hermon.h.

Referenced by hermon_bofm_probe(), hermon_probe(), and hermon_reset().

PCI configuration registers.

Definition at line 846 of file hermon.h.

Referenced by hermon_bofm_probe(), hermon_bofm_remove(), hermon_cmd(), hermon_cmd_wait(), hermon_probe(), hermon_remove(), and hermon_reset().

void* hermon::uar

PCI user Access Region.

Definition at line 848 of file hermon.h.

Referenced by hermon_create_eq(), hermon_create_qp(), hermon_probe(), and hermon_remove().

unsigned int hermon::toggle

Command toggle.

Definition at line 851 of file hermon.h.

Referenced by hermon_cmd(), hermon_cmd_wait(), and hermon_reset().

Command input mailbox.

Definition at line 853 of file hermon.h.

Referenced by hermon_alloc(), hermon_cmd(), and hermon_free().

Command output mailbox.

Definition at line 855 of file hermon.h.

Referenced by hermon_alloc(), hermon_cmd(), and hermon_free().

unsigned int hermon::open_count

Device open request counter.

Definition at line 858 of file hermon.h.

Referenced by hermon_close(), hermon_open(), and hermon_probe().

Firmware size.

Definition at line 861 of file hermon.h.

Referenced by hermon_start_firmware().

Firmware area in external memory.

This is allocated when first needed, and freed only on final teardown, in order to avoid memory map changes at runtime.

Definition at line 868 of file hermon.h.

Referenced by hermon_free(), hermon_start_firmware(), and hermon_stop_firmware().

ICM map.

Definition at line 870 of file hermon.h.

Referenced by hermon_map_icm(), and hermon_unmap_icm().

ICM size.

Definition at line 872 of file hermon.h.

Referenced by hermon_map_icm().

ICM AUX size.

Definition at line 874 of file hermon.h.

Referenced by hermon_map_icm().

ICM area.

This is allocated when first needed, and freed only on final teardown, in order to avoid memory map changes at runtime.

Definition at line 881 of file hermon.h.

Referenced by hermon_free(), and hermon_map_icm().

Event queue.

Definition at line 884 of file hermon.h.

Referenced by hermon_create_cq(), hermon_create_eq(), hermon_destroy_eq(), and hermon_poll_eq().

unsigned long hermon::lkey

Unrestricted LKey.

Used to get unrestricted memory access.

Definition at line 889 of file hermon.h.

Referenced by hermon_fill_eth_send_wqe(), hermon_fill_mlx_send_wqe(), hermon_fill_rc_send_wqe(), hermon_fill_ud_send_wqe(), hermon_post_recv(), hermon_setup_mpt(), and hermon_start().

Completion queue in-use bitmask.

Definition at line 892 of file hermon.h.

Referenced by hermon_create_cq(), and hermon_destroy_cq().

Queue pair in-use bitmask.

Definition at line 894 of file hermon.h.

Referenced by hermon_alloc_qpn(), and hermon_free_qpn().

MTT entry in-use bitmask.

Definition at line 896 of file hermon.h.

Referenced by hermon_alloc_mtt(), and hermon_free_mtt().

unsigned long hermon::special_qpn_base

Special QPN base.

Definition at line 901 of file hermon.h.

Referenced by hermon_alloc_qpn(), and hermon_configure_special_qps().

unsigned long hermon::qpn_base

QPN base.

Definition at line 903 of file hermon.h.

Referenced by hermon_alloc_qpn(), hermon_configure_special_qps(), and hermon_free_qpn().

Non-volatile storage in PCI VPD.

Definition at line 906 of file hermon.h.

Referenced by hermon_probe().

Ports.

Definition at line 909 of file hermon.h.

Referenced by hermon_event_port_state_change(), hermon_probe(), hermon_remove(), and hermon_start().

BOFM device.

Definition at line 912 of file hermon.h.

Referenced by hermon_bofm_probe(), and hermon_bofm_remove().


The documentation for this struct was generated from the following file: