Lines Matching refs:ca_name

104 static int find_cached_ca(const char *ca_name, umad_ca_t * ca)
130 static int get_port(const char *ca_name, const char *dir, int portnum, umad_port_t * port)
138 strncpy(port->ca_name, ca_name, sizeof port->ca_name - 1);
185 port->ca_name, port->portnum, port_dir);
240 static int resolve_ca_port(const char *ca_name, int *port)
246 TRACE("checking ca '%s'", ca_name);
248 if (umad_get_ca(ca_name, &ca) < 0)
323 static const char *resolve_ca_name(const char *ca_name, int *best_port)
329 if (ca_name && (!best_port || *best_port))
330 return ca_name;
332 if (ca_name) {
333 if (resolve_ca_port(ca_name, best_port) < 0)
335 return ca_name;
381 static int get_ca(const char *ca_name, umad_ca_t * ca)
390 strncpy(ca->ca_name, ca_name, sizeof(ca->ca_name) - 1);
393 ca->ca_name);
413 SYS_INFINIBAND, ca->ca_name, SYS_CA_PORTS_DIR);
437 if (get_port(ca_name, dir_name, portnum, ca->ports[portnum]) <
533 static unsigned is_ib_type(const char *ca_name)
538 snprintf(dir_name, sizeof(dir_name), "%s/%s", SYS_INFINIBAND, ca_name);
576 int umad_get_ca_portguids(const char *ca_name, __be64 *portguids, int max)
581 TRACE("ca name %s max port guids %d", ca_name, max);
582 if (!(ca_name = resolve_ca_name(ca_name, NULL)))
585 if (umad_get_ca(ca_name, &ca) < 0)
600 DEBUG("%s: %d ports", ca_name, ports);
605 int umad_get_issm_path(const char *ca_name, int portnum, char path[], int max)
609 TRACE("ca %s port %d", ca_name, portnum);
611 if (!(ca_name = resolve_ca_name(ca_name, &portnum)))
614 if ((umad_id = dev_to_umad_id(ca_name, portnum)) < 0)
622 int umad_open_port(const char *ca_name, int portnum)
627 TRACE("ca %s port %d", ca_name, portnum);
629 if (!(ca_name = resolve_ca_name(ca_name, &portnum)))
632 DEBUG("opening %s port %d", ca_name, portnum);
634 if ((umad_id = dev_to_umad_id(ca_name, portnum)) < 0)
654 int umad_get_ca(const char *ca_name, umad_ca_t * ca)
658 TRACE("ca_name %s", ca_name);
659 if (!(ca_name = resolve_ca_name(ca_name, NULL)))
662 if (find_cached_ca(ca_name, ca) > 0)
665 if ((r = get_ca(ca_name, ca)) < 0)
668 DEBUG("opened %s", ca_name);
676 TRACE("ca_name %s", ca->ca_name);
683 DEBUG("releasing %s", ca->ca_name);
687 int umad_get_port(const char *ca_name, int portnum, umad_port_t * port)
691 TRACE("ca_name %s portnum %d", ca_name, portnum);
693 if (!(ca_name = resolve_ca_name(ca_name, &portnum)))
697 SYS_INFINIBAND, ca_name, SYS_CA_PORTS_DIR);
699 return get_port(ca_name, dir_name, portnum, port);
706 TRACE("port %s:%d", port->ca_name, port->portnum);
713 DEBUG("releasing %s:%d", port->ca_name, port->portnum);