Lines Matching refs:attrs

33 						 struct nlattr **attrs)
35 if (attrs[DEVLINK_ATTR_PORT_INDEX]) {
36 u32 port_index = nla_get_u32(attrs[DEVLINK_ATTR_PORT_INDEX]);
50 return devlink_port_get_from_attrs(devlink, info->attrs);
91 devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_PCI_VF)
114 devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_PCI_VF)
136 devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_PCI_VF)
206 struct devlink_port_attrs *attrs = &devlink_port->attrs;
210 if (attrs->lanes) {
211 if (nla_put_u32(msg, DEVLINK_ATTR_PORT_LANES, attrs->lanes))
214 if (nla_put_u8(msg, DEVLINK_ATTR_PORT_SPLITTABLE, attrs->splittable))
216 if (nla_put_u16(msg, DEVLINK_ATTR_PORT_FLAVOUR, attrs->flavour))
218 switch (devlink_port->attrs.flavour) {
221 attrs->pci_pf.controller) ||
222 nla_put_u16(msg, DEVLINK_ATTR_PORT_PCI_PF_NUMBER, attrs->pci_pf.pf))
224 if (nla_put_u8(msg, DEVLINK_ATTR_PORT_EXTERNAL, attrs->pci_pf.external))
229 attrs->pci_vf.controller) ||
230 nla_put_u16(msg, DEVLINK_ATTR_PORT_PCI_PF_NUMBER, attrs->pci_vf.pf) ||
231 nla_put_u16(msg, DEVLINK_ATTR_PORT_PCI_VF_NUMBER, attrs->pci_vf.vf))
233 if (nla_put_u8(msg, DEVLINK_ATTR_PORT_EXTERNAL, attrs->pci_vf.external))
238 attrs->pci_sf.controller) ||
240 attrs->pci_sf.pf) ||
242 attrs->pci_sf.sf))
249 attrs->phys.port_number))
251 if (!attrs->split)
254 attrs->phys.port_number))
257 attrs->phys.split_subport_number))
689 if (devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_PCI_VF) {
701 if (devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_PCI_VF) {
713 if (devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_PCI_VF) {
773 if (info->attrs[DEVLINK_ATTR_PORT_TYPE]) {
776 port_type = nla_get_u16(info->attrs[DEVLINK_ATTR_PORT_TYPE]);
782 if (info->attrs[DEVLINK_ATTR_PORT_FUNCTION]) {
783 struct nlattr *attr = info->attrs[DEVLINK_ATTR_PORT_FUNCTION];
805 count = nla_get_u32(info->attrs[DEVLINK_ATTR_PORT_SPLIT_COUNT]);
807 if (!devlink_port->attrs.splittable) {
809 if (devlink_port->attrs.split)
816 if (count < 2 || !is_power_of_2(count) || count > devlink_port->attrs.lanes) {
848 if (!info->attrs[DEVLINK_ATTR_PORT_FLAVOUR] ||
849 !info->attrs[DEVLINK_ATTR_PORT_PCI_PF_NUMBER]) {
853 new_attrs.flavour = nla_get_u16(info->attrs[DEVLINK_ATTR_PORT_FLAVOUR]);
855 nla_get_u16(info->attrs[DEVLINK_ATTR_PORT_PCI_PF_NUMBER]);
857 if (info->attrs[DEVLINK_ATTR_PORT_INDEX]) {
860 nla_get_u32(info->attrs[DEVLINK_ATTR_PORT_INDEX]);
863 if (info->attrs[DEVLINK_ATTR_PORT_CONTROLLER_NUMBER]) {
865 nla_get_u16(info->attrs[DEVLINK_ATTR_PORT_CONTROLLER_NUMBER]);
869 info->attrs[DEVLINK_ATTR_PORT_PCI_SF_NUMBER]) {
870 new_attrs.sfnum = nla_get_u32(info->attrs[DEVLINK_ATTR_PORT_PCI_SF_NUMBER]);
923 return devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_CPU &&
924 devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_DSA &&
925 devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_UNUSED;
1278 struct devlink_port_attrs *attrs = &devlink_port->attrs;
1281 attrs->flavour = flavour;
1282 if (attrs->switch_id.id_len) {
1284 if (WARN_ON(attrs->switch_id.id_len > MAX_PHYS_ITEM_ID_LEN))
1285 attrs->switch_id.id_len = MAX_PHYS_ITEM_ID_LEN;
1296 * @attrs: devlink port attrs
1299 struct devlink_port_attrs *attrs)
1305 devlink_port->attrs = *attrs;
1306 ret = __devlink_port_attrs_set(devlink_port, attrs->flavour);
1309 WARN_ON(attrs->splittable && attrs->split);
1324 struct devlink_port_attrs *attrs = &devlink_port->attrs;
1333 attrs->pci_pf.controller = controller;
1334 attrs->pci_pf.pf = pf;
1335 attrs->pci_pf.external = external;
1351 struct devlink_port_attrs *attrs = &devlink_port->attrs;
1360 attrs->pci_vf.controller = controller;
1361 attrs->pci_vf.pf = pf;
1362 attrs->pci_vf.vf = vf;
1363 attrs->pci_vf.external = external;
1379 struct devlink_port_attrs *attrs = &devlink_port->attrs;
1388 attrs->pci_sf.controller = controller;
1389 attrs->pci_sf.pf = pf;
1390 attrs->pci_sf.sf = sf;
1391 attrs->pci_sf.external = external;
1413 struct devlink_port_attrs *attrs = &devlink_port->attrs;
1419 switch (attrs->flavour) {
1426 attrs->phys.port_number);
1427 if (n < len && attrs->split)
1429 attrs->phys.split_subport_number);
1440 if (attrs->pci_pf.external) {
1441 n = snprintf(name, len, "c%u", attrs->pci_pf.controller);
1447 n = snprintf(name, len, "pf%u", attrs->pci_pf.pf);
1450 if (attrs->pci_vf.external) {
1451 n = snprintf(name, len, "c%u", attrs->pci_vf.controller);
1458 attrs->pci_vf.pf, attrs->pci_vf.vf);
1461 if (attrs->pci_sf.external) {
1462 n = snprintf(name, len, "c%u", attrs->pci_sf.controller);
1468 n = snprintf(name, len, "pf%usf%u", attrs->pci_sf.pf,
1469 attrs->pci_sf.sf);
1512 memcpy(ppid, &devlink_port->attrs.switch_id, sizeof(*ppid));