net/devlink/sb.c
136
devlink_sb_tc_index_get_from_attrs(struct devlink_sb *devlink_sb,
net/devlink/sb.c
148
val >= devlink_sb->ingress_tc_count)
net/devlink/sb.c
151
val >= devlink_sb->egress_tc_count)
net/devlink/sb.c
158
devlink_sb_tc_index_get_from_info(struct devlink_sb *devlink_sb,
net/devlink/sb.c
163
return devlink_sb_tc_index_get_from_attrs(devlink_sb, info->attrs,
net/devlink/sb.c
168
struct devlink_sb *devlink_sb,
net/devlink/sb.c
180
if (nla_put_u32(msg, DEVLINK_ATTR_SB_INDEX, devlink_sb->index))
net/devlink/sb.c
182
if (nla_put_u32(msg, DEVLINK_ATTR_SB_SIZE, devlink_sb->size))
net/devlink/sb.c
185
devlink_sb->ingress_pools_count))
net/devlink/sb.c
188
devlink_sb->egress_pools_count))
net/devlink/sb.c
19
static u16 devlink_sb_pool_count(struct devlink_sb *devlink_sb)
net/devlink/sb.c
191
devlink_sb->ingress_tc_count))
net/devlink/sb.c
194
devlink_sb->egress_tc_count))
net/devlink/sb.c
208
struct devlink_sb *devlink_sb;
net/devlink/sb.c
21
return devlink_sb->ingress_pools_count + devlink_sb->egress_pools_count;
net/devlink/sb.c
212
devlink_sb = devlink_sb_get_from_info(devlink, info);
net/devlink/sb.c
213
if (IS_ERR(devlink_sb))
net/devlink/sb.c
214
return PTR_ERR(devlink_sb);
net/devlink/sb.c
220
err = devlink_nl_sb_fill(msg, devlink, devlink_sb,
net/devlink/sb.c
236
struct devlink_sb *devlink_sb;
net/devlink/sb.c
24
static struct devlink_sb *devlink_sb_get_by_index(struct devlink *devlink,
net/devlink/sb.c
240
list_for_each_entry(devlink_sb, &devlink->sb_list, list) {
net/devlink/sb.c
245
err = devlink_nl_sb_fill(msg, devlink, devlink_sb,
net/devlink/sb.c
265
struct devlink_sb *devlink_sb,
net/devlink/sb.c
27
struct devlink_sb *devlink_sb;
net/devlink/sb.c
273
err = devlink->ops->sb_pool_get(devlink, devlink_sb->index,
net/devlink/sb.c
284
if (nla_put_u32(msg, DEVLINK_ATTR_SB_INDEX, devlink_sb->index))
net/devlink/sb.c
29
list_for_each_entry(devlink_sb, &devlink->sb_list, list) {
net/devlink/sb.c
30
if (devlink_sb->index == sb_index)
net/devlink/sb.c
31
return devlink_sb;
net/devlink/sb.c
310
struct devlink_sb *devlink_sb;
net/devlink/sb.c
315
devlink_sb = devlink_sb_get_from_info(devlink, info);
net/devlink/sb.c
316
if (IS_ERR(devlink_sb))
net/devlink/sb.c
317
return PTR_ERR(devlink_sb);
net/devlink/sb.c
319
err = devlink_sb_pool_index_get_from_info(devlink_sb, info,
net/devlink/sb.c
331
err = devlink_nl_sb_pool_fill(msg, devlink, devlink_sb, pool_index,
net/devlink/sb.c
344
struct devlink_sb *devlink_sb,
net/devlink/sb.c
347
u16 pool_count = devlink_sb_pool_count(devlink_sb);
net/devlink/sb.c
357
devlink_sb,
net/devlink/sb.c
373
struct devlink_sb *devlink_sb;
net/devlink/sb.c
380
list_for_each_entry(devlink_sb, &devlink->sb_list, list) {
net/devlink/sb.c
382
devlink, devlink_sb,
net/devlink/sb.c
42
static struct devlink_sb *devlink_sb_get_from_attrs(struct devlink *devlink,
net/devlink/sb.c
420
struct devlink_sb *devlink_sb;
net/devlink/sb.c
425
devlink_sb = devlink_sb_get_from_info(devlink, info);
net/devlink/sb.c
426
if (IS_ERR(devlink_sb))
net/devlink/sb.c
427
return PTR_ERR(devlink_sb);
net/devlink/sb.c
429
err = devlink_sb_pool_index_get_from_info(devlink_sb, info,
net/devlink/sb.c
442
return devlink_sb_pool_set(devlink, devlink_sb->index,
net/devlink/sb.c
450
struct devlink_sb *devlink_sb,
net/devlink/sb.c
460
err = ops->sb_port_pool_get(devlink_port, devlink_sb->index,
net/devlink/sb.c
47
struct devlink_sb *devlink_sb;
net/devlink/sb.c
473
if (nla_put_u32(msg, DEVLINK_ATTR_SB_INDEX, devlink_sb->index))
net/devlink/sb.c
484
err = ops->sb_occ_port_pool_get(devlink_port, devlink_sb->index,
net/devlink/sb.c
49
devlink_sb = devlink_sb_get_by_index(devlink, sb_index);
net/devlink/sb.c
50
if (!devlink_sb)
net/devlink/sb.c
511
struct devlink_sb *devlink_sb;
net/devlink/sb.c
516
devlink_sb = devlink_sb_get_from_info(devlink, info);
net/devlink/sb.c
517
if (IS_ERR(devlink_sb))
net/devlink/sb.c
518
return PTR_ERR(devlink_sb);
net/devlink/sb.c
52
return devlink_sb;
net/devlink/sb.c
520
err = devlink_sb_pool_index_get_from_info(devlink_sb, info,
net/devlink/sb.c
533
devlink_sb, pool_index,
net/devlink/sb.c
546
struct devlink_sb *devlink_sb,
net/devlink/sb.c
550
u16 pool_count = devlink_sb_pool_count(devlink_sb);
net/devlink/sb.c
563
devlink_sb,
net/devlink/sb.c
57
static struct devlink_sb *devlink_sb_get_from_info(struct devlink *devlink,
net/devlink/sb.c
581
struct devlink_sb *devlink_sb;
net/devlink/sb.c
588
list_for_each_entry(devlink_sb, &devlink->sb_list, list) {
net/devlink/sb.c
590
devlink, devlink_sb,
net/devlink/sb.c
629
struct devlink_sb *devlink_sb;
net/devlink/sb.c
63
static int devlink_sb_pool_index_get_from_attrs(struct devlink_sb *devlink_sb,
net/devlink/sb.c
634
devlink_sb = devlink_sb_get_from_info(devlink, info);
net/devlink/sb.c
635
if (IS_ERR(devlink_sb))
net/devlink/sb.c
636
return PTR_ERR(devlink_sb);
net/devlink/sb.c
638
err = devlink_sb_pool_index_get_from_info(devlink_sb, info,
net/devlink/sb.c
647
return devlink_sb_port_pool_set(devlink_port, devlink_sb->index,
net/devlink/sb.c
654
struct devlink_sb *devlink_sb, u16 tc_index,
net/devlink/sb.c
665
err = ops->sb_tc_pool_bind_get(devlink_port, devlink_sb->index,
net/devlink/sb.c
679
if (nla_put_u32(msg, DEVLINK_ATTR_SB_INDEX, devlink_sb->index))
net/devlink/sb.c
695
devlink_sb->index,
net/devlink/sb.c
721
struct devlink_sb *devlink_sb;
net/devlink/sb.c
727
devlink_sb = devlink_sb_get_from_info(devlink, info);
net/devlink/sb.c
728
if (IS_ERR(devlink_sb))
net/devlink/sb.c
729
return PTR_ERR(devlink_sb);
net/devlink/sb.c
73
if (val >= devlink_sb_pool_count(devlink_sb))
net/devlink/sb.c
735
err = devlink_sb_tc_index_get_from_info(devlink_sb, info,
net/devlink/sb.c
748
devlink_sb, tc_index, pool_type,
net/devlink/sb.c
763
struct devlink_sb *devlink_sb,
net/devlink/sb.c
773
tc_index < devlink_sb->ingress_tc_count; tc_index++) {
net/devlink/sb.c
780
devlink_sb,
net/devlink/sb.c
79
static int devlink_sb_pool_index_get_from_info(struct devlink_sb *devlink_sb,
net/devlink/sb.c
791
tc_index < devlink_sb->egress_tc_count; tc_index++) {
net/devlink/sb.c
798
devlink_sb,
net/devlink/sb.c
818
struct devlink_sb *devlink_sb;
net/devlink/sb.c
825
list_for_each_entry(devlink_sb, &devlink->sb_list, list) {
net/devlink/sb.c
827
devlink, devlink_sb,
net/devlink/sb.c
83
return devlink_sb_pool_index_get_from_attrs(devlink_sb, info->attrs,
net/devlink/sb.c
870
struct devlink_sb *devlink_sb;
net/devlink/sb.c
876
devlink_sb = devlink_sb_get_from_info(devlink, info);
net/devlink/sb.c
877
if (IS_ERR(devlink_sb))
net/devlink/sb.c
878
return PTR_ERR(devlink_sb);
net/devlink/sb.c
884
err = devlink_sb_tc_index_get_from_info(devlink_sb, info,
net/devlink/sb.c
889
err = devlink_sb_pool_index_get_from_info(devlink_sb, info,
net/devlink/sb.c
898
return devlink_sb_tc_pool_bind_set(devlink_port, devlink_sb->index,
net/devlink/sb.c
907
struct devlink_sb *devlink_sb;
net/devlink/sb.c
909
devlink_sb = devlink_sb_get_from_info(devlink, info);
net/devlink/sb.c
910
if (IS_ERR(devlink_sb))
net/devlink/sb.c
911
return PTR_ERR(devlink_sb);
net/devlink/sb.c
914
return ops->sb_occ_snapshot(devlink, devlink_sb->index);
net/devlink/sb.c
923
struct devlink_sb *devlink_sb;
net/devlink/sb.c
925
devlink_sb = devlink_sb_get_from_info(devlink, info);
net/devlink/sb.c
926
if (IS_ERR(devlink_sb))
net/devlink/sb.c
927
return PTR_ERR(devlink_sb);
net/devlink/sb.c
930
return ops->sb_occ_max_clear(devlink, devlink_sb->index);
net/devlink/sb.c
939
struct devlink_sb *devlink_sb;
net/devlink/sb.c
946
devlink_sb = kzalloc_obj(*devlink_sb);
net/devlink/sb.c
947
if (!devlink_sb)
net/devlink/sb.c
949
devlink_sb->index = sb_index;
net/devlink/sb.c
950
devlink_sb->size = size;
net/devlink/sb.c
951
devlink_sb->ingress_pools_count = ingress_pools_count;
net/devlink/sb.c
952
devlink_sb->egress_pools_count = egress_pools_count;
net/devlink/sb.c
953
devlink_sb->ingress_tc_count = ingress_tc_count;
net/devlink/sb.c
954
devlink_sb->egress_tc_count = egress_tc_count;
net/devlink/sb.c
955
list_add_tail(&devlink_sb->list, &devlink->sb_list);
net/devlink/sb.c
978
struct devlink_sb *devlink_sb;
net/devlink/sb.c
982
devlink_sb = devlink_sb_get_by_index(devlink, sb_index);
net/devlink/sb.c
983
WARN_ON(!devlink_sb);
net/devlink/sb.c
984
list_del(&devlink_sb->list);
net/devlink/sb.c
985
kfree(devlink_sb);