iPXE
ib_smc.h File Reference

Infiniband Subnet Management Client. More...

#include <ipxe/infiniband.h>

Go to the source code of this file.

Typedefs

typedef int(* ib_local_mad_t) (struct ib_device *ibdev, union ib_mad *mad)

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
int ib_smc_init (struct ib_device *ibdev, ib_local_mad_t local_mad)
 Initialise Infiniband parameters using SMC.
int ib_smc_update (struct ib_device *ibdev, ib_local_mad_t local_mad)
 Update Infiniband parameters using SMC.

Detailed Description

Infiniband Subnet Management Client.

Definition in file ib_smc.h.

Typedef Documentation

◆ ib_local_mad_t

typedef int(* ib_local_mad_t) (struct ib_device *ibdev, union ib_mad *mad)

Definition at line 14 of file ib_smc.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )

◆ ib_smc_init()

int ib_smc_init ( struct ib_device * ibdev,
ib_local_mad_t local_mad )
extern

Initialise Infiniband parameters using SMC.

Parameters
ibdevInfiniband device
local_madMethod for issuing local MADs
Return values
rcReturn status code

Definition at line 232 of file ib_smc.c.

232 {
233 int rc;
234
235 /* Get MAD parameters */
236 if ( ( rc = ib_smc_get ( ibdev, local_mad ) ) != 0 )
237 return rc;
238
239 return 0;
240}
struct arbelprm_rc_send_wqe rc
Definition arbel.h:3
static int ib_smc_get(struct ib_device *ibdev, ib_local_mad_t local_mad)
Get Infiniband parameters using SMC.
Definition ib_smc.c:172

References ib_smc_get(), and rc.

Referenced by arbel_probe(), and hermon_register_ibdev().

◆ ib_smc_update()

int ib_smc_update ( struct ib_device * ibdev,
ib_local_mad_t local_mad )
extern

Update Infiniband parameters using SMC.

Parameters
ibdevInfiniband device
local_madMethod for issuing local MADs
Return values
rcReturn status code

Definition at line 249 of file ib_smc.c.

249 {
250 int rc;
251
252 /* Get MAD parameters */
253 if ( ( rc = ib_smc_get ( ibdev, local_mad ) ) != 0 )
254 return rc;
255
256 /* Notify Infiniband core of potential link state change */
257 ib_link_state_changed ( ibdev );
258
259 return 0;
260}
void ib_link_state_changed(struct ib_device *ibdev)
Notify of Infiniband link state change.
Definition infiniband.c:637

References ib_link_state_changed(), ib_smc_get(), and rc.

Referenced by arbel_event_port_state_change(), arbel_ib_open(), arbel_inform_sma(), arbel_poll_eq(), hermon_event_port_mgmnt_change(), hermon_ib_open(), hermon_inform_sma(), hermon_poll_eq(), and hermon_state_change_ibdev().