iPXE
|
An Arbel device. More...
#include <arbel.h>
Data Fields | |
struct pci_device * | pci |
PCI device. More... | |
void * | config |
PCI configuration registers. More... | |
void * | uar |
PCI user Access Region. More... | |
void * | eq_ci_doorbells |
Event queue consumer index doorbells. More... | |
void * | mailbox_in |
Command input mailbox. More... | |
void * | mailbox_out |
Command output mailbox. More... | |
unsigned int | open_count |
Device open request counter. More... | |
size_t | firmware_len |
Firmware size. More... | |
userptr_t | firmware_area |
Firmware area in external memory. More... | |
size_t | icm_len |
ICM size. More... | |
size_t | icm_aux_len |
ICM AUX size. More... | |
userptr_t | icm |
ICM area. More... | |
size_t | db_rec_offset |
Offset within ICM of doorbell records. More... | |
union arbelprm_doorbell_record * | db_rec |
Doorbell records. More... | |
struct arbel_event_queue | eq |
Event queue. More... | |
unsigned long | lkey |
Unrestricted LKey. More... | |
arbel_bitmask_t | cq_inuse [ARBEL_BITMASK_SIZE(ARBEL_MAX_CQS)] |
Completion queue in-use bitmask. More... | |
arbel_bitmask_t | qp_inuse [ARBEL_BITMASK_SIZE(ARBEL_MAX_QPS)] |
Queue pair in-use bitmask. More... | |
struct arbel_dev_limits | limits |
Device limits. More... | |
unsigned long | special_qpn_base |
Special QPN base. More... | |
unsigned long | qpn_base |
QPN base. More... | |
struct ib_device * | ibdev [ARBEL_NUM_PORTS] |
Infiniband devices. More... | |
struct pci_device* arbel::pci |
PCI device.
Definition at line 471 of file arbel.h.
Referenced by arbel_probe(), arbel_remove(), arbel_reset(), and arbel_start_firmware().
void* arbel::config |
PCI configuration registers.
Definition at line 473 of file arbel.h.
Referenced by arbel_cmd(), arbel_cmd_wait(), arbel_probe(), arbel_remove(), and arbel_reset().
void* arbel::uar |
PCI user Access Region.
Definition at line 475 of file arbel.h.
Referenced by arbel_probe(), arbel_remove(), and arbel_ring_doorbell().
void* arbel::eq_ci_doorbells |
Event queue consumer index doorbells.
Definition at line 477 of file arbel.h.
Referenced by arbel_create_eq(), and arbel_start_firmware().
void* arbel::mailbox_in |
Command input mailbox.
Definition at line 480 of file arbel.h.
Referenced by arbel_alloc(), arbel_cmd(), and arbel_free().
void* arbel::mailbox_out |
Command output mailbox.
Definition at line 482 of file arbel.h.
Referenced by arbel_alloc(), arbel_cmd(), and arbel_free().
unsigned int arbel::open_count |
Device open request counter.
Definition at line 485 of file arbel.h.
Referenced by arbel_close(), arbel_open(), and arbel_probe().
size_t arbel::firmware_len |
userptr_t arbel::firmware_area |
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 495 of file arbel.h.
Referenced by arbel_free(), arbel_start_firmware(), and arbel_stop_firmware().
size_t arbel::icm_len |
ICM size.
Definition at line 497 of file arbel.h.
Referenced by arbel_alloc_icm(), and arbel_free_icm().
size_t arbel::icm_aux_len |
userptr_t arbel::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 506 of file arbel.h.
Referenced by arbel_alloc_icm(), and arbel_free().
size_t arbel::db_rec_offset |
Offset within ICM of doorbell records.
Definition at line 508 of file arbel.h.
Referenced by arbel_alloc_icm(), and arbel_free_icm().
union arbelprm_doorbell_record* arbel::db_rec |
Doorbell records.
Definition at line 510 of file arbel.h.
Referenced by arbel_alloc_icm(), arbel_create_cq(), arbel_create_qp(), arbel_destroy_cq(), arbel_destroy_qp(), arbel_free_icm(), arbel_poll_cq(), arbel_post_recv(), and arbel_post_send().
struct arbel_event_queue arbel::eq |
Event queue.
Definition at line 512 of file arbel.h.
Referenced by arbel_create_cq(), arbel_create_eq(), arbel_destroy_eq(), and arbel_poll_eq().
unsigned long arbel::lkey |
Unrestricted LKey.
Used to get unrestricted memory access.
Definition at line 517 of file arbel.h.
Referenced by arbel_create_cq(), arbel_create_eq(), arbel_create_qp(), arbel_fill_mlx_send_wqe(), arbel_fill_rc_send_wqe(), arbel_fill_ud_send_wqe(), arbel_post_recv(), arbel_setup_mpt(), and arbel_start().
arbel_bitmask_t arbel::cq_inuse[ARBEL_BITMASK_SIZE(ARBEL_MAX_CQS)] |
Completion queue in-use bitmask.
Definition at line 520 of file arbel.h.
Referenced by arbel_create_cq(), and arbel_destroy_cq().
arbel_bitmask_t arbel::qp_inuse[ARBEL_BITMASK_SIZE(ARBEL_MAX_QPS)] |
Queue pair in-use bitmask.
Definition at line 522 of file arbel.h.
Referenced by arbel_alloc_qpn(), and arbel_free_qpn().
struct arbel_dev_limits arbel::limits |
Device limits.
Definition at line 525 of file arbel.h.
Referenced by arbel_alloc_icm(), arbel_configure_special_qps(), arbel_cq_arm_doorbell_idx(), arbel_cq_ci_doorbell_idx(), arbel_create_cq(), arbel_create_eq(), arbel_create_qp(), arbel_destroy_cq(), arbel_get_limits(), arbel_modify_qp(), and arbel_setup_mpt().
unsigned long arbel::special_qpn_base |
Special QPN base.
Definition at line 527 of file arbel.h.
Referenced by arbel_alloc_qpn(), arbel_configure_special_qps(), arbel_modify_qp(), arbel_recv_doorbell_idx(), and arbel_send_doorbell_idx().
unsigned long arbel::qpn_base |
QPN base.
Definition at line 529 of file arbel.h.
Referenced by arbel_alloc_qpn(), arbel_configure_special_qps(), and arbel_free_qpn().
struct ib_device* arbel::ibdev[ARBEL_NUM_PORTS] |
Infiniband devices.
Definition at line 532 of file arbel.h.
Referenced by arbel_alloc_qpn(), arbel_complete(), arbel_create_cq(), arbel_create_qp(), arbel_destroy_cq(), arbel_destroy_qp(), arbel_event_port_state_change(), arbel_fill_mlx_send_wqe(), arbel_fill_rc_send_wqe(), arbel_fill_ud_send_wqe(), arbel_free_qpn(), arbel_ib_close(), arbel_ib_open(), arbel_inform_sma(), arbel_mad(), arbel_mcast_attach(), arbel_mcast_detach(), arbel_modify_qp(), arbel_poll_cq(), arbel_poll_eq(), arbel_post_recv(), arbel_post_send(), arbel_probe(), arbel_remove(), and arbel_start().