1/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
2/* Copyright (c) 2019 Mellanox Technologies. */
3
4#ifndef __MLX5_ECPF_H__
5#define __MLX5_ECPF_H__
6
7#include <linux/mlx5/driver.h>
8#include "mlx5_core.h"
9
10#ifdef CONFIG_MLX5_ESWITCH
11
12enum {
13 MLX5_ECPU_BIT_NUM = 23,
14};
15
16bool mlx5_read_embedded_cpu(struct mlx5_core_dev *dev);
17int mlx5_ec_init(struct mlx5_core_dev *dev);
18void mlx5_ec_cleanup(struct mlx5_core_dev *dev);
19
20int mlx5_cmd_host_pf_enable_hca(struct mlx5_core_dev *dev);
21int mlx5_cmd_host_pf_disable_hca(struct mlx5_core_dev *dev);
22
23#else /* CONFIG_MLX5_ESWITCH */
24
25static inline bool
26mlx5_read_embedded_cpu(struct mlx5_core_dev *dev) { return false; }
27static inline int mlx5_ec_init(struct mlx5_core_dev *dev) { return 0; }
28static inline void mlx5_ec_cleanup(struct mlx5_core_dev *dev) {}
29
30#endif /* CONFIG_MLX5_ESWITCH */
31
32#endif /* __MLX5_ECPF_H__ */
33

source code of linux/drivers/net/ethernet/mellanox/mlx5/core/ecpf.h