scb_t
static scb_t init_scb = {
ether1_readw(dev, SCB_ADDR, scb_t, scb_status, NORMALIRQS),
ether1_readw(dev, SCB_ADDR, scb_t, scb_command, NORMALIRQS),
ether1_readw(dev, SCB_ADDR, scb_t, scb_cbl_offset, NORMALIRQS),
ether1_readw(dev, SCB_ADDR, scb_t, scb_rfa_offset, NORMALIRQS));
ether1_readw(dev, SCB_ADDR, scb_t, scb_status, NORMALIRQS),
ether1_readw(dev, SCB_ADDR, scb_t, scb_command, NORMALIRQS),
ether1_readw(dev, SCB_ADDR, scb_t, scb_cbl_offset, NORMALIRQS),
ether1_readw(dev, SCB_ADDR, scb_t, scb_rfa_offset, NORMALIRQS));
ether1_readw(dev, SCB_ADDR, scb_t, scb_status, NORMALIRQS),
ether1_readw(dev, SCB_ADDR, scb_t, scb_command, NORMALIRQS),
ether1_readw(dev, SCB_ADDR, scb_t, scb_cbl_offset, NORMALIRQS),
ether1_readw(dev, SCB_ADDR, scb_t, scb_rfa_offset, NORMALIRQS));
ether1_readw(dev, SCB_ADDR, scb_t, scb_status, NORMALIRQS),
ether1_readw(dev, SCB_ADDR, scb_t, scb_command, NORMALIRQS),
ether1_readw(dev, SCB_ADDR, scb_t, scb_cbl_offset, NORMALIRQS),
ether1_readw(dev, SCB_ADDR, scb_t, scb_rfa_offset, NORMALIRQS));
if (ether1_readw(dev, SCB_ADDR, scb_t, scb_cbl_offset, NORMALIRQS)
ether1_writew(dev, SCB_CMDCUCSTART | SCB_CMDRXSTART, SCB_ADDR, scb_t,
status = ether1_readw(dev, SCB_ADDR, scb_t, scb_status, NORMALIRQS);
SCB_ADDR, scb_t, scb_command, NORMALIRQS);
if (ether1_readw(dev, SCB_ADDR, scb_t, scb_cbl_offset, NORMALIRQS)
ether1_writew(dev, SCB_CMDCUCSTART, SCB_ADDR, scb_t, scb_command, NORMALIRQS);
if (ether1_readw(dev, SCB_ADDR, scb_t, scb_status, NORMALIRQS) & SCB_STRXSUSP) {
ether1_writew(dev, SCB_CMDRXRESUME, SCB_ADDR, scb_t, scb_command, NORMALIRQS);
ether1_readw(dev, SCB_ADDR, scb_t, scb_status, NORMALIRQS));
printk (KERN_WARNING "RU ptr = %04X\n", ether1_readw(dev, SCB_ADDR, scb_t, scb_rfa_offset,
mega_prepare_extpassthru(adapter_t *adapter, scb_t *scb,
scb_t *scb;
scb = list_entry(pos, scb_t, list);
issue_scb(adapter_t *adapter, scb_t *scb)
scb_t *scb;
mega_free_scb(adapter_t *adapter, scb_t *scb)
mega_build_sglist(adapter_t *adapter, scb_t *scb, u32 *buf, u32 *len)
scb_t *scb;
scb_t *scb;
scb = list_entry(pos, scb_t, list);
scb_t *scb;
scb_t *scb;
scb_t *scb;
scb = list_entry(pos, scb_t, list);
scb_t *scb;
memset(scb, 0, sizeof(scb_t));
static inline scb_t *
adapter->scb_list = kmalloc_objs(scb_t, MAX_COMMANDS);
scb_t *scb;
scb = list_entry(head->next, scb_t, list);
static scb_t *
scb_t *scb;
mega_prepare_passthru(adapter_t *adapter, scb_t *scb, struct scsi_cmnd *cmd,
static mega_passthru* mega_prepare_passthru(adapter_t *, scb_t *,
scb_t *, struct scsi_cmnd *, int, int);
scb_t *scb_list;
scb_t int_scb;
static int issue_scb(adapter_t *, scb_t *);
static scb_t *mega_build_cmd(adapter_t *, struct scsi_cmnd *,
static void mega_free_scb(adapter_t *, scb_t *);
static int mega_build_sglist (adapter_t *adapter, scb_t *scb,
scb_t *kscb_list;
scb_t *uscb_list;
adapter->kscb_list = kzalloc_objs(scb_t, MBOX_MAX_SCSI_CMDS);
static void megaraid_mbox_display_scb(adapter_t *, scb_t *);
static scb_t *megaraid_mbox_build_cmd(adapter_t *, struct scsi_cmnd *,
static void megaraid_mbox_runpendq(adapter_t *, scb_t *);
static void megaraid_mbox_prepare_pthru(adapter_t *, scb_t *,
static void megaraid_mbox_prepare_epthru(adapter_t *, scb_t *,
static scb_t *
scb_t *scb = NULL;
scb = list_entry(head->next, scb_t, list);
megaraid_dealloc_scb(adapter_t *adapter, scb_t *scb)
static void megaraid_mbox_mm_done(adapter_t *, scb_t *);
megaraid_mbox_mksgl(adapter_t *adapter, scb_t *scb)
mbox_post_cmd(adapter_t *adapter, scb_t *scb)
scb_t *scb;
static scb_t *
scb_t *scb;
megaraid_mbox_runpendq(adapter_t *adapter, scb_t *scb_q)
scb_t *scb;
scb = list_entry(adapter->pend_list.next, scb_t, list);
megaraid_mbox_prepare_pthru(adapter_t *adapter, scb_t *scb,
megaraid_mbox_prepare_epthru(adapter_t *adapter, scb_t *scb,
scb_t *scb;
scb_t *scb;
scb_t *tmp;
scb_t *scb;
scb_t *tmp;
scb_t *scb;
scb_t *tmp;
megaraid_mbox_display_scb(adapter_t *adapter, scb_t *scb)
scb_t *scb;
adapter->uscb_list = kzalloc_objs(scb_t, MBOX_MAX_USER_CMDS);
scb_t *scb;
scb = list_entry(head->next, scb_t, list);
megaraid_mbox_mm_done(adapter_t *adapter, scb_t *scb)
scb_t *scb;