1
2
3
4
5
6
7#ifndef _MSCC_OCELOT_POLICE_H_
8#define _MSCC_OCELOT_POLICE_H_
9
10#include "ocelot.h"
11
12enum mscc_qos_rate_mode {
13 MSCC_QOS_RATE_MODE_DISABLED,
14 MSCC_QOS_RATE_MODE_LINE,
15 MSCC_QOS_RATE_MODE_DATA,
16 MSCC_QOS_RATE_MODE_FRAME,
17 __MSCC_QOS_RATE_MODE_END,
18 NUM_MSCC_QOS_RATE_MODE = __MSCC_QOS_RATE_MODE_END,
19 MSCC_QOS_RATE_MODE_MAX = __MSCC_QOS_RATE_MODE_END - 1,
20};
21
22struct qos_policer_conf {
23 enum mscc_qos_rate_mode mode;
24 bool dlb;
25 bool cf;
26 u32 cir;
27 u32 cbs;
28 u32 pir;
29 u32 pbs;
30 u8 ipg;
31};
32
33int qos_policer_conf_set(struct ocelot *ocelot, int port, u32 pol_ix,
34 struct qos_policer_conf *conf);
35
36#endif
37