mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-25 09:49:46 +07:00
c73b0ad36e
Remove the function prototypes from ocelot_police.h and make these functions static. We need to move them above their callers. Note that moving the implementations to ocelot_police.c is not trivially possible due to dependency on is2_entry_set() which is static to ocelot_vcap.c. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
37 lines
1.2 KiB
C
37 lines
1.2 KiB
C
/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
|
|
/* Microsemi Ocelot Switch driver
|
|
*
|
|
* Copyright (c) 2019 Microsemi Corporation
|
|
*/
|
|
|
|
#ifndef _MSCC_OCELOT_POLICE_H_
|
|
#define _MSCC_OCELOT_POLICE_H_
|
|
|
|
#include "ocelot.h"
|
|
|
|
enum mscc_qos_rate_mode {
|
|
MSCC_QOS_RATE_MODE_DISABLED, /* Policer/shaper disabled */
|
|
MSCC_QOS_RATE_MODE_LINE, /* Measure line rate in kbps incl. IPG */
|
|
MSCC_QOS_RATE_MODE_DATA, /* Measures data rate in kbps excl. IPG */
|
|
MSCC_QOS_RATE_MODE_FRAME, /* Measures frame rate in fps */
|
|
__MSCC_QOS_RATE_MODE_END,
|
|
NUM_MSCC_QOS_RATE_MODE = __MSCC_QOS_RATE_MODE_END,
|
|
MSCC_QOS_RATE_MODE_MAX = __MSCC_QOS_RATE_MODE_END - 1,
|
|
};
|
|
|
|
struct qos_policer_conf {
|
|
enum mscc_qos_rate_mode mode;
|
|
bool dlb; /* Enable DLB (dual leaky bucket mode */
|
|
bool cf; /* Coupling flag (ignored in SLB mode) */
|
|
u32 cir; /* CIR in kbps/fps (ignored in SLB mode) */
|
|
u32 cbs; /* CBS in bytes/frames (ignored in SLB mode) */
|
|
u32 pir; /* PIR in kbps/fps */
|
|
u32 pbs; /* PBS in bytes/frames */
|
|
u8 ipg; /* Size of IPG when MSCC_QOS_RATE_MODE_LINE is chosen */
|
|
};
|
|
|
|
int qos_policer_conf_set(struct ocelot *ocelot, int port, u32 pol_ix,
|
|
struct qos_policer_conf *conf);
|
|
|
|
#endif /* _MSCC_OCELOT_POLICE_H_ */
|