Lines Matching refs:attrs

34 						 struct nlattr **attrs)  in devlink_port_get_from_attrs()  argument
36 if (attrs[DEVLINK_ATTR_PORT_INDEX]) { in devlink_port_get_from_attrs()
37 u32 port_index = nla_get_u32(attrs[DEVLINK_ATTR_PORT_INDEX]); in devlink_port_get_from_attrs()
51 return devlink_port_get_from_attrs(devlink, info->attrs); in devlink_port_get_from_info()
92 devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_PCI_VF) in devlink_port_fn_migratable_fill()
115 devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_PCI_VF) in devlink_port_fn_ipsec_crypto_fill()
137 devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_PCI_VF) in devlink_port_fn_ipsec_packet_fill()
231 struct devlink_port_attrs *attrs = &devlink_port->attrs; in devlink_nl_port_attrs_put() local
235 if (attrs->lanes) { in devlink_nl_port_attrs_put()
236 if (nla_put_u32(msg, DEVLINK_ATTR_PORT_LANES, attrs->lanes)) in devlink_nl_port_attrs_put()
239 if (nla_put_u8(msg, DEVLINK_ATTR_PORT_SPLITTABLE, attrs->splittable)) in devlink_nl_port_attrs_put()
241 if (nla_put_u16(msg, DEVLINK_ATTR_PORT_FLAVOUR, attrs->flavour)) in devlink_nl_port_attrs_put()
243 switch (devlink_port->attrs.flavour) { in devlink_nl_port_attrs_put()
246 attrs->pci_pf.controller) || in devlink_nl_port_attrs_put()
247 nla_put_u16(msg, DEVLINK_ATTR_PORT_PCI_PF_NUMBER, attrs->pci_pf.pf)) in devlink_nl_port_attrs_put()
249 if (nla_put_u8(msg, DEVLINK_ATTR_PORT_EXTERNAL, attrs->pci_pf.external)) in devlink_nl_port_attrs_put()
254 attrs->pci_vf.controller) || in devlink_nl_port_attrs_put()
255 nla_put_u16(msg, DEVLINK_ATTR_PORT_PCI_PF_NUMBER, attrs->pci_vf.pf) || in devlink_nl_port_attrs_put()
256 nla_put_u16(msg, DEVLINK_ATTR_PORT_PCI_VF_NUMBER, attrs->pci_vf.vf)) in devlink_nl_port_attrs_put()
258 if (nla_put_u8(msg, DEVLINK_ATTR_PORT_EXTERNAL, attrs->pci_vf.external)) in devlink_nl_port_attrs_put()
263 attrs->pci_sf.controller) || in devlink_nl_port_attrs_put()
265 attrs->pci_sf.pf) || in devlink_nl_port_attrs_put()
267 attrs->pci_sf.sf)) in devlink_nl_port_attrs_put()
274 attrs->phys.port_number)) in devlink_nl_port_attrs_put()
276 if (!attrs->split) in devlink_nl_port_attrs_put()
279 attrs->phys.port_number)) in devlink_nl_port_attrs_put()
282 attrs->phys.split_subport_number)) in devlink_nl_port_attrs_put()
738 if (devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_PCI_VF) { in devlink_port_function_validate()
750 if (devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_PCI_VF) { in devlink_port_function_validate()
762 if (devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_PCI_VF) { in devlink_port_function_validate()
835 if (info->attrs[DEVLINK_ATTR_PORT_TYPE]) { in devlink_nl_port_set_doit()
838 port_type = nla_get_u16(info->attrs[DEVLINK_ATTR_PORT_TYPE]); in devlink_nl_port_set_doit()
844 if (info->attrs[DEVLINK_ATTR_PORT_FUNCTION]) { in devlink_nl_port_set_doit()
845 struct nlattr *attr = info->attrs[DEVLINK_ATTR_PORT_FUNCTION]; in devlink_nl_port_set_doit()
867 count = nla_get_u32(info->attrs[DEVLINK_ATTR_PORT_SPLIT_COUNT]); in devlink_nl_port_split_doit()
869 if (!devlink_port->attrs.splittable) { in devlink_nl_port_split_doit()
871 if (devlink_port->attrs.split) in devlink_nl_port_split_doit()
878 if (count < 2 || !is_power_of_2(count) || count > devlink_port->attrs.lanes) { in devlink_nl_port_split_doit()
909 if (!info->attrs[DEVLINK_ATTR_PORT_FLAVOUR] || in devlink_nl_port_new_doit()
910 !info->attrs[DEVLINK_ATTR_PORT_PCI_PF_NUMBER]) { in devlink_nl_port_new_doit()
914 new_attrs.flavour = nla_get_u16(info->attrs[DEVLINK_ATTR_PORT_FLAVOUR]); in devlink_nl_port_new_doit()
916 nla_get_u16(info->attrs[DEVLINK_ATTR_PORT_PCI_PF_NUMBER]); in devlink_nl_port_new_doit()
918 if (info->attrs[DEVLINK_ATTR_PORT_INDEX]) { in devlink_nl_port_new_doit()
921 nla_get_u32(info->attrs[DEVLINK_ATTR_PORT_INDEX]); in devlink_nl_port_new_doit()
924 if (info->attrs[DEVLINK_ATTR_PORT_CONTROLLER_NUMBER]) { in devlink_nl_port_new_doit()
926 nla_get_u16(info->attrs[DEVLINK_ATTR_PORT_CONTROLLER_NUMBER]); in devlink_nl_port_new_doit()
930 info->attrs[DEVLINK_ATTR_PORT_PCI_SF_NUMBER]) { in devlink_nl_port_new_doit()
931 new_attrs.sfnum = nla_get_u32(info->attrs[DEVLINK_ATTR_PORT_PCI_SF_NUMBER]); in devlink_nl_port_new_doit()
984 return devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_CPU && in devlink_port_type_should_warn()
985 devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_DSA && in devlink_port_type_should_warn()
986 devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_UNUSED; in devlink_port_type_should_warn()
1339 struct devlink_port_attrs *attrs = &devlink_port->attrs; in __devlink_port_attrs_set() local
1342 attrs->flavour = flavour; in __devlink_port_attrs_set()
1343 if (attrs->switch_id.id_len) { in __devlink_port_attrs_set()
1345 if (WARN_ON(attrs->switch_id.id_len > MAX_PHYS_ITEM_ID_LEN)) in __devlink_port_attrs_set()
1346 attrs->switch_id.id_len = MAX_PHYS_ITEM_ID_LEN; in __devlink_port_attrs_set()
1360 struct devlink_port_attrs *attrs) in devlink_port_attrs_set() argument
1366 devlink_port->attrs = *attrs; in devlink_port_attrs_set()
1367 ret = __devlink_port_attrs_set(devlink_port, attrs->flavour); in devlink_port_attrs_set()
1370 WARN_ON(attrs->splittable && attrs->split); in devlink_port_attrs_set()
1385 struct devlink_port_attrs *attrs = &devlink_port->attrs; in devlink_port_attrs_pci_pf_set() local
1394 attrs->pci_pf.controller = controller; in devlink_port_attrs_pci_pf_set()
1395 attrs->pci_pf.pf = pf; in devlink_port_attrs_pci_pf_set()
1396 attrs->pci_pf.external = external; in devlink_port_attrs_pci_pf_set()
1413 struct devlink_port_attrs *attrs = &devlink_port->attrs; in devlink_port_attrs_pci_vf_set() local
1422 attrs->pci_vf.controller = controller; in devlink_port_attrs_pci_vf_set()
1423 attrs->pci_vf.pf = pf; in devlink_port_attrs_pci_vf_set()
1424 attrs->pci_vf.vf = vf; in devlink_port_attrs_pci_vf_set()
1425 attrs->pci_vf.external = external; in devlink_port_attrs_pci_vf_set()
1441 struct devlink_port_attrs *attrs = &devlink_port->attrs; in devlink_port_attrs_pci_sf_set() local
1450 attrs->pci_sf.controller = controller; in devlink_port_attrs_pci_sf_set()
1451 attrs->pci_sf.pf = pf; in devlink_port_attrs_pci_sf_set()
1452 attrs->pci_sf.sf = sf; in devlink_port_attrs_pci_sf_set()
1453 attrs->pci_sf.external = external; in devlink_port_attrs_pci_sf_set()
1488 if (WARN_ON(devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_PCI_SF || in devl_port_fn_devlink_set()
1489 devlink_port->attrs.pci_sf.external)) in devl_port_fn_devlink_set()
1519 struct devlink_port_attrs *attrs = &devlink_port->attrs; in __devlink_port_phys_port_name_get() local
1525 switch (attrs->flavour) { in __devlink_port_phys_port_name_get()
1532 attrs->phys.port_number); in __devlink_port_phys_port_name_get()
1533 if (n < len && attrs->split) in __devlink_port_phys_port_name_get()
1535 attrs->phys.split_subport_number); in __devlink_port_phys_port_name_get()
1546 if (attrs->pci_pf.external) { in __devlink_port_phys_port_name_get()
1547 n = snprintf(name, len, "c%u", attrs->pci_pf.controller); in __devlink_port_phys_port_name_get()
1553 n = snprintf(name, len, "pf%u", attrs->pci_pf.pf); in __devlink_port_phys_port_name_get()
1556 if (attrs->pci_vf.external) { in __devlink_port_phys_port_name_get()
1557 n = snprintf(name, len, "c%u", attrs->pci_vf.controller); in __devlink_port_phys_port_name_get()
1564 attrs->pci_vf.pf, attrs->pci_vf.vf); in __devlink_port_phys_port_name_get()
1567 if (attrs->pci_sf.external) { in __devlink_port_phys_port_name_get()
1568 n = snprintf(name, len, "c%u", attrs->pci_sf.controller); in __devlink_port_phys_port_name_get()
1574 n = snprintf(name, len, "pf%usf%u", attrs->pci_sf.pf, in __devlink_port_phys_port_name_get()
1575 attrs->pci_sf.sf); in __devlink_port_phys_port_name_get()
1618 memcpy(ppid, &devlink_port->attrs.switch_id, sizeof(*ppid)); in devlink_compat_switch_id_get()