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

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

#include "health.h"
#include "params.h"
#include "txrx.h"
#include "devlink.h"
#include "ptp.h"
#include "lib/tout.h"

/* Keep this string array consistent with the MLX5E_RQ_STATE_* enums in en.h */
static const char * const rq_sw_state_type_name[] =;

static int mlx5e_query_rq_state(struct mlx5_core_dev *dev, u32 rqn, u8 *state)
{}

static int mlx5e_wait_for_icosq_flush(struct mlx5e_icosq *icosq)
{}

static void mlx5e_reset_icosq_cc_pc(struct mlx5e_icosq *icosq)
{}

static int mlx5e_rx_reporter_err_icosq_cqe_recover(void *ctx)
{}

static int mlx5e_rx_reporter_err_rq_cqe_recover(void *ctx)
{}

static int mlx5e_rx_reporter_timeout_recover(void *ctx)
{}

static int mlx5e_rx_reporter_recover_from_ctx(struct mlx5e_err_ctx *err_ctx)
{}

static int mlx5e_rx_reporter_recover(struct devlink_health_reporter *reporter,
				     void *context,
				     struct netlink_ext_ack *extack)
{}

static void mlx5e_reporter_icosq_diagnose(struct mlx5e_icosq *icosq, u8 hw_state,
					  struct devlink_fmsg *fmsg)
{}

static void mlx5e_health_rq_put_sw_state(struct devlink_fmsg *fmsg, struct mlx5e_rq *rq)
{}

static int
mlx5e_rx_reporter_build_diagnose_output_rq_common(struct mlx5e_rq *rq,
						  struct devlink_fmsg *fmsg)
{}

static void mlx5e_rx_reporter_build_diagnose_output(struct mlx5e_rq *rq,
						    struct devlink_fmsg *fmsg)
{}

static void mlx5e_rx_reporter_diagnose_generic_rq(struct mlx5e_rq *rq,
						  struct devlink_fmsg *fmsg)
{}

static void
mlx5e_rx_reporter_diagnose_common_ptp_config(struct mlx5e_priv *priv, struct mlx5e_ptp *ptp_ch,
					     struct devlink_fmsg *fmsg)
{}

static void
mlx5e_rx_reporter_diagnose_common_config(struct devlink_health_reporter *reporter,
					 struct devlink_fmsg *fmsg)
{}

static void mlx5e_rx_reporter_build_diagnose_output_ptp_rq(struct mlx5e_rq *rq,
							   struct devlink_fmsg *fmsg)
{}

static int mlx5e_rx_reporter_diagnose(struct devlink_health_reporter *reporter,
				      struct devlink_fmsg *fmsg,
				      struct netlink_ext_ack *extack)
{}

static int mlx5e_rx_reporter_dump_icosq(struct mlx5e_priv *priv, struct devlink_fmsg *fmsg,
					void *ctx)
{}

static int mlx5e_rx_reporter_dump_rq(struct mlx5e_priv *priv, struct devlink_fmsg *fmsg,
				     void *ctx)
{}

static int mlx5e_rx_reporter_dump_all_rqs(struct mlx5e_priv *priv,
					  struct devlink_fmsg *fmsg)
{}

static int mlx5e_rx_reporter_dump_from_ctx(struct mlx5e_priv *priv,
					   struct mlx5e_err_ctx *err_ctx,
					   struct devlink_fmsg *fmsg)
{}

static int mlx5e_rx_reporter_dump(struct devlink_health_reporter *reporter,
				  struct devlink_fmsg *fmsg, void *context,
				  struct netlink_ext_ack *extack)
{}

void mlx5e_reporter_rx_timeout(struct mlx5e_rq *rq)
{}

void mlx5e_reporter_rq_cqe_err(struct mlx5e_rq *rq)
{}

void mlx5e_reporter_icosq_cqe_err(struct mlx5e_icosq *icosq)
{}

void mlx5e_reporter_icosq_suspend_recovery(struct mlx5e_channel *c)
{}

void mlx5e_reporter_icosq_resume_recovery(struct mlx5e_channel *c)
{}

static const struct devlink_health_reporter_ops mlx5_rx_reporter_ops =;

#define MLX5E_REPORTER_RX_GRACEFUL_PERIOD

void mlx5e_reporter_rx_create(struct mlx5e_priv *priv)
{}

void mlx5e_reporter_rx_destroy(struct mlx5e_priv *priv)
{}