drivers/scsi/aic94xx/aic94xx_sas.h

Source file repositories/reference/linux-study-clean/drivers/scsi/aic94xx/aic94xx_sas.h

File Facts

System
Linux kernel
Corpus path
drivers/scsi/aic94xx/aic94xx_sas.h
Extension
.h
Size
20496 bytes
Lines
733
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 asd_ddb_ssp_smp_target_port {
	u8     conn_type;	  /* byte 0 */
#define DDB_TP_CONN_TYPE 0x81	  /* Initiator port and addr frame type 0x01 */

	u8     conn_rate;
	__be16 init_conn_tag;
	u8     dest_sas_addr[8];  /* bytes 4-11 */

	__le16 send_queue_head;
	u8     sq_suspended;
	u8     ddb_type;	  /* DDB_TYPE_TARGET */
#define DDB_TYPE_UNUSED    0xFF
#define DDB_TYPE_TARGET    0xFE
#define DDB_TYPE_INITIATOR 0xFD
#define DDB_TYPE_PM_PORT   0xFC

	__le16 _r_a;
	__be16 awt_def;

	u8     compat_features;	  /* byte 20 */
	u8     pathway_blocked_count;
	__be16 arb_wait_time;
	__be32 more_compat_features; /* byte 24 */

	u8     conn_mask;
	u8     flags;	  /* concurrent conn:2,2 and open:0(1) */
#define CONCURRENT_CONN_SUPP 0x04
#define OPEN_REQUIRED        0x01

	u16    _r_b;
	__le16 exec_queue_tail;
	__le16 send_queue_tail;
	__le16 sister_ddb;

	__le16 _r_c;

	u8     max_concurrent_conn;
	u8     num_concurrent_conn;
	u8     num_contexts;

	u8     _r_d;

	__le16 active_task_count;

	u8     _r_e[9];

	u8     itnl_reason;	  /* I_T nexus loss reason */

	__le16 _r_f;

	__le16 itnl_timeout;
#define ITNL_TIMEOUT_CONST 0x7D0 /* 2 seconds */

	__le32 itnl_timestamp;
} __attribute__ ((packed));

struct asd_ddb_stp_sata_target_port {
	u8     conn_type;	  /* byte 0 */
	u8     conn_rate;
	__be16 init_conn_tag;
	u8     dest_sas_addr[8];  /* bytes 4-11 */

	__le16 send_queue_head;
	u8     sq_suspended;
	u8     ddb_type;	  /* DDB_TYPE_TARGET */

	__le16 _r_a;

	__be16 awt_def;
	u8     compat_features;	  /* byte 20 */
	u8     pathway_blocked_count;
	__be16 arb_wait_time;
	__be32 more_compat_features; /* byte 24 */

	u8     conn_mask;
	u8     flags;	  /* concurrent conn:2,2 and open:0(1) */
#define SATA_MULTIPORT     0x80
#define SUPPORTS_AFFIL     0x40
#define STP_AFFIL_POL      0x20

	u8     _r_b;
	u8     flags2;		  /* STP close policy:0 */
#define STP_CL_POL_NO_TX    0x00
#define STP_CL_POL_BTW_CMDS 0x01

	__le16 exec_queue_tail;
	__le16 send_queue_tail;
	__le16 sister_ddb;
	__le16 ata_cmd_scbptr;
	__le32 sata_tag_alloc_mask;

Annotation

Implementation Notes