drivers/infiniband/hw/irdma/trace.c

Source file repositories/reference/linux-study-clean/drivers/infiniband/hw/irdma/trace.c

File Facts

System
Linux kernel
Corpus path
drivers/infiniband/hw/irdma/trace.c
Extension
.c
Size
2747 bytes
Lines
113
Domain
Driver Families
Bucket
drivers/infiniband
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

// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
/* Copyright (c) 2019 Intel Corporation */
#define CREATE_TRACE_POINTS
#include "trace.h"

const char *print_ip_addr(struct trace_seq *p, u32 *addr, u16 port, bool ipv4)
{
	const char *ret = trace_seq_buffer_ptr(p);

	if (ipv4) {
		__be32 myaddr = htonl(*addr);

		trace_seq_printf(p, "%pI4:%d", &myaddr, htons(port));
	} else {
		trace_seq_printf(p, "%pI6:%d", addr, htons(port));
	}
	trace_seq_putc(p, 0);

	return ret;
}

const char *parse_iw_event_type(enum iw_cm_event_type iw_type)
{
	switch (iw_type) {
	case IW_CM_EVENT_CONNECT_REQUEST:
		return "IwRequest";
	case IW_CM_EVENT_CONNECT_REPLY:
		return "IwReply";
	case IW_CM_EVENT_ESTABLISHED:
		return "IwEstablished";
	case IW_CM_EVENT_DISCONNECT:
		return "IwDisconnect";
	case IW_CM_EVENT_CLOSE:
		return "IwClose";
	}

	return "Unknown";
}

const char *parse_cm_event_type(enum irdma_cm_event_type cm_type)
{
	switch (cm_type) {
	case IRDMA_CM_EVENT_ESTABLISHED:
		return "CmEstablished";
	case IRDMA_CM_EVENT_MPA_REQ:
		return "CmMPA_REQ";
	case IRDMA_CM_EVENT_MPA_CONNECT:
		return "CmMPA_CONNECT";
	case IRDMA_CM_EVENT_MPA_ACCEPT:
		return "CmMPA_ACCEPT";
	case IRDMA_CM_EVENT_MPA_REJECT:
		return "CmMPA_REJECT";
	case IRDMA_CM_EVENT_MPA_ESTABLISHED:
		return "CmMPA_ESTABLISHED";
	case IRDMA_CM_EVENT_CONNECTED:
		return "CmConnected";
	case IRDMA_CM_EVENT_RESET:
		return "CmReset";
	case IRDMA_CM_EVENT_ABORTED:
		return "CmAborted";
	case IRDMA_CM_EVENT_UNKNOWN:
		return "none";
	}
	return "Unknown";
}

const char *parse_cm_state(enum irdma_cm_node_state state)
{
	switch (state) {
	case IRDMA_CM_STATE_UNKNOWN:
		return "UNKNOWN";
	case IRDMA_CM_STATE_INITED:
		return "INITED";
	case IRDMA_CM_STATE_LISTENING:
		return "LISTENING";
	case IRDMA_CM_STATE_SYN_RCVD:
		return "SYN_RCVD";
	case IRDMA_CM_STATE_SYN_SENT:
		return "SYN_SENT";
	case IRDMA_CM_STATE_ONE_SIDE_ESTABLISHED:
		return "ONE_SIDE_ESTABLISHED";
	case IRDMA_CM_STATE_ESTABLISHED:
		return "ESTABLISHED";
	case IRDMA_CM_STATE_ACCEPTING:
		return "ACCEPTING";
	case IRDMA_CM_STATE_MPAREQ_SENT:
		return "MPAREQ_SENT";
	case IRDMA_CM_STATE_MPAREQ_RCVD:
		return "MPAREQ_RCVD";
	case IRDMA_CM_STATE_MPAREJ_RCVD:

Annotation

Implementation Notes