drivers/scsi/elx/efct/efct_xport.h

Source file repositories/reference/linux-study-clean/drivers/scsi/elx/efct/efct_xport.h

File Facts

System
Linux kernel
Corpus path
drivers/scsi/elx/efct/efct_xport.h
Extension
.h
Size
4711 bytes
Lines
187
Domain
Driver Families
Bucket
drivers/scsi
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

struct efct_xport_link_stats {
	bool		rec;
	bool		gec;
	bool		w02of;
	bool		w03of;
	bool		w04of;
	bool		w05of;
	bool		w06of;
	bool		w07of;
	bool		w08of;
	bool		w09of;
	bool		w10of;
	bool		w11of;
	bool		w12of;
	bool		w13of;
	bool		w14of;
	bool		w15of;
	bool		w16of;
	bool		w17of;
	bool		w18of;
	bool		w19of;
	bool		w20of;
	bool		w21of;
	bool		clrc;
	bool		clof1;
	u32		link_failure_error_count;
	u32		loss_of_sync_error_count;
	u32		loss_of_signal_error_count;
	u32		primitive_sequence_error_count;
	u32		invalid_transmission_word_error_count;
	u32		crc_error_count;
	u32		primitive_sequence_event_timeout_count;
	u32		elastic_buffer_overrun_error_count;
	u32		arbitration_fc_al_timeout_count;
	u32		advertised_receive_bufftor_to_buffer_credit;
	u32		current_receive_buffer_to_buffer_credit;
	u32		advertised_transmit_buffer_to_buffer_credit;
	u32		current_transmit_buffer_to_buffer_credit;
	u32		received_eofa_count;
	u32		received_eofdti_count;
	u32		received_eofni_count;
	u32		received_soff_count;
	u32		received_dropped_no_aer_count;
	u32		received_dropped_no_available_rpi_resources_count;
	u32		received_dropped_no_available_xri_resources_count;
};

struct efct_xport_host_stats {
	bool		cc;
	u32		transmit_kbyte_count;
	u32		receive_kbyte_count;
	u32		transmit_frame_count;
	u32		receive_frame_count;
	u32		transmit_sequence_count;
	u32		receive_sequence_count;
	u32		total_exchanges_originator;
	u32		total_exchanges_responder;
	u32		receive_p_bsy_count;
	u32		receive_f_bsy_count;
	u32		dropped_frames_due_to_no_rq_buffer_count;
	u32		empty_rq_timeout_count;
	u32		dropped_frames_due_to_no_xri_count;
	u32		empty_xri_pool_count;
};

struct efct_xport_host_statistics {
	struct completion		done;
	struct efct_xport_link_stats	link_stats;
	struct efct_xport_host_stats	host_stats;
};

union efct_xport_stats_u {
	u32	value;
	struct efct_xport_host_statistics stats;
};

struct efct_xport_fcp_stats {
	u64		input_bytes;
	u64		output_bytes;
	u64		input_requests;
	u64		output_requests;
	u64		control_requests;
};

struct efct_xport {
	struct efct		*efct;
	/* wwpn requested by user for primary nport */
	u64			req_wwpn;
	/* wwnn requested by user for primary nport */
	u64			req_wwnn;

Annotation

Implementation Notes