linux/drivers/net/ethernet/mellanox/mlx5/core/en/monitor_stats.c

/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright (c) 2018 Mellanox Technologies. */

#include "en.h"
#include "monitor_stats.h"
#include "lib/eq.h"

/* Driver will set the following watch counters list:
 * Ppcnt.802_3:
 * a_in_range_length_errors      Type: 0x0, Counter:  0x0, group_id = N/A
 * a_out_of_range_length_field   Type: 0x0, Counter:  0x1, group_id = N/A
 * a_frame_too_long_errors       Type: 0x0, Counter:  0x2, group_id = N/A
 * a_frame_check_sequence_errors Type: 0x0, Counter:  0x3, group_id = N/A
 * a_alignment_errors            Type: 0x0, Counter:  0x4, group_id = N/A
 * if_out_discards               Type: 0x0, Counter:  0x5, group_id = N/A
 * Q_Counters:
 * Q[index].rx_out_of_buffer   Type: 0x1, Counter:  0x4, group_id = counter_ix
 */

#define NUM_REQ_PPCNT_COUNTER_S1
#define NUM_REQ_Q_COUNTERS_S1

static int mlx5e_monitor_counter_cap(struct mlx5_core_dev *mdev)
{}

int mlx5e_monitor_counter_supported(struct mlx5e_priv *priv)
{}

static void mlx5e_monitor_counter_arm(struct mlx5_core_dev *mdev)
{}

static void mlx5e_monitor_counters_work(struct work_struct *work)
{}

static int mlx5e_monitor_event_handler(struct notifier_block *nb,
				       unsigned long event, void *eqe)
{}

static int fill_monitor_counter_ppcnt_set1(int cnt, u32 *in)
{}

static int fill_monitor_counter_q_counter_set1(int cnt, int q_counter, u32 *in)
{}

/* check if mlx5e_monitor_counter_supported before calling this function*/
static void mlx5e_set_monitor_counter(struct mlx5_core_dev *mdev, int q_counter)
{}

/* check if mlx5e_monitor_counter_supported before calling this function*/
void mlx5e_monitor_counter_init(struct mlx5e_priv *priv)
{}

/* check if mlx5e_monitor_counter_supported before calling this function*/
void mlx5e_monitor_counter_cleanup(struct mlx5e_priv *priv)
{}