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

📄 qla1280.h

📁 linux和2410结合开发 用他可以生成2410所需的zImage文件
💻 H
📖 第 1 页 / 共 5 页
字号:
        #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. */}ctio_entry_t;/* * ISP queue - CTIO returned entry structure definition. */typedef struct{    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];}ctio_ret_entry_t;/* * ISP queue - CTIO A64 entry structure definition. */typedef struct{    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. */}ctio_a64_entry_t;/* * ISP queue - CTIO returned entry structure definition. */typedef struct{    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];}ctio_a64_ret_entry_t;/* * ISP request and response queue entry sizes */#define RESPONSE_ENTRY_SIZE     (sizeof(response_t))#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 */#if QL1280_TARGET_MODE_SUPPORT/* * Target Read/Write buffer structure. */#define TARGET_DATA_OFFSET  4#define TARGET_DATA_SIZE    0x2000      /* 8K */#define TARGET_INQ_OFFSET   (TARGET_DATA_OFFSET + TARGET_DATA_SIZE)#define TARGET_SENSE_SIZE   18#define TARGET_BUF_SIZE     36typedef struct{    uint8_t         hdr[4];    uint8_t         data[TARGET_DATA_SIZE];    struct ident    inq;}tgt_t;#endif/* * BUS parameters/settings structure */typedef struct{    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 */}bus_param_t;/* * Linux Host Adapter structure */typedef struct scsi_qla_host{    /* Linux adapter configuration data */    struct Scsi_Host *host;             /* pointer to host data */    struct scsi_qla_host   *next;    device_reg_t     *iobase;           /* Base Memory-mapped I/O address */    uint8_t          pci_bus;    uint8_t          pci_device_fn;    uint8_t          devnum;#if LINUX_VERSION_CODE > KERNEL_VERSION(2,1,95)    struct pci_dev *pdev;#endif    volatile unsigned char  *mmpbase;      /* memory mapped address */    unsigned long            host_no;    unsigned long            instance;    uint8_t           revision;    uint8_t           ports;#if LINUX_VERSION_CODE > KERNEL_VERSION(2,1,0)    spinlock_t               spin_lock;#endif    volatile unsigned char   cpu_lock_count[NR_CPUS];    unsigned long            actthreads;    unsigned long            qthreads;    unsigned long            isr_count;        /* Interrupt count */    unsigned long            spurious_int;    uint32_t           device_id;    /* Outstandings ISP commands. */    srb_t           *outstanding_cmds[MAX_OUTSTANDING_COMMANDS];    /* BUS configuration data */    bus_param_t bus_settings[MAX_BUSES];    /* Device LUN queues. */    scsi_lu_t       *dev[MAX_EQ];      /* Logical unit queues */#ifdef UNUSED    /* Interrupt lock, and data */    uint8_t          intr_lock;         /* Lock for interrupt locking */#endif    /* bottom half run queue */    struct tq_struct run_qla_bh;    /* Received ISP mailbox data. */    volatile uint16_t mailbox_out[MAILBOX_REGISTER_COUNT];#ifdef UNUSED    /* ISP ring lock, rings, and indexes */    uint8_t          ring_lock;         /* ISP ring lock */    struct timer_list        dev_timer[MAX_TARGETS];#endif    request_t       req[REQUEST_ENTRY_CNT+1];    response_t      res[RESPONSE_ENTRY_CNT+1];    unsigned long   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. */    unsigned long   response_dma;       /* Physical address. */    response_t      *response_ring;     /* Base virtual address */    response_t      *response_ring_ptr; /* Current address. */    uint16_t        rsp_ring_index;     /* Current index. */#if QL1280_TARGET_MODE_SUPPORT    /* Target buffer and sense data. */    uint32_t        tbuf_dma;           /* Physical address. */    tgt_t           *tbuf;    uint32_t        tsense_dma;         /* Physical address. */    uint8_t         *tsense;#endif#if  WATCHDOGTIMER    /* Watchdog queue, lock and total timer */    uint8_t          watchdog_q_lock;   /* Lock for watchdog queue */    srb_t           *wdg_q_first;       /* First job on watchdog queue */    srb_t           *wdg_q_last;        /* Last job on watchdog queue */    uint32_t         total_timeout;     /* Total timeout (quantum count) */    uint32_t         watchdogactive;#endif    srb_t           *done_q_first;       /* First job on done queue */    srb_t           *done_q_last;        /* Last job on done queue */    volatile struct    {        uint32_t     watchdog_enabled        :1;   /* 0 */        uint32_t     mbox_int                :1;   /* 1 */        uint32_t     mbox_busy               :1;   /* 2 */        ui

⌨️ 快捷键说明

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