198 uint16_t pa_port_num;
199 uint32_t pa_vendorid;
200 uint32_t pa_productid;
201 uint32_t pa_dev_version;
202 ibt_port_state_t pa_state;
203 ibmf_saa_handle_t pa_sa_hdl;
204 ibmf_impl_caps_t pa_ibmf_caps;
205 ibt_hca_hdl_t pa_hca_hdl;
206 } ibdm_port_attr_t;
207 _NOTE(SCHEME_PROTECTS_DATA("Serialized access by cv", ibdm_port_attr_s))
208
209 /*
210 * HCA list structure.
211 */
212 typedef struct ibdm_hca_list_s {
213 ibdm_port_attr_t *hl_port_attr; /* port attributes */
214 struct ibdm_hca_list_s *hl_next; /* ptr to next list */
215 ib_guid_t hl_hca_guid; /* HCA GUID */
216 uint32_t hl_nports; /* #ports of this HCA */
217 uint32_t hl_nports_active; /* #ports active */
218 time_t hl_attach_time; /* attach time */
219 ibt_hca_hdl_t hl_hca_hdl; /* HCA handle */
220 ibdm_port_attr_t *hl_hca_port_attr; /* Dummy Port Attr */
221 /* for HCA node */
222 } ibdm_hca_list_t;
223 _NOTE(SCHEME_PROTECTS_DATA("Serialized access by cv", ibdm_hca_list_s))
224
225 /*
226 * The DM callback definitions
227 *
228 * ibdm_callback_t
229 * Pointer to DM callback function
230 * IBDM notifies IB nexus of ibdm_event_t using this callback.
231 * Arguments
232 * arg : The value of "arg" depends on the "event"
233 * IBDM_EVENT_CREATE_HCA_NODE (pointer to HCA GUID)
234 * IBDM_EVENT_REMOVE_HCA_NODE (pointer to HCA GUID)
235 * IBDM_EVENT_IOC_PROP_UPDATE (ibdm_ioc_info_t *)
236 *
237 * event : ibdm_event_t values
238 *
389 * ibdm_ibnex_get_hca_info_by_guid() functions.
390 */
391 void ibdm_ibnex_free_hca_list(ibdm_hca_list_t *);
392
393 /*
394 * ibdm_ibnex_update_pkey_tbls
395 * Updates the DM P_Key database.
396 *
397 * Arguments : NONE
398 * Return Values : NONE
399 */
400 void ibdm_ibnex_update_pkey_tbls(void);
401
402 /*
403 * ibdm_ibnex_port_settle_wait
404 * Wait until the ports come up
405 *
406 * Arguments
407 * HCA GUID and the maximum wait time since the hca instance attach
408 */
409 void ibdm_ibnex_port_settle_wait(ib_guid_t, int);
410
411
412 #ifdef __cplusplus
413 }
414 #endif
415
416 #endif /* _SYS_IB_MGT_IBDM_IBDM_IBNEX_H */
|
198 uint16_t pa_port_num;
199 uint32_t pa_vendorid;
200 uint32_t pa_productid;
201 uint32_t pa_dev_version;
202 ibt_port_state_t pa_state;
203 ibmf_saa_handle_t pa_sa_hdl;
204 ibmf_impl_caps_t pa_ibmf_caps;
205 ibt_hca_hdl_t pa_hca_hdl;
206 } ibdm_port_attr_t;
207 _NOTE(SCHEME_PROTECTS_DATA("Serialized access by cv", ibdm_port_attr_s))
208
209 /*
210 * HCA list structure.
211 */
212 typedef struct ibdm_hca_list_s {
213 ibdm_port_attr_t *hl_port_attr; /* port attributes */
214 struct ibdm_hca_list_s *hl_next; /* ptr to next list */
215 ib_guid_t hl_hca_guid; /* HCA GUID */
216 uint32_t hl_nports; /* #ports of this HCA */
217 uint32_t hl_nports_active; /* #ports active */
218 hrtime_t hl_attach_time; /* attach time */
219 ibt_hca_hdl_t hl_hca_hdl; /* HCA handle */
220 ibdm_port_attr_t *hl_hca_port_attr; /* Dummy Port Attr */
221 /* for HCA node */
222 } ibdm_hca_list_t;
223 _NOTE(SCHEME_PROTECTS_DATA("Serialized access by cv", ibdm_hca_list_s))
224
225 /*
226 * The DM callback definitions
227 *
228 * ibdm_callback_t
229 * Pointer to DM callback function
230 * IBDM notifies IB nexus of ibdm_event_t using this callback.
231 * Arguments
232 * arg : The value of "arg" depends on the "event"
233 * IBDM_EVENT_CREATE_HCA_NODE (pointer to HCA GUID)
234 * IBDM_EVENT_REMOVE_HCA_NODE (pointer to HCA GUID)
235 * IBDM_EVENT_IOC_PROP_UPDATE (ibdm_ioc_info_t *)
236 *
237 * event : ibdm_event_t values
238 *
389 * ibdm_ibnex_get_hca_info_by_guid() functions.
390 */
391 void ibdm_ibnex_free_hca_list(ibdm_hca_list_t *);
392
393 /*
394 * ibdm_ibnex_update_pkey_tbls
395 * Updates the DM P_Key database.
396 *
397 * Arguments : NONE
398 * Return Values : NONE
399 */
400 void ibdm_ibnex_update_pkey_tbls(void);
401
402 /*
403 * ibdm_ibnex_port_settle_wait
404 * Wait until the ports come up
405 *
406 * Arguments
407 * HCA GUID and the maximum wait time since the hca instance attach
408 */
409 void ibdm_ibnex_port_settle_wait(ib_guid_t, time_t);
410
411
412 #ifdef __cplusplus
413 }
414 #endif
415
416 #endif /* _SYS_IB_MGT_IBDM_IBDM_IBNEX_H */
|