⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qla1280.h

📁 Linux Kernel 2.6.9 for OMAP1710
💻 H
📖 第 1 页 / 共 3 页
字号:
	uint8_t operators;	uint8_t reserved_4;	uint32_t option_flags;	uint8_t status;	uint8_t reserved_5;	uint8_t command_count;	/* Number of ATIOs allocated. */	uint8_t immed_notify_count;	/* Number of Immediate Notify */	/* entries allocated. */	uint16_t reserved_6;	uint16_t timeout;	/* 0 = 30 seconds, 0xFFFF = disable */	uint16_t reserved_7[20];};/* * ISP queue - immediate notify entry structure definition. */struct notify_entry {	uint8_t entry_type;	/* Entry type. */#define IMMED_NOTIFY_TYPE 0xD	/* Immediate notify entry. */	uint8_t entry_count;	/* Entry count. */	uint8_t reserved_1;	uint8_t entry_status;	/* Entry Status. */	uint32_t reserved_2;	uint8_t lun;	uint8_t initiator_id;	uint8_t reserved_3;	uint8_t target_id;	uint32_t option_flags;	uint8_t status;	uint8_t reserved_4;	uint8_t tag_value;	/* Received queue tag message value */	uint8_t tag_type;	/* Received queue tag message type */	/* entries allocated. */	uint16_t seq_id;	uint8_t scsi_msg[8];	/* SCSI message not handled by ISP */	uint16_t reserved_5[8];	uint8_t sense_data[18];};/* * ISP queue - notify acknowledge entry structure definition. */struct nack_entry {	uint8_t entry_type;	/* Entry type. */#define NOTIFY_ACK_TYPE 0xE	/* Notify acknowledge entry. */	uint8_t entry_count;	/* Entry count. */	uint8_t reserved_1;	uint8_t entry_status;	/* Entry Status. */	uint32_t reserved_2;	uint8_t lun;	uint8_t initiator_id;	uint8_t reserved_3;	uint8_t target_id;	uint32_t option_flags;	uint8_t status;	uint8_t event;	uint16_t seq_id;	uint16_t reserved_4[22];};/* * ISP queue - Accept Target I/O (ATIO) entry structure definition. */struct atio_entry {	uint8_t entry_type;	/* Entry type. */#define ACCEPT_TGT_IO_TYPE 6	/* Accept target I/O entry. */	uint8_t entry_count;	/* Entry count. */	uint8_t reserved_1;	uint8_t entry_status;	/* Entry Status. */	uint32_t reserved_2;	uint8_t lun;	uint8_t initiator_id;	uint8_t cdb_len;	uint8_t target_id;	uint32_t option_flags;	uint8_t status;	uint8_t scsi_status;	uint8_t tag_value;	/* Received queue tag message value */	uint8_t tag_type;	/* Received queue tag message type */	uint8_t cdb[26];	uint8_t sense_data[18];};/* * ISP queue - Continue Target I/O (CTIO) entry structure definition. */struct ctio_entry {	uint8_t entry_type;	/* Entry type. */#define CONTINUE_TGT_IO_TYPE 7	/* CTIO entry */	uint8_t entry_count;	/* Entry count. */	uint8_t reserved_1;	uint8_t entry_status;	/* Entry Status. */	uint32_t reserved_2;	uint8_t lun;		/* SCSI LUN */	uint8_t initiator_id;	uint8_t reserved_3;	uint8_t target_id;	uint32_t option_flags;	uint8_t status;	uint8_t scsi_status;	uint8_t tag_value;	/* Received queue tag message value */	uint8_t tag_type;	/* Received queue tag message type */	uint32_t transfer_length;	uint32_t residual;	uint16_t timeout;	/* 0 = 30 seconds, 0xFFFF = disable */	uint16_t dseg_count;	/* Data segment count. */	uint32_t dseg_0_address;	/* Data segment 0 address. */	uint32_t dseg_0_length;	/* Data segment 0 length. */	uint32_t dseg_1_address;	/* Data segment 1 address. */	uint32_t dseg_1_length;	/* Data segment 1 length. */	uint32_t dseg_2_address;	/* Data segment 2 address. */	uint32_t dseg_2_length;	/* Data segment 2 length. */	uint32_t dseg_3_address;	/* Data segment 3 address. */	uint32_t dseg_3_length;	/* Data segment 3 length. */};/* * ISP queue - CTIO returned entry structure definition. */struct ctio_ret_entry {	uint8_t entry_type;	/* Entry type. */#define CTIO_RET_TYPE   7	/* CTIO return entry */	uint8_t entry_count;	/* Entry count. */	uint8_t reserved_1;	uint8_t entry_status;	/* Entry Status. */	uint32_t reserved_2;	uint8_t lun;		/* SCSI LUN */	uint8_t initiator_id;	uint8_t reserved_3;	uint8_t target_id;	uint32_t option_flags;	uint8_t status;	uint8_t scsi_status;	uint8_t tag_value;	/* Received queue tag message value */	uint8_t tag_type;	/* Received queue tag message type */	uint32_t transfer_length;	uint32_t residual;	uint16_t timeout;	/* 0 = 30 seconds, 0xFFFF = disable */	uint16_t dseg_count;	/* Data segment count. */	uint32_t dseg_0_address;	/* Data segment 0 address. */	uint32_t dseg_0_length;	/* Data segment 0 length. */	uint32_t dseg_1_address;	/* Data segment 1 address. */	uint16_t dseg_1_length;	/* Data segment 1 length. */	uint8_t sense_data[18];};/* * ISP queue - CTIO A64 entry structure definition. */struct ctio_a64_entry {	uint8_t entry_type;	/* Entry type. */#define CTIO_A64_TYPE 0xF	/* CTIO A64 entry */	uint8_t entry_count;	/* Entry count. */	uint8_t reserved_1;	uint8_t entry_status;	/* Entry Status. */	uint32_t reserved_2;	uint8_t lun;		/* SCSI LUN */	uint8_t initiator_id;	uint8_t reserved_3;	uint8_t target_id;	uint32_t option_flags;	uint8_t status;	uint8_t scsi_status;	uint8_t tag_value;	/* Received queue tag message value */	uint8_t tag_type;	/* Received queue tag message type */	uint32_t transfer_length;	uint32_t residual;	uint16_t timeout;	/* 0 = 30 seconds, 0xFFFF = disable */	uint16_t dseg_count;	/* Data segment count. */	uint32_t reserved_4[2];	uint32_t dseg_0_address[2];	/* Data segment 0 address. */	uint32_t dseg_0_length;	/* Data segment 0 length. */	uint32_t dseg_1_address[2];	/* Data segment 1 address. */	uint32_t dseg_1_length;	/* Data segment 1 length. */};/* * ISP queue - CTIO returned entry structure definition. */struct ctio_a64_ret_entry {	uint8_t entry_type;	/* Entry type. */#define CTIO_A64_RET_TYPE 0xF	/* CTIO A64 returned entry */	uint8_t entry_count;	/* Entry count. */	uint8_t reserved_1;	uint8_t entry_status;	/* Entry Status. */	uint32_t reserved_2;	uint8_t lun;		/* SCSI LUN */	uint8_t initiator_id;	uint8_t reserved_3;	uint8_t target_id;	uint32_t option_flags;	uint8_t status;	uint8_t scsi_status;	uint8_t tag_value;	/* Received queue tag message value */	uint8_t tag_type;	/* Received queue tag message type */	uint32_t transfer_length;	uint32_t residual;	uint16_t timeout;	/* 0 = 30 seconds, 0xFFFF = disable */	uint16_t dseg_count;	/* Data segment count. */	uint16_t reserved_4[7];	uint8_t sense_data[18];};/* * ISP request and response queue entry sizes */#define RESPONSE_ENTRY_SIZE	(sizeof(struct response))#define REQUEST_ENTRY_SIZE	(sizeof(request_t))/* * ISP status entry - completion status definitions. */#define CS_COMPLETE         0x0	/* No errors */#define CS_INCOMPLETE       0x1	/* Incomplete transfer of cmd. */#define CS_DMA              0x2	/* A DMA direction error. */#define CS_TRANSPORT        0x3	/* Transport error. */#define CS_RESET            0x4	/* SCSI bus reset occurred */#define CS_ABORTED          0x5	/* System aborted command. */#define CS_TIMEOUT          0x6	/* Timeout error. */#define CS_DATA_OVERRUN     0x7	/* Data overrun. */#define CS_COMMAND_OVERRUN  0x8	/* Command Overrun. */#define CS_STATUS_OVERRUN   0x9	/* Status Overrun. */#define CS_BAD_MSG          0xA	/* Bad msg after status phase. */#define CS_NO_MSG_OUT       0xB	/* No msg out after selection. */#define CS_EXTENDED_ID      0xC	/* Extended ID failed. */#define CS_IDE_MSG          0xD	/* Target rejected IDE msg. */#define CS_ABORT_MSG        0xE	/* Target rejected abort msg. */#define CS_REJECT_MSG       0xF	/* Target rejected reject msg. */#define CS_NOP_MSG          0x10	/* Target rejected NOP msg. */#define CS_PARITY_MSG       0x11	/* Target rejected parity msg. */#define CS_DEV_RESET_MSG    0x12	/* Target rejected dev rst msg. */#define CS_ID_MSG           0x13	/* Target rejected ID msg. */#define CS_FREE             0x14	/* Unexpected bus free. */#define CS_DATA_UNDERRUN    0x15	/* Data Underrun. */#define CS_TRANACTION_1     0x18	/* Transaction error 1 */#define CS_TRANACTION_2     0x19	/* Transaction error 2 */#define CS_TRANACTION_3     0x1a	/* Transaction error 3 */#define CS_INV_ENTRY_TYPE   0x1b	/* Invalid entry type */#define CS_DEV_QUEUE_FULL   0x1c	/* Device queue full */#define CS_PHASED_SKIPPED   0x1d	/* SCSI phase skipped */#define CS_ARS_FAILED       0x1e	/* ARS failed */#define CS_LVD_BUS_ERROR    0x21	/* LVD bus error */#define CS_BAD_PAYLOAD      0x80	/* Driver defined */#define CS_UNKNOWN          0x81	/* Driver defined */#define CS_RETRY            0x82	/* Driver defined *//* * ISP status entry - SCSI status byte bit definitions. */#define SS_CHECK_CONDITION  BIT_1#define SS_CONDITION_MET    BIT_2#define SS_BUSY_CONDITION   BIT_3#define SS_RESERVE_CONFLICT (BIT_4 | BIT_3)/* * ISP target entries - Option flags bit definitions. */#define OF_ENABLE_TAG       BIT_1	/* Tagged queue action enable */#define OF_DATA_IN          BIT_6	/* Data in to initiator */					/*  (data from target to initiator) */#define OF_DATA_OUT         BIT_7	/* Data out from initiator */					/*  (data from initiator to target) */#define OF_NO_DATA          (BIT_7 | BIT_6)#define OF_DISC_DISABLED    BIT_15	/* Disconnects disabled */#define OF_DISABLE_SDP      BIT_24	/* Disable sending save data ptr */#define OF_SEND_RDP         BIT_26	/* Send restore data pointers msg */#define OF_FORCE_DISC       BIT_30	/* Disconnects mandatory */#define OF_SSTS             BIT_31	/* Send SCSI status *//* * BUS parameters/settings structure - UNUSED */struct bus_param {	uint8_t id;		/* Host adapter SCSI id */	uint8_t bus_reset_delay;	/* SCSI bus reset delay. */	uint8_t failed_reset_count;	/* number of time reset failed */	uint8_t unused;	uint16_t device_enables;	/* Device enable bits. */	uint16_t lun_disables;	/* LUN disable bits. */	uint16_t qtag_enables;	/* Tag queue enables. */	uint16_t hiwat;		/* High water mark per device. */	uint8_t reset_marker:1;	uint8_t disable_scsi_reset:1;	uint8_t scsi_bus_dead:1;	/* SCSI Bus is Dead, when 5 back to back resets failed */};struct qla_driver_setup {	uint32_t no_sync:1;	uint32_t no_wide:1;	uint32_t no_ppr:1;	uint32_t no_nvram:1;	uint16_t sync_mask;	uint16_t wide_mask;	uint16_t ppr_mask;};/* * Linux Host Adapter structure */struct scsi_qla_host {	/* Linux adapter configuration data */	struct Scsi_Host *host;	/* pointer to host data */	struct scsi_qla_host *next;	struct device_reg *iobase;	/* Base Memory-mapped I/O address */	unsigned char *mmpbase;	/* memory mapped address */	unsigned long host_no;	struct pci_dev *pdev;	uint8_t devnum;	uint8_t revision;	uint8_t ports;	unsigned long actthreads;	unsigned long isr_count;	/* Interrupt count */	unsigned long spurious_int;	/* Outstandings ISP commands. */	struct srb *outstanding_cmds[MAX_OUTSTANDING_COMMANDS];	/* BUS configuration data */	struct bus_param bus_settings[MAX_BUSES];	/* Received ISP mailbox data. */	volatile uint16_t mailbox_out[MAILBOX_REGISTER_COUNT];	dma_addr_t request_dma;		/* Physical Address */	request_t *request_ring;	/* Base virtual address */	request_t *request_ring_ptr;	/* Current address. */	uint16_t req_ring_index;	/* Current index. */	uint16_t req_q_cnt;		/* Number of available entries. */	dma_addr_t response_dma;	/* Physical address. */	struct response *response_ring;	/* Base virtual address */	struct response *response_ring_ptr;	/* Current address. */	uint16_t rsp_ring_index;	/* Current index. */	struct list_head done_q;	/* Done queue */	struct completion *mailbox_wait;	volatile struct {		uint32_t online:1;			/* 0 */		uint32_t reset_marker:1;		/* 1 */		uint32_t disable_host_adapter:1;	/* 2 */		uint32_t reset_active:1;		/* 3 */		uint32_t abort_isp_active:1;		/* 4 */		uint32_t disable_risc_code_load:1;	/* 5 */		uint32_t enable_64bit_addressing:1;	/* 6 */		uint32_t in_reset:1;			/* 7 */		uint32_t ints_enabled:1;		uint32_t ignore_nvram:1;#ifdef __ia64__		uint32_t use_pci_vchannel:1;#endif	} flags;	struct nvram nvram;	int nvram_valid;};#endif /* _QLA1280_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -