Lines Matching refs:dport

152 		struct cxl_dport *dport = cxlsd->target[i];  in emit_target_list()  local
155 if (!dport) in emit_target_list()
160 rc = sysfs_emit_at(buf, offset, "%d%s", dport->port_id, in emit_target_list()
728 static int cxl_dport_setup_regs(struct device *host, struct cxl_dport *dport, in cxl_dport_setup_regs() argument
733 if (dev_is_platform(dport->dport_dev)) in cxl_dport_setup_regs()
741 rc = cxl_setup_comp_regs(dport->dport_dev, &dport->comp_map, in cxl_dport_setup_regs()
743 dport->comp_map.host = host; in cxl_dport_setup_regs()
904 struct cxl_dport *dport; in find_dport() local
908 xa_for_each(&port->dports, index, dport) in find_dport()
909 if (dport->port_id == id) in find_dport()
910 return dport; in find_dport()
914 static int add_dport(struct cxl_port *port, struct cxl_dport *dport) in add_dport() argument
920 dup = find_dport(port, dport->port_id); in add_dport()
924 dport->port_id, dev_name(dport->dport_dev), in add_dport()
929 rc = xa_insert(&port->dports, (unsigned long)dport->dport_dev, dport, in add_dport()
959 struct cxl_dport *dport = data; in cxl_dport_remove() local
960 struct cxl_port *port = dport->port; in cxl_dport_remove()
962 xa_erase(&port->dports, (unsigned long) dport->dport_dev); in cxl_dport_remove()
963 put_device(dport->dport_dev); in cxl_dport_remove()
968 struct cxl_dport *dport = data; in cxl_dport_unlink() local
969 struct cxl_port *port = dport->port; in cxl_dport_unlink()
972 sprintf(link_name, "dport%d", dport->port_id); in cxl_dport_unlink()
982 struct cxl_dport *dport; in __devm_cxl_add_dport() local
1001 dport = devm_kzalloc(host, sizeof(*dport), GFP_KERNEL); in __devm_cxl_add_dport()
1002 if (!dport) in __devm_cxl_add_dport()
1005 dport->dport_dev = dport_dev; in __devm_cxl_add_dport()
1006 dport->port_id = port_id; in __devm_cxl_add_dport()
1007 dport->port = port; in __devm_cxl_add_dport()
1010 rc = cxl_dport_setup_regs(&port->dev, dport, in __devm_cxl_add_dport()
1015 dport->rcrb.base = rcrb; in __devm_cxl_add_dport()
1016 component_reg_phys = __rcrb_to_component(dport_dev, &dport->rcrb, in __devm_cxl_add_dport()
1027 rc = cxl_dport_setup_regs(NULL, dport, component_reg_phys); in __devm_cxl_add_dport()
1031 dport->rch = true; in __devm_cxl_add_dport()
1039 rc = add_dport(port, dport); in __devm_cxl_add_dport()
1045 rc = devm_add_action_or_reset(host, cxl_dport_remove, dport); in __devm_cxl_add_dport()
1053 rc = devm_add_action_or_reset(host, cxl_dport_unlink, dport); in __devm_cxl_add_dport()
1057 return dport; in __devm_cxl_add_dport()
1075 struct cxl_dport *dport; in devm_cxl_add_dport() local
1077 dport = __devm_cxl_add_dport(port, dport_dev, port_id, in devm_cxl_add_dport()
1079 if (IS_ERR(dport)) { in devm_cxl_add_dport()
1081 dev_name(&port->dev), PTR_ERR(dport)); in devm_cxl_add_dport()
1087 return dport; in devm_cxl_add_dport()
1104 struct cxl_dport *dport; in devm_cxl_add_rch_dport() local
1111 dport = __devm_cxl_add_dport(port, dport_dev, port_id, in devm_cxl_add_rch_dport()
1113 if (IS_ERR(dport)) { in devm_cxl_add_rch_dport()
1115 dev_name(&port->dev), PTR_ERR(dport)); in devm_cxl_add_rch_dport()
1121 return dport; in devm_cxl_add_rch_dport()
1127 struct cxl_port *port = new->dport->port; in add_ep()
1151 static int cxl_add_ep(struct cxl_dport *dport, struct device *ep_dev) in cxl_add_ep() argument
1161 ep->dport = dport; in cxl_add_ep()
1172 struct cxl_dport **dport; member
1178 struct cxl_dport *dport; in match_port_by_dport() local
1187 dport = cxl_find_dport_by_dev(port, ctx->dport_dev); in match_port_by_dport()
1188 if (ctx->dport) in match_port_by_dport()
1189 *ctx->dport = dport; in match_port_by_dport()
1190 return dport != NULL; in match_port_by_dport()
1207 struct cxl_dport **dport) in find_cxl_port() argument
1211 .dport = dport, in find_cxl_port()
1221 struct cxl_dport **dport) in find_cxl_port_at() argument
1226 .dport = dport, in find_cxl_port_at()
1306 struct cxl_dport *dport; in reap_dports() local
1311 xa_for_each(&port->dports, index, dport) { in reap_dports()
1312 devm_release_action(&port->dev, cxl_dport_unlink, dport); in reap_dports()
1313 devm_release_action(&port->dev, cxl_dport_remove, dport); in reap_dports()
1314 devm_kfree(&port->dev, dport); in reap_dports()
1412 struct cxl_dport *dport, *parent_dport; in add_port_attach_ep() local
1442 port = find_cxl_port_at(parent_port, dport_dev, &dport); in add_port_attach_ep()
1449 port = find_cxl_port_at(parent_port, dport_dev, &dport); in add_port_attach_ep()
1459 rc = cxl_add_ep(dport, &cxlmd->dev); in add_port_attach_ep()
1500 struct cxl_dport *dport; in devm_cxl_enumerate_ports() local
1516 port = find_cxl_port(dport_dev, &dport); in devm_cxl_enumerate_ports()
1522 rc = cxl_add_ep(dport, &cxlmd->dev); in devm_cxl_enumerate_ports()
1562 struct cxl_dport **dport) in cxl_pci_find_port() argument
1564 return find_cxl_port(pdev->dev.parent, dport); in cxl_pci_find_port()
1569 struct cxl_dport **dport) in cxl_mem_find_port() argument
1571 return find_cxl_port(grandparent(&cxlmd->dev), dport); in cxl_mem_find_port()
1590 struct cxl_dport *dport = find_dport(port, target_map[i]); in decoder_populate_targets() local
1592 if (!dport) in decoder_populate_targets()
1594 cxlsd->target[i] = dport; in decoder_populate_targets()