summaryrefslogtreecommitdiffstats
path: root/include/soc
diff options
context:
space:
mode:
Diffstat (limited to 'include/soc')
-rw-r--r--include/soc/mscc/ocelot.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/soc/mscc/ocelot.h b/include/soc/mscc/ocelot.h
index 9b4e6c78d0f4..e88bcfe4b2cd 100644
--- a/include/soc/mscc/ocelot.h
+++ b/include/soc/mscc/ocelot.h
@@ -105,6 +105,11 @@
#define REG_RESERVED_ADDR 0xffffffff
#define REG_RESERVED(reg) REG(reg, REG_RESERVED_ADDR)
+#define for_each_stat(ocelot, stat) \
+ for ((stat) = (ocelot)->stats_layout; \
+ ((stat)->name[0] != '\0'); \
+ (stat)++)
+
enum ocelot_target {
ANA = 1,
QS,
@@ -538,6 +543,8 @@ struct ocelot_stat_layout {
char name[ETH_GSTRING_LEN];
};
+#define OCELOT_STAT_END { .name = "" }
+
struct ocelot_stats_region {
struct list_head node;
u32 offset;
@@ -991,6 +998,9 @@ int ocelot_mact_learn_streamdata(struct ocelot *ocelot, int dst_idx,
enum macaccess_entry_type type,
int sfid, int ssid);
+int ocelot_migrate_mdbs(struct ocelot *ocelot, unsigned long from_mask,
+ unsigned long to_mask);
+
int ocelot_vcap_policer_add(struct ocelot *ocelot, u32 pol_ix,
struct ocelot_policer *pol);
int ocelot_vcap_policer_del(struct ocelot *ocelot, u32 pol_ix);