Lines Matching defs:hca_devp

37 static ibt_status_t ibtl_query_hca_ports(ibtl_hca_devinfo_t *hca_devp,
67 ibtl_hca_devinfo_t *hca_devp; /* HCA Dev Info */
76 hca_devp = ibtl_get_hcadevinfo(hca_guid);
77 if (hca_devp == NULL) {
95 if (ddi_get_parent(ibt_hdl->clnt_dip) == hca_devp->hd_hca_dip) {
96 if (hca_guid != hca_devp->hd_hca_attr->hca_node_guid) {
103 if (hca_devp->hd_state != IBTL_HCA_DEV_ATTACHED) {
124 hca_infop = hca_devp->hd_clnt_list;
150 hca_infop->ha_hca_devp = hca_devp; /* HCA Device Info */
154 hca_infop->ha_clnt_link = hca_devp->hd_clnt_list;
155 hca_devp->hd_clnt_list = hca_infop;
201 ibtl_hca_devinfo_t *hca_devp, *tmp_devp;
213 hca_devp = hca_hdl->ha_hca_devp;
217 if (tmp_devp == hca_devp)
272 hcapp = &hca_devp->hd_clnt_list;
327 ibtl_hca_devinfo_t *hca_devp;
334 hca_devp = ibtl_hca_list;
335 while (hca_devp != NULL) {
337 hca_devp = hca_devp->hd_hca_dev_link;
352 hca_devp = ibtl_hca_list;
353 while (hca_devp != NULL) {
355 *hca_listp++ = hca_devp->hd_hca_attr->hca_node_guid;
356 hca_devp = hca_devp->hd_hca_dev_link;
398 ibtl_portinfo_locked(ibtl_hca_devinfo_t *hca_devp, uint8_t port)
403 if (hca_devp->hd_portinfo_locked_port == 0) {
404 hca_devp->hd_portinfo_locked_port = port;
406 } else if (hca_devp->hd_portinfo_locked_port == port) {
409 hca_devp, port);
410 hca_devp->hd_portinfo_waiters = 1;
411 cv_wait(&hca_devp->hd_portinfo_cv,
416 hca_devp->hd_portinfo_waiters = 1;
417 cv_wait(&hca_devp->hd_portinfo_cv,
424 ibtl_portinfo_unlock(ibtl_hca_devinfo_t *hca_devp, uint8_t port)
427 ASSERT(hca_devp->hd_portinfo_locked_port == port);
428 hca_devp->hd_portinfo_locked_port = 0;
429 if (hca_devp->hd_portinfo_waiters) {
430 hca_devp->hd_portinfo_waiters = 0;
431 cv_broadcast(&hca_devp->hd_portinfo_cv);
434 port, hca_devp);
442 * hca_devp - The HCA Dev Info pointer.
454 ibtl_get_port_state(ibtl_hca_devinfo_t *hca_devp, uint8_t port,
461 if ((port < 1) || (port > hca_devp->hd_hca_attr->hca_nports)) {
464 hca_devp->hd_hca_attr->hca_nports);
467 portinfop = hca_devp->hd_portinfop + port - 1;
469 ibtl_reinit_hca_portinfo(hca_devp, port);
538 ibtl_hca_devinfo_t *hca_devp; /* HCA Dev Info */
544 hca_devp = ibtl_get_hcadevinfo(hca_guid);
545 if (hca_devp == NULL)
548 retval = ibtl_get_port_state(hca_devp, port, sgid_p,
573 ibtl_hca_devinfo_t *hca_devp; /* HCA Dev Info. */
579 hca_devp = ibtl_get_hcadevinfo(hca_guid);
580 if (hca_devp == NULL) {
591 bcopy(hca_devp->hd_hca_attr, hca_attrs, sizeof (ibt_hca_attr_t));
686 ibtl_hca_devinfo_t *hca_devp; /* HCA Dev Info */
690 hca_devp = ibtl_get_hcadevinfo(hca_guid);
691 if (hca_devp == NULL) {
704 retval = ibtl_query_hca_ports(hca_devp, port, port_info_p, ports_p,
719 ibtl_hca_devinfo_t *hca_devp; /* HCA Dev Info */
723 hca_devp = ibtl_get_hcadevinfo(hca_guid);
724 if (hca_devp == NULL) {
737 retval = ibtl_query_hca_ports(hca_devp, port, port_info_p, ports_p,
750 ibtl_query_one_port(ibtl_hca_devinfo_t *hca_devp, uint8_t port,
763 hca_devp, port);
765 if (port > hca_devp->hd_hca_attr->hca_nports) {
772 sp1 = hca_devp->hd_portinfop + port - 1;
774 ibtl_reinit_hca_portinfo(hca_devp, port);
809 ibtl_query_hca_ports(ibtl_hca_devinfo_t *hca_devp, uint8_t port,
827 return (ibtl_query_one_port(hca_devp, port, port_info_p,
830 IBTF_DPRINTF_L3(ibtf_hca, "ibtl_query_hca_ports(%p, ALL)", hca_devp);
832 nports = hca_devp->hd_hca_attr->hca_nports;
838 ibtl_reinit_hca_portinfo(hca_devp, i + 1);
840 sp1 = hca_devp->hd_portinfop;
854 ASSERT(len == hca_devp->hd_portinfo_len);
906 ibtl_reinit_hca_portinfo(ibtl_hca_devinfo_t *hca_devp, uint8_t port)
919 hca_devp, port);
924 if (ibtl_portinfo_locked(hca_devp, port)) {
930 p1 = hca_devp->hd_portinfop + port - 1;
941 "calling ibc_query_hca_ports", hca_devp, port);
947 status = IBTL_HDIP2CIHCAOPS_P(hca_devp)->ibc_query_hca_ports(
948 IBTL_HDIP2CIHCA(hca_devp), port, sp1);
955 hca_devp, port, status);
970 "PORT UP", hca_devp, port);
977 "PORT DOWN", hca_devp, port);
984 p1 = hca_devp->hd_portinfop;
985 for (i = 0; i < hca_devp->hd_hca_attr->hca_nports; i++) {
1001 hca_devp->hd_multism = multiSM;
1003 ibtl_portinfo_unlock(hca_devp, port);
1011 ibtl_init_hca_portinfo(ibtl_hca_devinfo_t *hca_devp)
1023 IBTF_DPRINTF_L2(ibtf_hca, "ibtl_init_hca_portinfo(%p)", hca_devp);
1027 nports = hca_devp->hd_hca_attr->hca_nports;
1032 pkey_tbl_sz = IBTL_HDIP2PKEYTBLSZ(hca_devp);
1033 sgid_tbl_sz = IBTL_HDIP2SGIDTBLSZ(hca_devp);
1045 hca_devp->hd_portinfop = p1;
1046 hca_devp->hd_portinfo_len = len;
1058 p1 = hca_devp->hd_portinfop;
1062 retval = IBTL_HDIP2CIHCAOPS_P(hca_devp)->ibc_query_hca_ports(
1063 IBTL_HDIP2CIHCA(hca_devp), 0, p1);
1069 hca_devp, retval);
1070 kmem_free(hca_devp->hd_portinfop, len);
1071 hca_devp->hd_portinfop = NULL;
1072 hca_devp->hd_portinfo_len = 0;
1076 p1 = hca_devp->hd_portinfop;
1096 hca_devp->hd_multism = multiSM;
1142 ibtl_hca_devinfo_t *hca_devp; /* HCA Dev Info. */
1150 hca_devp = ibtl_get_hcadevinfo(hca_guid);
1151 if (hca_devp == NULL) {
1160 retval = IBTL_HDIP2CIHCAOPS_P(hca_devp)->ibc_modify_system_image(
1161 IBTL_HDIP2CIHCA(hca_devp), sys_guid);
1190 ibtl_hca_devinfo_t *hca_devp; /* HCA Dev Info. */
1198 hca_devp = ibtl_get_hcadevinfo(hca_guid);
1199 if (hca_devp == NULL) {
1208 retval = IBTL_HDIP2CIHCAOPS_P(hca_devp)->ibc_modify_ports(
1209 IBTL_HDIP2CIHCA(hca_devp), port, flags, init_type);
1297 ibtl_hca_devinfo_t *hca_devp; /* HCA Dev Info */
1303 hca_devp = ibtl_hca_list;
1310 while (hca_devp != NULL) {
1311 if (hca_devp->hd_hca_attr->hca_node_guid == hca_guid) {
1315 hca_devp = hca_devp->hd_hca_dev_link;
1317 return (hca_devp);
1325 * hca_devp - The IBTL HCA Device Info.
1337 ibtl_pkey2index(ibtl_hca_devinfo_t *hca_devp, uint8_t port_num,
1345 hca_devp, port_num, pkey);
1353 ports = hca_devp->hd_hca_attr->hca_nports;
1360 port_infop = hca_devp->hd_portinfop + port_num - 1;
1374 * hca_devp - The IBTL HCA Device Info.
1386 ibtl_index2pkey(ibtl_hca_devinfo_t *hca_devp, uint8_t port_num,
1393 hca_devp, port_num, pkey_ix);
1397 ports = hca_devp->hd_hca_attr->hca_nports;
1404 port_infop = hca_devp->hd_portinfop + port_num - 1;
1470 ibtl_hca_devinfo_t *hca_devp; /* HCA Dev Info */
1476 hca_devp = ibtl_get_hcadevinfo(hca_guid);
1477 if (hca_devp == NULL) {
1483 retval = ibtl_pkey2index(hca_devp, port_num, pkey, pkey_ix);
1542 ibtl_hca_devinfo_t *hca_devp; /* HCA Dev Info */
1548 hca_devp = ibtl_get_hcadevinfo(hca_guid);
1549 if (hca_devp == NULL) {
1555 retval = ibtl_index2pkey(hca_devp, port_num, pkey_ix, pkey);
1642 ibtl_hca_devinfo_t *hca_devp; /* HCA Dev Info */
1653 hca_devp = ibtl_get_hcadevinfo(hca_guid);
1654 if (hca_devp == NULL) {
1672 hca_infop = hca_devp->hd_clnt_list;