Lines Matching defs:port
11 * DOC: cxl port
13 * The port driver enumerates dport via PCI and scans for HDM
16 * port. All descendant ports of a CXL root port (described by platform
60 static int cxl_switch_port_probe(struct cxl_port *port)
65 rc = devm_cxl_port_enumerate_dports(port);
69 cxlhdm = devm_cxl_setup_hdm(port, NULL);
74 dev_err(&port->dev, "Failed to map HDM decoder capability\n");
79 dev_dbg(&port->dev, "Fallback to passthrough decoder\n");
80 return devm_cxl_add_passthrough_decoder(port);
83 dev_err(&port->dev, "HDM decoder capability not found\n");
87 static int cxl_endpoint_port_probe(struct cxl_port *port)
89 struct cxl_endpoint_dvsec_info info = { .port = port };
90 struct cxl_memdev *cxlmd = to_cxl_memdev(port->uport_dev);
100 cxlhdm = devm_cxl_setup_hdm(port, &info);
103 dev_err(&port->dev, "HDM decoder registers not found\n");
108 read_cdat_data(port);
111 rc = devm_add_action_or_reset(&port->dev, schedule_detach, cxlmd);
127 root = find_cxl_root(port);
133 device_for_each_child(&port->dev, root, discover_region);
141 struct cxl_port *port = to_cxl_port(dev);
143 if (is_cxl_endpoint(port))
144 return cxl_endpoint_port_probe(port);
145 return cxl_switch_port_probe(port);
153 struct cxl_port *port = to_cxl_port(dev);
155 if (!port->cdat_available)
158 if (!port->cdat.table)
162 port->cdat.table,
163 port->cdat.length);
172 struct cxl_port *port = to_cxl_port(dev);
174 if ((attr == &bin_attr_CDAT) && port->cdat_available)