devlink_sb 187 net/core/devlink.c static u16 devlink_sb_pool_count(struct devlink_sb *devlink_sb) devlink_sb 189 net/core/devlink.c return devlink_sb->ingress_pools_count + devlink_sb->egress_pools_count; devlink_sb 192 net/core/devlink.c static struct devlink_sb *devlink_sb_get_by_index(struct devlink *devlink, devlink_sb 195 net/core/devlink.c struct devlink_sb *devlink_sb; devlink_sb 197 net/core/devlink.c list_for_each_entry(devlink_sb, &devlink->sb_list, list) { devlink_sb 198 net/core/devlink.c if (devlink_sb->index == sb_index) devlink_sb 199 net/core/devlink.c return devlink_sb; devlink_sb 210 net/core/devlink.c static struct devlink_sb *devlink_sb_get_from_attrs(struct devlink *devlink, devlink_sb 215 net/core/devlink.c struct devlink_sb *devlink_sb; devlink_sb 217 net/core/devlink.c devlink_sb = devlink_sb_get_by_index(devlink, sb_index); devlink_sb 218 net/core/devlink.c if (!devlink_sb) devlink_sb 220 net/core/devlink.c return devlink_sb; devlink_sb 225 net/core/devlink.c static struct devlink_sb *devlink_sb_get_from_info(struct devlink *devlink, devlink_sb 231 net/core/devlink.c static int devlink_sb_pool_index_get_from_attrs(struct devlink_sb *devlink_sb, devlink_sb 241 net/core/devlink.c if (val >= devlink_sb_pool_count(devlink_sb)) devlink_sb 247 net/core/devlink.c static int devlink_sb_pool_index_get_from_info(struct devlink_sb *devlink_sb, devlink_sb 251 net/core/devlink.c return devlink_sb_pool_index_get_from_attrs(devlink_sb, info->attrs, devlink_sb 304 net/core/devlink.c devlink_sb_tc_index_get_from_attrs(struct devlink_sb *devlink_sb, devlink_sb 316 net/core/devlink.c val >= devlink_sb->ingress_tc_count) devlink_sb 319 net/core/devlink.c val >= devlink_sb->egress_tc_count) devlink_sb 326 net/core/devlink.c devlink_sb_tc_index_get_from_info(struct devlink_sb *devlink_sb, devlink_sb 331 net/core/devlink.c return devlink_sb_tc_index_get_from_attrs(devlink_sb, info->attrs, devlink_sb 414 net/core/devlink.c struct devlink_sb *devlink_sb; devlink_sb 416 net/core/devlink.c devlink_sb = devlink_sb_get_from_info(devlink, info); devlink_sb 417 net/core/devlink.c if (IS_ERR(devlink_sb)) { devlink_sb 418 net/core/devlink.c err = PTR_ERR(devlink_sb); devlink_sb 421 net/core/devlink.c info->user_ptr[1] = devlink_sb; devlink_sb 831 net/core/devlink.c struct devlink_sb *devlink_sb, devlink_sb 843 net/core/devlink.c if (nla_put_u32(msg, DEVLINK_ATTR_SB_INDEX, devlink_sb->index)) devlink_sb 845 net/core/devlink.c if (nla_put_u32(msg, DEVLINK_ATTR_SB_SIZE, devlink_sb->size)) devlink_sb 848 net/core/devlink.c devlink_sb->ingress_pools_count)) devlink_sb 851 net/core/devlink.c devlink_sb->egress_pools_count)) devlink_sb 854 net/core/devlink.c devlink_sb->ingress_tc_count)) devlink_sb 857 net/core/devlink.c devlink_sb->egress_tc_count)) devlink_sb 872 net/core/devlink.c struct devlink_sb *devlink_sb = info->user_ptr[1]; devlink_sb 880 net/core/devlink.c err = devlink_nl_sb_fill(msg, devlink, devlink_sb, devlink_sb 895 net/core/devlink.c struct devlink_sb *devlink_sb; devlink_sb 905 net/core/devlink.c list_for_each_entry(devlink_sb, &devlink->sb_list, list) { devlink_sb 910 net/core/devlink.c err = devlink_nl_sb_fill(msg, devlink, devlink_sb, devlink_sb 931 net/core/devlink.c struct devlink_sb *devlink_sb, devlink_sb 939 net/core/devlink.c err = devlink->ops->sb_pool_get(devlink, devlink_sb->index, devlink_sb 950 net/core/devlink.c if (nla_put_u32(msg, DEVLINK_ATTR_SB_INDEX, devlink_sb->index)) devlink_sb 977 net/core/devlink.c struct devlink_sb *devlink_sb = info->user_ptr[1]; devlink_sb 982 net/core/devlink.c err = devlink_sb_pool_index_get_from_info(devlink_sb, info, devlink_sb 994 net/core/devlink.c err = devlink_nl_sb_pool_fill(msg, devlink, devlink_sb, pool_index, devlink_sb 1007 net/core/devlink.c struct devlink_sb *devlink_sb, devlink_sb 1010 net/core/devlink.c u16 pool_count = devlink_sb_pool_count(devlink_sb); devlink_sb 1020 net/core/devlink.c devlink_sb, devlink_sb 1035 net/core/devlink.c struct devlink_sb *devlink_sb; devlink_sb 1046 net/core/devlink.c list_for_each_entry(devlink_sb, &devlink->sb_list, list) { devlink_sb 1048 net/core/devlink.c devlink_sb, devlink_sb 1083 net/core/devlink.c struct devlink_sb *devlink_sb = info->user_ptr[1]; devlink_sb 1089 net/core/devlink.c err = devlink_sb_pool_index_get_from_info(devlink_sb, info, devlink_sb 1102 net/core/devlink.c return devlink_sb_pool_set(devlink, devlink_sb->index, devlink_sb 1110 net/core/devlink.c struct devlink_sb *devlink_sb, devlink_sb 1120 net/core/devlink.c err = ops->sb_port_pool_get(devlink_port, devlink_sb->index, devlink_sb 1133 net/core/devlink.c if (nla_put_u32(msg, DEVLINK_ATTR_SB_INDEX, devlink_sb->index)) devlink_sb 1144 net/core/devlink.c err = ops->sb_occ_port_pool_get(devlink_port, devlink_sb->index, devlink_sb 1169 net/core/devlink.c struct devlink_sb *devlink_sb = info->user_ptr[1]; devlink_sb 1174 net/core/devlink.c err = devlink_sb_pool_index_get_from_info(devlink_sb, info, devlink_sb 1187 net/core/devlink.c devlink_sb, pool_index, devlink_sb 1200 net/core/devlink.c struct devlink_sb *devlink_sb, devlink_sb 1204 net/core/devlink.c u16 pool_count = devlink_sb_pool_count(devlink_sb); devlink_sb 1216 net/core/devlink.c devlink_sb, devlink_sb 1233 net/core/devlink.c struct devlink_sb *devlink_sb; devlink_sb 1244 net/core/devlink.c list_for_each_entry(devlink_sb, &devlink->sb_list, list) { devlink_sb 1246 net/core/devlink.c devlink, devlink_sb, devlink_sb 1281 net/core/devlink.c struct devlink_sb *devlink_sb = info->user_ptr[1]; devlink_sb 1286 net/core/devlink.c err = devlink_sb_pool_index_get_from_info(devlink_sb, info, devlink_sb 1295 net/core/devlink.c return devlink_sb_port_pool_set(devlink_port, devlink_sb->index, devlink_sb 1302 net/core/devlink.c struct devlink_sb *devlink_sb, u16 tc_index, devlink_sb 1313 net/core/devlink.c err = ops->sb_tc_pool_bind_get(devlink_port, devlink_sb->index, devlink_sb 1327 net/core/devlink.c if (nla_put_u32(msg, DEVLINK_ATTR_SB_INDEX, devlink_sb->index)) devlink_sb 1343 net/core/devlink.c devlink_sb->index, devlink_sb 1369 net/core/devlink.c struct devlink_sb *devlink_sb = info->user_ptr[1]; devlink_sb 1379 net/core/devlink.c err = devlink_sb_tc_index_get_from_info(devlink_sb, info, devlink_sb 1392 net/core/devlink.c devlink_sb, tc_index, pool_type, devlink_sb 1407 net/core/devlink.c struct devlink_sb *devlink_sb, devlink_sb 1416 net/core/devlink.c tc_index < devlink_sb->ingress_tc_count; tc_index++) { devlink_sb 1423 net/core/devlink.c devlink_sb, devlink_sb 1434 net/core/devlink.c tc_index < devlink_sb->egress_tc_count; tc_index++) { devlink_sb 1441 net/core/devlink.c devlink_sb, devlink_sb 1460 net/core/devlink.c struct devlink_sb *devlink_sb; devlink_sb 1472 net/core/devlink.c list_for_each_entry(devlink_sb, &devlink->sb_list, list) { devlink_sb 1475 net/core/devlink.c devlink_sb, devlink_sb 1512 net/core/devlink.c struct devlink_sb *devlink_sb = info->user_ptr[1]; devlink_sb 1523 net/core/devlink.c err = devlink_sb_tc_index_get_from_info(devlink_sb, info, devlink_sb 1528 net/core/devlink.c err = devlink_sb_pool_index_get_from_info(devlink_sb, info, devlink_sb 1537 net/core/devlink.c return devlink_sb_tc_pool_bind_set(devlink_port, devlink_sb->index, devlink_sb 1546 net/core/devlink.c struct devlink_sb *devlink_sb = info->user_ptr[1]; devlink_sb 1550 net/core/devlink.c return ops->sb_occ_snapshot(devlink, devlink_sb->index); devlink_sb 1558 net/core/devlink.c struct devlink_sb *devlink_sb = info->user_ptr[1]; devlink_sb 1562 net/core/devlink.c return ops->sb_occ_max_clear(devlink, devlink_sb->index); devlink_sb 6616 net/core/devlink.c struct devlink_sb *devlink_sb; devlink_sb 6625 net/core/devlink.c devlink_sb = kzalloc(sizeof(*devlink_sb), GFP_KERNEL); devlink_sb 6626 net/core/devlink.c if (!devlink_sb) { devlink_sb 6630 net/core/devlink.c devlink_sb->index = sb_index; devlink_sb 6631 net/core/devlink.c devlink_sb->size = size; devlink_sb 6632 net/core/devlink.c devlink_sb->ingress_pools_count = ingress_pools_count; devlink_sb 6633 net/core/devlink.c devlink_sb->egress_pools_count = egress_pools_count; devlink_sb 6634 net/core/devlink.c devlink_sb->ingress_tc_count = ingress_tc_count; devlink_sb 6635 net/core/devlink.c devlink_sb->egress_tc_count = egress_tc_count; devlink_sb 6636 net/core/devlink.c list_add_tail(&devlink_sb->list, &devlink->sb_list); devlink_sb 6645 net/core/devlink.c struct devlink_sb *devlink_sb; devlink_sb 6648 net/core/devlink.c devlink_sb = devlink_sb_get_by_index(devlink, sb_index); devlink_sb 6649 net/core/devlink.c WARN_ON(!devlink_sb); devlink_sb 6650 net/core/devlink.c list_del(&devlink_sb->list); devlink_sb 6652 net/core/devlink.c kfree(devlink_sb);