drivers/scsi/isci/scu_task_context.h

Source file repositories/reference/linux-study-clean/drivers/scsi/isci/scu_task_context.h

File Facts

System
Linux kernel
Corpus path
drivers/scsi/isci/scu_task_context.h
Extension
.h
Size
24826 bytes
Lines
964
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 ssp_task_context {
	/* OFFSET 0x18 */
	u32 reserved00:24;
	u32 frame_type:8;

	/* OFFSET 0x1C */
	u32 reserved01;

	/* OFFSET 0x20 */
	u32 fill_bytes:2;
	u32 reserved02:6;
	u32 changing_data_pointer:1;
	u32 retransmit:1;
	u32 retry_data_frame:1;
	u32 tlr_control:2;
	u32 reserved03:19;

	/* OFFSET 0x24 */
	u32 uiRsvd4;

	/* OFFSET 0x28 */
	u32 target_port_transfer_tag:16;
	u32 tag:16;

	/* OFFSET 0x2C */
	u32 data_offset;
};

/**
 * struct stp_task_context - This is the SCU hardware definition for an STP
 *    request.
 *
 *
 */
struct stp_task_context {
	/* OFFSET 0x18 */
	u32 fis_type:8;
	u32 pm_port:4;
	u32 reserved0:3;
	u32 control:1;
	u32 command:8;
	u32 features:8;

	/* OFFSET 0x1C */
	u32 reserved1;

	/* OFFSET 0x20 */
	u32 reserved2;

	/* OFFSET 0x24 */
	u32 reserved3;

	/* OFFSET 0x28 */
	u32 ncq_tag:5;
	u32 reserved4:27;

	/* OFFSET 0x2C */
	u32 data_offset; /* TODO: What is this used for? */
};

/**
 * struct smp_task_context - This is the SCU hardware definition for an SMP
 *    request.
 *
 *
 */
struct smp_task_context {
	/* OFFSET 0x18 */
	u32 response_length:8;
	u32 function_result:8;
	u32 function:8;
	u32 frame_type:8;

	/* OFFSET 0x1C */
	u32 smp_response_ufi:12;
	u32 reserved1:20;

	/* OFFSET 0x20 */
	u32 reserved2;

	/* OFFSET 0x24 */
	u32 reserved3;

	/* OFFSET 0x28 */
	u32 reserved4;

	/* OFFSET 0x2C */
	u32 reserved5;
};

Annotation

Implementation Notes