xref: /linux/drivers/net/ethernet/mscc/ocelot_police.h (revision 2c1d029a017f23e912f5d549ad8a2d84428a5017)
1*2c1d029aSJoergen Andreasen /* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
2*2c1d029aSJoergen Andreasen /* Microsemi Ocelot Switch driver
3*2c1d029aSJoergen Andreasen  *
4*2c1d029aSJoergen Andreasen  * Copyright (c) 2019 Microsemi Corporation
5*2c1d029aSJoergen Andreasen  */
6*2c1d029aSJoergen Andreasen 
7*2c1d029aSJoergen Andreasen #ifndef _MSCC_OCELOT_POLICE_H_
8*2c1d029aSJoergen Andreasen #define _MSCC_OCELOT_POLICE_H_
9*2c1d029aSJoergen Andreasen 
10*2c1d029aSJoergen Andreasen #include "ocelot.h"
11*2c1d029aSJoergen Andreasen 
12*2c1d029aSJoergen Andreasen struct ocelot_policer {
13*2c1d029aSJoergen Andreasen 	u32 rate; /* kilobit per second */
14*2c1d029aSJoergen Andreasen 	u32 burst; /* bytes */
15*2c1d029aSJoergen Andreasen };
16*2c1d029aSJoergen Andreasen 
17*2c1d029aSJoergen Andreasen int ocelot_port_policer_add(struct ocelot_port *port,
18*2c1d029aSJoergen Andreasen 			    struct ocelot_policer *pol);
19*2c1d029aSJoergen Andreasen 
20*2c1d029aSJoergen Andreasen int ocelot_port_policer_del(struct ocelot_port *port);
21*2c1d029aSJoergen Andreasen 
22*2c1d029aSJoergen Andreasen #endif /* _MSCC_OCELOT_POLICE_H_ */
23