Linux Kernel
3.7.1
|
Go to the source code of this file.
Data Structures | |
struct | ib_mad_hdr |
struct | ib_rmpp_hdr |
struct | ib_sa_hdr |
struct | ib_mad |
struct | ib_rmpp_mad |
struct | ib_sa_mad |
struct | ib_vendor_mad |
struct | ib_class_port_info |
struct | ib_mad_send_buf |
struct | ib_mad_agent |
struct | ib_mad_send_wc |
struct | ib_mad_recv_buf |
struct | ib_mad_recv_wc |
struct | ib_mad_reg_req |
Typedefs | |
typedef u64 __bitwise | ib_sa_comp_mask |
typedef void(* | ib_mad_send_handler )(struct ib_mad_agent *mad_agent, struct ib_mad_send_wc *mad_send_wc) |
typedef void(* | ib_mad_snoop_handler )(struct ib_mad_agent *mad_agent, struct ib_mad_send_buf *send_buf, struct ib_mad_send_wc *mad_send_wc) |
typedef void(* | ib_mad_recv_handler )(struct ib_mad_agent *mad_agent, struct ib_mad_recv_wc *mad_recv_wc) |
Enumerations | |
enum | { IB_MGMT_MAD_HDR = 24, IB_MGMT_MAD_DATA = 232, IB_MGMT_RMPP_HDR = 36, IB_MGMT_RMPP_DATA = 220, IB_MGMT_VENDOR_HDR = 40, IB_MGMT_VENDOR_DATA = 216, IB_MGMT_SA_HDR = 56, IB_MGMT_SA_DATA = 200, IB_MGMT_DEVICE_HDR = 64, IB_MGMT_DEVICE_DATA = 192 } |
enum | ib_mad_snoop_flags { IB_MAD_SNOOP_SEND_COMPLETIONS = (1<<2), IB_MAD_SNOOP_RECVS = (1<<4) } |
#define IB_BM_ATTR_MOD_RESP cpu_to_be32(1) |
#define IB_QP1 cpu_to_be32(1) |
#define IB_SA_COMP_MASK | ( | n | ) | ((__force ib_sa_comp_mask) cpu_to_be64(1ull << (n))) |
typedef void(* ib_mad_recv_handler)(struct ib_mad_agent *mad_agent, struct ib_mad_recv_wc *mad_recv_wc) |
ib_mad_recv_handler - callback handler for a received MAD. : MAD agent requesting the received MAD. : Received work completion information on the received MAD.
MADs received in response to a send request operation will be handed to the user before the send operation completes. All data buffers given to registered agents through this routine are owned by the receiving client, except for snooping agents. Clients snooping MADs should not modify the data referenced by .
typedef void(* ib_mad_send_handler)(struct ib_mad_agent *mad_agent, struct ib_mad_send_wc *mad_send_wc) |
typedef void(* ib_mad_snoop_handler)(struct ib_mad_agent *mad_agent, struct ib_mad_send_buf *send_buf, struct ib_mad_send_wc *mad_send_wc) |
ib_mad_snoop_handler - Callback handler for snooping sent MADs. : MAD agent that snooped the MAD. : Work request information on the sent MAD. : Work completion information on the sent MAD. Valid only for snooping that occurs on a send completion.
Clients snooping MADs should not modify data referenced by the or .
typedef u64 __bitwise ib_sa_comp_mask |
anonymous enum |
enum ib_mad_snoop_flags |
|
read |
mcontroller : adapter info structure for old mimd_t apps
: base address : irq number : number of logical drives : pci bus : pci device : pci function : pci id : vendor id : slot number : unique id
Definition at line 171 of file esd_usb2.c.
void ib_cancel_mad | ( | struct ib_mad_agent * | mad_agent, |
struct ib_mad_send_buf * | send_buf | ||
) |
|
read |
ib_create_send_mad - Allocate and initialize a data buffer and work request for sending a MAD. : Specifies the registered MAD service to associate with the MAD. : Specifies the QPN of the receiving node. : Specifies which PKey the MAD will be sent using. This field is valid only if the remote_qpn is QP 1. : Indicates if the send will enable RMPP. : Indicates the size of the data header of the MAD. This length should include the common MAD header, RMPP header, plus any class specific header. : Indicates the size of any user-transferred data. The call will automatically adjust the allocated buffer size to account for any additional padding that may be necessary. : GFP mask used for the memory allocation.
This routine allocates a MAD for sending. The returned MAD send buffer will reference a data buffer usable for sending a MAD, along with an initialized work request structure. Users may modify the returned MAD data buffer before posting the send.
The returned MAD header, class specific headers, and any padding will be cleared. Users are responsible for initializing the common MAD header, any class specific header, and MAD data area. If is set, the RMPP header will be initialized for sending.
void ib_free_recv_mad | ( | struct ib_mad_recv_wc * | mad_recv_wc | ) |
void ib_free_send_mad | ( | struct ib_mad_send_buf * | send_buf | ) |
void* ib_get_rmpp_segment | ( | struct ib_mad_send_buf * | send_buf, |
int | seg_num | ||
) |
int ib_modify_mad | ( | struct ib_mad_agent * | mad_agent, |
struct ib_mad_send_buf * | send_buf, | ||
u32 | timeout_ms | ||
) |
int ib_post_send_mad | ( | struct ib_mad_send_buf * | send_buf, |
struct ib_mad_send_buf ** | bad_send_buf | ||
) |
ib_post_send_mad - Posts MAD(s) to the send queue of the QP associated with the registered client. : Specifies the information needed to send the MAD(s). : Specifies the MAD on which an error was encountered. This parameter is optional if only a single MAD is posted.
Sent MADs are not guaranteed to complete in the order that they were posted.
If the MAD requires RMPP, the data buffer should contain a single copy of the common MAD, RMPP, and class specific headers, followed by the class defined data. If the class defined data would not divide evenly into RMPP segments, then space must be allocated at the end of the referenced buffer for any required padding. To indicate the amount of class defined data being transferred, the paylen_newwin field in the RMPP header should be set to the size of the class specific header plus the amount of class defined data being transferred. The paylen_newwin field should be specified in network-byte order.
int ib_process_mad_wc | ( | struct ib_mad_agent * | mad_agent, |
struct ib_wc * | wc | ||
) |
ib_process_mad_wc - Processes a work completion associated with a MAD sent or received on a redirected QP. : Specifies the registered MAD service using the redirected QP. : References a work completion associated with a sent or received MAD segment.
This routine is used to complete or continue processing on a MAD request. If the work completion is associated with a send operation, calling this routine is required to continue an RMPP transfer or to wait for a corresponding response, if it is a request. If the work completion is associated with a receive operation, calling this routine is required to process an inbound or outbound RMPP transfer, or to match a response MAD with its corresponding request.
|
read |
ib_redirect_mad_qp - Registers a QP for MAD services. : Reference to a QP that requires MAD services. : If set, indicates that the client will send and receive MADs that contain the RMPP header for the given version. If set to 0, indicates that RMPP is not used by this client. : The completion callback routine invoked after a send request has completed. : The completion callback routine invoked for a received MAD. : User specified context associated with the registration.
Use of this call allows clients to use MAD services, such as RMPP, on user-owned QPs. After calling this routine, users may send MADs on the specified QP by calling ib_mad_post_send.
|
read |
ib_register_mad_agent - Register to send/receive MADs. : The device to register with. : The port on the specified device to use. : Specifies which QP to access. Must be either IB_QPT_SMI or IB_QPT_GSI. : Specifies which unsolicited MADs should be received by the caller. This parameter may be NULL if the caller only wishes to receive solicited responses. : If set, indicates that the client will send and receive MADs that contain the RMPP header for the given version. If set to 0, indicates that RMPP is not used by this client. : The completion callback routine invoked after a send request has completed. : The completion callback routine invoked for a received MAD. : User specified context associated with the registration.
|
read |
ib_register_mad_snoop - Register to snoop sent and received MADs. : The device to register with. : The port on the specified device to use. : Specifies which QP traffic to snoop. Must be either IB_QPT_SMI or IB_QPT_GSI. : Specifies information where snooping occurs. : The callback routine invoked for a snooped send. : The callback routine invoked for a snooped receive. : User specified context associated with the registration.
int ib_unregister_mad_agent | ( | struct ib_mad_agent * | mad_agent | ) |
ib_sa_comp_mask comp_mask |
struct ib_mad_hdr mad_hdr |
struct ib_rmpp_hdr rmpp_hdr |