#include <linux/kernel.h>
#include <linux/mlx5/driver.h>
#include "mlx5_core.h"
int mlx5_create_scheduling_element_cmd(struct mlx5_core_dev *dev, u8 hierarchy,
void *ctx, u32 *element_id)
{ … }
int mlx5_modify_scheduling_element_cmd(struct mlx5_core_dev *dev, u8 hierarchy,
void *ctx, u32 element_id,
u32 modify_bitmask)
{ … }
int mlx5_destroy_scheduling_element_cmd(struct mlx5_core_dev *dev, u8 hierarchy,
u32 element_id)
{ … }
static bool mlx5_rl_are_equal_raw(struct mlx5_rl_entry *entry, void *rl_in,
u16 uid)
{ … }
static struct mlx5_rl_entry *find_rl_entry(struct mlx5_rl_table *table,
void *rl_in, u16 uid, bool dedicated)
{ … }
static int mlx5_set_pp_rate_limit_cmd(struct mlx5_core_dev *dev,
struct mlx5_rl_entry *entry, bool set)
{ … }
bool mlx5_rl_is_in_range(struct mlx5_core_dev *dev, u32 rate)
{ … }
EXPORT_SYMBOL(…);
bool mlx5_rl_are_equal(struct mlx5_rate_limit *rl_0,
struct mlx5_rate_limit *rl_1)
{ … }
EXPORT_SYMBOL(…);
static int mlx5_rl_table_get(struct mlx5_rl_table *table)
{ … }
static void mlx5_rl_table_put(struct mlx5_rl_table *table)
{ … }
static void mlx5_rl_table_free(struct mlx5_core_dev *dev, struct mlx5_rl_table *table)
{ … }
static void mlx5_rl_entry_get(struct mlx5_rl_entry *entry)
{ … }
static void
mlx5_rl_entry_put(struct mlx5_core_dev *dev, struct mlx5_rl_entry *entry)
{ … }
int mlx5_rl_add_rate_raw(struct mlx5_core_dev *dev, void *rl_in, u16 uid,
bool dedicated_entry, u16 *index)
{ … }
EXPORT_SYMBOL(…);
void mlx5_rl_remove_rate_raw(struct mlx5_core_dev *dev, u16 index)
{ … }
EXPORT_SYMBOL(…);
int mlx5_rl_add_rate(struct mlx5_core_dev *dev, u16 *index,
struct mlx5_rate_limit *rl)
{ … }
EXPORT_SYMBOL(…);
void mlx5_rl_remove_rate(struct mlx5_core_dev *dev, struct mlx5_rate_limit *rl)
{ … }
EXPORT_SYMBOL(…);
int mlx5_init_rl_table(struct mlx5_core_dev *dev)
{ … }
void mlx5_cleanup_rl_table(struct mlx5_core_dev *dev)
{ … }