iPXE
Data Fields
arbel Struct Reference

An Arbel device. More...

#include <arbel.h>

Data Fields

struct pci_devicepci
 PCI device.
void * config
 PCI configuration registers.
void * uar
 PCI user Access Region.
void * eq_ci_doorbells
 Event queue consumer index doorbells.
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.
size_t icm_len
 ICM size.
size_t icm_aux_len
 ICM AUX size.
userptr_t icm
 ICM area.
size_t db_rec_offset
 Offset within ICM of doorbell records.
union arbelprm_doorbell_recorddb_rec
 Doorbell records.
struct arbel_event_queue eq
 Event queue.
unsigned long lkey
 Unrestricted LKey.
arbel_bitmask_t cq_inuse [ARBEL_BITMASK_SIZE(ARBEL_MAX_CQS)]
 Completion queue in-use bitmask.
arbel_bitmask_t qp_inuse [ARBEL_BITMASK_SIZE(ARBEL_MAX_QPS)]
 Queue pair in-use bitmask.
struct arbel_dev_limits limits
 Device limits.
unsigned long special_qpn_base
 Special QPN base.
unsigned long qpn_base
 QPN base.
struct ib_deviceibdev [ARBEL_NUM_PORTS]
 Infiniband devices.

Detailed Description

An Arbel device.

Definition at line 469 of file arbel.h.


Field Documentation

PCI device.

Definition at line 471 of file arbel.h.

Referenced by arbel_probe(), and arbel_reset().

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().

Event queue consumer index doorbells.

Definition at line 477 of file arbel.h.

Referenced by arbel_create_eq(), and arbel_start_firmware().

Command input mailbox.

Definition at line 480 of file arbel.h.

Referenced by arbel_alloc(), arbel_cmd(), and arbel_free().

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().

Firmware size.

Definition at line 488 of file arbel.h.

Referenced by arbel_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 495 of file arbel.h.

Referenced by arbel_free(), arbel_start_firmware(), and arbel_stop_firmware().

ICM size.

Definition at line 497 of file arbel.h.

Referenced by arbel_alloc_icm(), and arbel_free_icm().

ICM AUX size.

Definition at line 499 of file arbel.h.

Referenced by arbel_alloc_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().

Offset within ICM of doorbell records.

Definition at line 508 of file arbel.h.

Referenced by arbel_alloc_icm(), and arbel_free_icm().

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().

Completion queue in-use bitmask.

Definition at line 520 of file arbel.h.

Referenced by arbel_create_cq(), and arbel_destroy_cq().

Queue pair in-use bitmask.

Definition at line 522 of file arbel.h.

Referenced by arbel_alloc_qpn(), and arbel_free_qpn().

unsigned long arbel::special_qpn_base
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().

Infiniband devices.

Definition at line 532 of file arbel.h.

Referenced by arbel_event_port_state_change(), arbel_probe(), arbel_remove(), and arbel_start().


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