Lines Matching refs:cxlmd
1065 struct cxl_memdev *cxlmd = data; in delete_endpoint() local
1066 struct cxl_port *endpoint = dev_get_drvdata(&cxlmd->dev); in delete_endpoint()
1070 parent_port = cxl_mem_find_port(cxlmd, NULL); in delete_endpoint()
1086 int cxl_endpoint_autoremove(struct cxl_memdev *cxlmd, struct cxl_port *endpoint) in cxl_endpoint_autoremove() argument
1088 struct device *dev = &cxlmd->dev; in cxl_endpoint_autoremove()
1092 return devm_add_action_or_reset(dev, delete_endpoint, cxlmd); in cxl_endpoint_autoremove()
1125 int devm_cxl_add_endpoint(struct cxl_memdev *cxlmd, in devm_cxl_add_endpoint() argument
1129 struct cxl_dev_state *cxlds = cxlmd->cxlds; in devm_cxl_add_endpoint()
1141 ep = cxl_ep_load(iter, cxlmd); in devm_cxl_add_endpoint()
1145 endpoint = devm_cxl_add_port(&parent_port->dev, &cxlmd->dev, in devm_cxl_add_endpoint()
1150 dev_dbg(&cxlmd->dev, "add: %s\n", dev_name(&endpoint->dev)); in devm_cxl_add_endpoint()
1152 rc = cxl_endpoint_autoremove(cxlmd, endpoint); in devm_cxl_add_endpoint()
1157 dev_err(&cxlmd->dev, "%s failed probe\n", in devm_cxl_add_endpoint()
1168 struct cxl_memdev *cxlmd = data; in cxl_detach_ep() local
1171 for (iter = &cxlmd->dev; iter; iter = grandparent(iter)) { in cxl_detach_ep()
1204 ep = cxl_ep_load(port, cxlmd); in cxl_detach_ep()
1205 dev_dbg(&cxlmd->dev, "disconnect %s from %s\n", in cxl_detach_ep()
1222 dev_dbg(&cxlmd->dev, "delete %s\n", in cxl_detach_ep()
1249 static int add_port_attach_ep(struct cxl_memdev *cxlmd, in add_port_attach_ep() argument
1265 dev_dbg(&cxlmd->dev, "%s is a root dport\n", in add_port_attach_ep()
1278 dev_warn(&cxlmd->dev, in add_port_attach_ep()
1300 dev_dbg(&cxlmd->dev, "add to new port %s:%s\n", in add_port_attach_ep()
1302 rc = cxl_add_ep(dport, &cxlmd->dev); in add_port_attach_ep()
1317 int devm_cxl_enumerate_ports(struct cxl_memdev *cxlmd) in devm_cxl_enumerate_ports() argument
1319 struct device *dev = &cxlmd->dev; in devm_cxl_enumerate_ports()
1323 rc = devm_add_action_or_reset(&cxlmd->dev, cxl_detach_ep, cxlmd); in devm_cxl_enumerate_ports()
1354 dev_dbg(&cxlmd->dev, in devm_cxl_enumerate_ports()
1357 rc = cxl_add_ep(dport, &cxlmd->dev); in devm_cxl_enumerate_ports()
1381 rc = add_port_attach_ep(cxlmd, uport_dev, dport_dev); in devm_cxl_enumerate_ports()
1396 struct cxl_port *cxl_mem_find_port(struct cxl_memdev *cxlmd, in cxl_mem_find_port() argument
1399 return find_cxl_port(grandparent(&cxlmd->dev), dport); in cxl_mem_find_port()
1806 bool schedule_cxl_memdev_detach(struct cxl_memdev *cxlmd) in schedule_cxl_memdev_detach() argument
1808 return queue_work(cxl_bus_wq, &cxlmd->detach_work); in schedule_cxl_memdev_detach()