xref: /linux/drivers/net/ethernet/mscc/ocelot_vcap.h (revision 24bce201d79807b668bf9d9e0aca801c5c0d5f78)
1 /* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
2 /* Microsemi Ocelot Switch driver
3  * Copyright (c) 2019 Microsemi Corporation
4  */
5 
6 #ifndef _MSCC_OCELOT_VCAP_H_
7 #define _MSCC_OCELOT_VCAP_H_
8 
9 #include "ocelot.h"
10 #include <soc/mscc/ocelot_vcap.h>
11 #include <net/flow_offload.h>
12 
13 #define OCELOT_POLICER_DISCARD 0x17f
14 
15 int ocelot_vcap_filter_stats_update(struct ocelot *ocelot,
16 				    struct ocelot_vcap_filter *rule);
17 
18 void ocelot_detect_vcap_constants(struct ocelot *ocelot);
19 int ocelot_vcap_init(struct ocelot *ocelot);
20 
21 int ocelot_setup_tc_cls_flower(struct ocelot_port_private *priv,
22 			       struct flow_cls_offload *f,
23 			       bool ingress);
24 
25 #endif /* _MSCC_OCELOT_VCAP_H_ */
26