drivers/net/ethernet/mellanox/mlx5/core/steering/hws/debug.h

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/debug.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/debug.h
Extension
.h
Size
1362 bytes
Lines
43
Domain
Driver Families
Bucket
drivers/net
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef HWS_DEBUG_H_
#define HWS_DEBUG_H_

#define HWS_DEBUG_FORMAT_VERSION "1.0"

#define HWS_PTR_TO_ID(p) ((u64)(uintptr_t)(p) & 0xFFFFFFFFULL)

enum mlx5hws_debug_res_type {
	MLX5HWS_DEBUG_RES_TYPE_CONTEXT = 4000,
	MLX5HWS_DEBUG_RES_TYPE_CONTEXT_ATTR = 4001,
	MLX5HWS_DEBUG_RES_TYPE_CONTEXT_CAPS = 4002,
	MLX5HWS_DEBUG_RES_TYPE_CONTEXT_SEND_ENGINE = 4003,
	MLX5HWS_DEBUG_RES_TYPE_CONTEXT_SEND_RING = 4004,
	MLX5HWS_DEBUG_RES_TYPE_CONTEXT_STC = 4005,

	MLX5HWS_DEBUG_RES_TYPE_TABLE = 4100,

	MLX5HWS_DEBUG_RES_TYPE_MATCHER = 4200,
	MLX5HWS_DEBUG_RES_TYPE_MATCHER_ATTR = 4201,
	MLX5HWS_DEBUG_RES_TYPE_MATCHER_MATCH_TEMPLATE = 4202,
	MLX5HWS_DEBUG_RES_TYPE_MATCHER_TEMPLATE_MATCH_DEFINER = 4203,
	MLX5HWS_DEBUG_RES_TYPE_MATCHER_ACTION_TEMPLATE = 4204,
	MLX5HWS_DEBUG_RES_TYPE_MATCHER_TEMPLATE_HASH_DEFINER = 4205,
	MLX5HWS_DEBUG_RES_TYPE_MATCHER_TEMPLATE_RANGE_DEFINER = 4206,
	MLX5HWS_DEBUG_RES_TYPE_MATCHER_TEMPLATE_COMPARE_MATCH_DEFINER = 4207,

	MLX5HWS_DEBUG_RES_TYPE_ACTION_STE_TABLE = 4300,
};

static inline u64
mlx5hws_debug_icm_to_idx(u64 icm_addr)
{
	return (icm_addr >> 6) & 0xffffffff;
}

void mlx5hws_debug_init_dump(struct mlx5hws_context *ctx);
void mlx5hws_debug_uninit_dump(struct mlx5hws_context *ctx);

#endif /* HWS_DEBUG_H_ */

Annotation

Implementation Notes