Lines Matching refs:adapter

80 #define RDINDOOR(adapter)	readl((adapter)->mmio_base + 0x20)  argument
81 #define RDOUTDOOR(adapter) readl((adapter)->mmio_base + 0x2C) argument
82 #define WRINDOOR(adapter,value) writel(value, (adapter)->mmio_base + 0x20) argument
83 #define WROUTDOOR(adapter,value) writel(value, (adapter)->mmio_base + 0x2C) argument
137 mega_setup_mailbox(adapter_t *adapter) in mega_setup_mailbox() argument
141 adapter->una_mbox64 = pci_alloc_consistent(adapter->dev, in mega_setup_mailbox()
142 sizeof(mbox64_t), &adapter->una_mbox64_dma); in mega_setup_mailbox()
144 if( !adapter->una_mbox64 ) return -1; in mega_setup_mailbox()
146 adapter->mbox = &adapter->una_mbox64->mbox; in mega_setup_mailbox()
148 adapter->mbox = (mbox_t *)((((unsigned long) adapter->mbox) + 15) & in mega_setup_mailbox()
151 adapter->mbox64 = (mbox64_t *)(((unsigned long)adapter->mbox) - 8); in mega_setup_mailbox()
153 align = ((void *)adapter->mbox) - ((void *)&adapter->una_mbox64->mbox); in mega_setup_mailbox()
155 adapter->mbox_dma = adapter->una_mbox64_dma + 8 + align; in mega_setup_mailbox()
160 if( adapter->flag & BOARD_IOMAP ) { in mega_setup_mailbox()
162 outb(adapter->mbox_dma & 0xFF, in mega_setup_mailbox()
163 adapter->host->io_port + MBOX_PORT0); in mega_setup_mailbox()
165 outb((adapter->mbox_dma >> 8) & 0xFF, in mega_setup_mailbox()
166 adapter->host->io_port + MBOX_PORT1); in mega_setup_mailbox()
168 outb((adapter->mbox_dma >> 16) & 0xFF, in mega_setup_mailbox()
169 adapter->host->io_port + MBOX_PORT2); in mega_setup_mailbox()
171 outb((adapter->mbox_dma >> 24) & 0xFF, in mega_setup_mailbox()
172 adapter->host->io_port + MBOX_PORT3); in mega_setup_mailbox()
175 adapter->host->io_port + ENABLE_MBOX_REGION); in mega_setup_mailbox()
177 irq_ack(adapter); in mega_setup_mailbox()
179 irq_enable(adapter); in mega_setup_mailbox()
194 mega_query_adapter(adapter_t *adapter) in mega_query_adapter() argument
206 memset((void *)adapter->mega_buffer, 0, MEGA_BUFFER_SIZE); in mega_query_adapter()
214 mbox->m_out.xferaddr = (u32)adapter->buf_dma_handle; in mega_query_adapter()
216 inquiry3 = (mega_inquiry3 *)adapter->mega_buffer; in mega_query_adapter()
223 if ((retval = issue_scb_block(adapter, raw_mbox))) { in mega_query_adapter()
230 ext_inq = pci_alloc_consistent(adapter->dev, in mega_query_adapter()
242 issue_scb_block(adapter, raw_mbox); in mega_query_adapter()
249 (mega_product_info *)&adapter->product_info); in mega_query_adapter()
251 pci_free_consistent(adapter->dev, sizeof(mraid_ext_inquiry), in mega_query_adapter()
255 adapter->flag |= BOARD_40LD; in mega_query_adapter()
261 prod_info_dma_handle = pci_map_single(adapter->dev, (void *) in mega_query_adapter()
262 &adapter->product_info, in mega_query_adapter()
270 if ((retval = issue_scb_block(adapter, raw_mbox))) in mega_query_adapter()
271 dev_warn(&adapter->dev->dev, in mega_query_adapter()
275 pci_unmap_single(adapter->dev, prod_info_dma_handle, in mega_query_adapter()
283 adapter->host->max_channel = in mega_query_adapter()
284 adapter->product_info.nchannels + NVIRT_CHAN -1; in mega_query_adapter()
286 adapter->host->max_id = 16; /* max targets per channel */ in mega_query_adapter()
288 adapter->host->max_lun = 7; /* Up to 7 luns for non disk devices */ in mega_query_adapter()
290 adapter->host->cmd_per_lun = max_cmd_per_lun; in mega_query_adapter()
292 adapter->numldrv = inquiry3->num_ldrv; in mega_query_adapter()
294 adapter->max_cmds = adapter->product_info.max_commands; in mega_query_adapter()
296 if(adapter->max_cmds > MAX_COMMANDS) in mega_query_adapter()
297 adapter->max_cmds = MAX_COMMANDS; in mega_query_adapter()
299 adapter->host->can_queue = adapter->max_cmds - 1; in mega_query_adapter()
305 mega_get_max_sgl(adapter); in mega_query_adapter()
307 adapter->host->sg_tablesize = adapter->sglen; in mega_query_adapter()
313 if (adapter->product_info.subsysvid == PCI_VENDOR_ID_HP) { in mega_query_adapter()
314 sprintf (adapter->fw_version, "%c%d%d.%d%d", in mega_query_adapter()
315 adapter->product_info.fw_version[2], in mega_query_adapter()
317 adapter->product_info.fw_version[1] & 0x0f, in mega_query_adapter()
319 adapter->product_info.fw_version[0] & 0x0f); in mega_query_adapter()
320 sprintf (adapter->bios_version, "%c%d%d.%d%d", in mega_query_adapter()
321 adapter->product_info.bios_version[2], in mega_query_adapter()
323 adapter->product_info.bios_version[1] & 0x0f, in mega_query_adapter()
325 adapter->product_info.bios_version[0] & 0x0f); in mega_query_adapter()
327 memcpy(adapter->fw_version, in mega_query_adapter()
328 (char *)adapter->product_info.fw_version, 4); in mega_query_adapter()
329 adapter->fw_version[4] = 0; in mega_query_adapter()
331 memcpy(adapter->bios_version, in mega_query_adapter()
332 (char *)adapter->product_info.bios_version, 4); in mega_query_adapter()
334 adapter->bios_version[4] = 0; in mega_query_adapter()
337 dev_notice(&adapter->dev->dev, "[%s:%s] detected %d logical drives\n", in mega_query_adapter()
338 adapter->fw_version, adapter->bios_version, adapter->numldrv); in mega_query_adapter()
343 adapter->support_ext_cdb = mega_support_ext_cdb(adapter); in mega_query_adapter()
344 if (adapter->support_ext_cdb) in mega_query_adapter()
345 dev_notice(&adapter->dev->dev, "supports extended CDBs\n"); in mega_query_adapter()
358 mega_runpendq(adapter_t *adapter) in mega_runpendq() argument
360 if(!list_empty(&adapter->pending_list)) in mega_runpendq()
361 __mega_runpendq(adapter); in mega_runpendq()
374 adapter_t *adapter; in megaraid_queue_lck() local
379 adapter = (adapter_t *)scmd->device->host->hostdata; in megaraid_queue_lck()
393 spin_lock_irqsave(&adapter->lock, flags); in megaraid_queue_lck()
394 scb = mega_build_cmd(adapter, scmd, &busy); in megaraid_queue_lck()
399 list_add_tail(&scb->list, &adapter->pending_list); in megaraid_queue_lck()
406 if (atomic_read(&adapter->quiescent) == 0) in megaraid_queue_lck()
407 mega_runpendq(adapter); in megaraid_queue_lck()
411 spin_unlock_irqrestore(&adapter->lock, flags); in megaraid_queue_lck()
426 mega_allocate_scb(adapter_t *adapter, Scsi_Cmnd *cmd) in DEF_SCSI_QCMD()
428 struct list_head *head = &adapter->free_list; in DEF_SCSI_QCMD()
458 mega_get_ldrv_num(adapter_t *adapter, Scsi_Cmnd *cmd, int channel) in mega_get_ldrv_num() argument
465 if ( tgt > adapter->this_id ) in mega_get_ldrv_num()
474 if( adapter->boot_ldrv_enabled ) { in mega_get_ldrv_num()
476 ldrv_num = adapter->boot_ldrv; in mega_get_ldrv_num()
479 if( ldrv_num <= adapter->boot_ldrv ) { in mega_get_ldrv_num()
495 if (adapter->support_random_del && adapter->read_ldidmap ) in mega_get_ldrv_num()
521 mega_build_cmd(adapter_t *adapter, Scsi_Cmnd *cmd, int *busy) in mega_build_cmd() argument
537 islogical = adapter->logdrv_chan[cmd->device->channel]; in mega_build_cmd()
546 if( adapter->boot_pdrv_enabled ) { in mega_build_cmd()
550 adapter->product_info.nchannels; in mega_build_cmd()
563 target = adapter->boot_pdrv_tgt; in mega_build_cmd()
565 else if( target == adapter->boot_pdrv_tgt ) { in mega_build_cmd()
592 ldrv_num = mega_get_ldrv_num(adapter, cmd, channel); in mega_build_cmd()
595 max_ldrv_num = (adapter->flag & BOARD_40LD) ? in mega_build_cmd()
602 if(adapter->read_ldidmap) in mega_build_cmd()
637 if( !adapter->has_cluster ) { in mega_build_cmd()
643 if(!(scb = mega_allocate_scb(adapter, cmd))) { in mega_build_cmd()
679 if(!(adapter->flag & (1L << cmd->device->channel))) { in mega_build_cmd()
681 dev_notice(&adapter->dev->dev, in mega_build_cmd()
684 adapter->host->host_no, in mega_build_cmd()
687 adapter->flag |= (1L << cmd->device->channel); in mega_build_cmd()
691 if(!(scb = mega_allocate_scb(adapter, cmd))) { in mega_build_cmd()
709 if( adapter->has_64bit_addr ) { in mega_build_cmd()
718 pthru->numsgelements = mega_build_sglist(adapter, scb, in mega_build_cmd()
733 if(!(scb = mega_allocate_scb(adapter, cmd))) { in mega_build_cmd()
746 if( adapter->has_64bit_addr ) { in mega_build_cmd()
776 adapter->nreads[ldrv_num%0x80]++; in mega_build_cmd()
777 adapter->nreadblocks[ldrv_num%0x80] += in mega_build_cmd()
780 adapter->nwrites[ldrv_num%0x80]++; in mega_build_cmd()
781 adapter->nwriteblocks[ldrv_num%0x80] += in mega_build_cmd()
802 adapter->nreads[ldrv_num%0x80]++; in mega_build_cmd()
803 adapter->nreadblocks[ldrv_num%0x80] += in mega_build_cmd()
806 adapter->nwrites[ldrv_num%0x80]++; in mega_build_cmd()
807 adapter->nwriteblocks[ldrv_num%0x80] += in mega_build_cmd()
831 adapter->nreads[ldrv_num%0x80]++; in mega_build_cmd()
832 adapter->nreadblocks[ldrv_num%0x80] += in mega_build_cmd()
835 adapter->nwrites[ldrv_num%0x80]++; in mega_build_cmd()
836 adapter->nwriteblocks[ldrv_num%0x80] += in mega_build_cmd()
853 mbox->m_out.numsgelements = mega_build_sglist(adapter, scb, in mega_build_cmd()
865 if( ! adapter->has_cluster ) { in mega_build_cmd()
873 if(!(scb = mega_allocate_scb(adapter, cmd))) { in mega_build_cmd()
901 if(!(scb = mega_allocate_scb(adapter, cmd))) { in mega_build_cmd()
909 if( adapter->support_ext_cdb ) { in mega_build_cmd()
911 epthru = mega_prepare_extpassthru(adapter, scb, cmd, in mega_build_cmd()
921 pthru = mega_prepare_passthru(adapter, scb, cmd, in mega_build_cmd()
925 if( adapter->has_64bit_addr ) { in mega_build_cmd()
952 mega_prepare_passthru(adapter_t *adapter, scb_t *scb, Scsi_Cmnd *cmd, in mega_prepare_passthru() argument
967 pthru->channel = (adapter->flag & BOARD_40LD) ? 0 : channel; in mega_prepare_passthru()
969 pthru->target = (adapter->flag & BOARD_40LD) ? in mega_prepare_passthru()
984 if(!(adapter->flag & (1L << cmd->device->channel))) { in mega_prepare_passthru()
986 dev_notice(&adapter->dev->dev, in mega_prepare_passthru()
989 adapter->host->host_no, in mega_prepare_passthru()
992 adapter->flag |= (1L << cmd->device->channel); in mega_prepare_passthru()
996 pthru->numsgelements = mega_build_sglist(adapter, scb, in mega_prepare_passthru()
1016 mega_prepare_extpassthru(adapter_t *adapter, scb_t *scb, Scsi_Cmnd *cmd, in mega_prepare_extpassthru() argument
1031 epthru->channel = (adapter->flag & BOARD_40LD) ? 0 : channel; in mega_prepare_extpassthru()
1032 epthru->target = (adapter->flag & BOARD_40LD) ? in mega_prepare_extpassthru()
1046 if(!(adapter->flag & (1L << cmd->device->channel))) { in mega_prepare_extpassthru()
1048 dev_notice(&adapter->dev->dev, in mega_prepare_extpassthru()
1051 adapter->host->host_no, in mega_prepare_extpassthru()
1054 adapter->flag |= (1L << cmd->device->channel); in mega_prepare_extpassthru()
1058 epthru->numsgelements = mega_build_sglist(adapter, scb, in mega_prepare_extpassthru()
1067 __mega_runpendq(adapter_t *adapter) in __mega_runpendq() argument
1073 list_for_each_safe(pos, next, &adapter->pending_list) { in __mega_runpendq()
1079 if( issue_scb(adapter, scb) != 0 ) in __mega_runpendq()
1098 issue_scb(adapter_t *adapter, scb_t *scb) in issue_scb() argument
1100 volatile mbox64_t *mbox64 = adapter->mbox64; in issue_scb()
1101 volatile mbox_t *mbox = adapter->mbox; in issue_scb()
1124 atomic_inc(&adapter->pend_cmds); in issue_scb()
1145 if( likely(adapter->flag & BOARD_MEMMAP) ) { in issue_scb()
1148 WRINDOOR(adapter, adapter->mbox_dma | 0x1); in issue_scb()
1151 irq_enable(adapter); in issue_scb()
1152 issue_command(adapter); in issue_scb()
1162 mega_busywait_mbox (adapter_t *adapter) in mega_busywait_mbox() argument
1164 if (adapter->mbox->m_in.busy) in mega_busywait_mbox()
1165 return __mega_busywait_mbox(adapter); in mega_busywait_mbox()
1177 issue_scb_block(adapter_t *adapter, u_char *raw_mbox) in issue_scb_block() argument
1179 volatile mbox64_t *mbox64 = adapter->mbox64; in issue_scb_block()
1180 volatile mbox_t *mbox = adapter->mbox; in issue_scb_block()
1184 if(mega_busywait_mbox (adapter)) in issue_scb_block()
1206 if( likely(adapter->flag & BOARD_MEMMAP) ) { in issue_scb_block()
1211 WRINDOOR(adapter, adapter->mbox_dma | 0x1); in issue_scb_block()
1224 WRINDOOR(adapter, adapter->mbox_dma | 0x2); in issue_scb_block()
1226 while(RDINDOOR(adapter) & 0x2) in issue_scb_block()
1230 irq_disable(adapter); in issue_scb_block()
1231 issue_command(adapter); in issue_scb_block()
1233 while (!((byte = irq_state(adapter)) & INTR_VALID)) in issue_scb_block()
1236 set_irq_state(adapter, byte); in issue_scb_block()
1237 irq_enable(adapter); in issue_scb_block()
1238 irq_ack(adapter); in issue_scb_block()
1244 dev_warn(&adapter->dev->dev, "Blocked mailbox......!!\n"); in issue_scb_block()
1262 adapter_t *adapter = devp; in megaraid_isr_iomapped() local
1274 spin_lock_irqsave(&adapter->lock, flags); in megaraid_isr_iomapped()
1278 byte = irq_state(adapter); in megaraid_isr_iomapped()
1285 set_irq_state(adapter, byte); in megaraid_isr_iomapped()
1287 while((nstatus = (volatile u8)adapter->mbox->m_in.numstatus) in megaraid_isr_iomapped()
1290 adapter->mbox->m_in.numstatus = 0xFF; in megaraid_isr_iomapped()
1292 status = adapter->mbox->m_in.status; in megaraid_isr_iomapped()
1297 atomic_sub(nstatus, &adapter->pend_cmds); in megaraid_isr_iomapped()
1299 memcpy(completed, (void *)adapter->mbox->m_in.completed, in megaraid_isr_iomapped()
1303 irq_ack(adapter); in megaraid_isr_iomapped()
1305 mega_cmd_done(adapter, completed, nstatus, status); in megaraid_isr_iomapped()
1307 mega_rundoneq(adapter); in megaraid_isr_iomapped()
1312 if(atomic_read(&adapter->quiescent) == 0) { in megaraid_isr_iomapped()
1313 mega_runpendq(adapter); in megaraid_isr_iomapped()
1320 spin_unlock_irqrestore(&adapter->lock, flags); in megaraid_isr_iomapped()
1338 adapter_t *adapter = devp; in megaraid_isr_memmapped() local
1350 spin_lock_irqsave(&adapter->lock, flags); in megaraid_isr_memmapped()
1354 dword = RDOUTDOOR(adapter); in megaraid_isr_memmapped()
1361 WROUTDOOR(adapter, 0x10001234); in megaraid_isr_memmapped()
1363 while((nstatus = (volatile u8)adapter->mbox->m_in.numstatus) in megaraid_isr_memmapped()
1367 adapter->mbox->m_in.numstatus = 0xFF; in megaraid_isr_memmapped()
1369 status = adapter->mbox->m_in.status; in megaraid_isr_memmapped()
1374 atomic_sub(nstatus, &adapter->pend_cmds); in megaraid_isr_memmapped()
1376 memcpy(completed, (void *)adapter->mbox->m_in.completed, in megaraid_isr_memmapped()
1380 WRINDOOR(adapter, 0x2); in megaraid_isr_memmapped()
1384 while( RDINDOOR(adapter) & 0x02 ) in megaraid_isr_memmapped()
1387 mega_cmd_done(adapter, completed, nstatus, status); in megaraid_isr_memmapped()
1389 mega_rundoneq(adapter); in megaraid_isr_memmapped()
1392 if(atomic_read(&adapter->quiescent) == 0) { in megaraid_isr_memmapped()
1393 mega_runpendq(adapter); in megaraid_isr_memmapped()
1400 spin_unlock_irqrestore(&adapter->lock, flags); in megaraid_isr_memmapped()
1414 mega_cmd_done(adapter_t *adapter, u8 completed[], int nstatus, int status) in mega_cmd_done() argument
1443 scb = &adapter->int_scb; in mega_cmd_done()
1448 adapter->int_status = status; in mega_cmd_done()
1449 complete(&adapter->int_waitq); in mega_cmd_done()
1451 scb = &adapter->scb_list[cmdid]; in mega_cmd_done()
1457 dev_crit(&adapter->dev->dev, "invalid command " in mega_cmd_done()
1469 dev_warn(&adapter->dev->dev, in mega_cmd_done()
1476 &adapter->completed_list); in mega_cmd_done()
1478 mega_free_scb(adapter, scb); in mega_cmd_done()
1488 dev_warn(&adapter->dev->dev, in mega_cmd_done()
1495 &adapter->completed_list); in mega_cmd_done()
1497 mega_free_scb (adapter, scb); in mega_cmd_done()
1512 islogical = adapter->logdrv_chan[cmd->channel]; in mega_cmd_done()
1525 adapter->rd_errors[logdrv%0x80]++; in mega_cmd_done()
1535 adapter->wr_errors[logdrv%0x80]++; in mega_cmd_done()
1548 islogical = adapter->logdrv_chan[cmd->device->channel]; in mega_cmd_done()
1555 dev_warn(&adapter->dev->dev, "invalid sg\n"); in mega_cmd_done()
1559 if(IS_RAID_CH(adapter, cmd->device->channel) && in mega_cmd_done()
1637 mega_free_scb(adapter, scb); in mega_cmd_done()
1640 list_add_tail(SCSI_LIST(cmd), &adapter->completed_list); in mega_cmd_done()
1651 mega_rundoneq (adapter_t *adapter) in mega_rundoneq() argument
1656 list_for_each(pos, &adapter->completed_list) { in mega_rundoneq()
1664 INIT_LIST_HEAD(&adapter->completed_list); in mega_rundoneq()
1673 mega_free_scb(adapter_t *adapter, scb_t *scb) in mega_free_scb() argument
1696 list_add(&scb->list, &adapter->free_list); in mega_free_scb()
1701 __mega_busywait_mbox (adapter_t *adapter) in __mega_busywait_mbox() argument
1703 volatile mbox_t *mbox = adapter->mbox; in __mega_busywait_mbox()
1720 mega_build_sglist(adapter_t *adapter, scb_t *scb, u32 *buf, u32 *len) in mega_build_sglist() argument
1738 BUG_ON(sgcnt > adapter->sglen || sgcnt < 0); in mega_build_sglist()
1742 if (scsi_sg_count(cmd) == 1 && !adapter->has_64bit_addr) { in mega_build_sglist()
1751 if (adapter->has_64bit_addr) { in mega_build_sglist()
1809 mega_free_sgl(adapter_t *adapter) in mega_free_sgl() argument
1814 for(i = 0; i < adapter->max_cmds; i++) { in mega_free_sgl()
1816 scb = &adapter->scb_list[i]; in mega_free_sgl()
1819 pci_free_consistent(adapter->dev, in mega_free_sgl()
1820 sizeof(mega_sgl64) * adapter->sglen, in mega_free_sgl()
1828 pci_free_consistent(adapter->dev, sizeof(mega_passthru), in mega_free_sgl()
1835 pci_free_consistent(adapter->dev, in mega_free_sgl()
1853 adapter_t *adapter; in megaraid_info() local
1855 adapter = (adapter_t *)host->hostdata; in megaraid_info()
1859 adapter->fw_version, adapter->product_info.max_commands, in megaraid_info()
1860 adapter->host->max_id, adapter->host->max_channel, in megaraid_info()
1861 (u32)adapter->host->max_lun); in megaraid_info()
1872 adapter_t *adapter; in megaraid_abort() local
1875 adapter = (adapter_t *)cmd->device->host->hostdata; in megaraid_abort()
1877 rval = megaraid_abort_and_reset(adapter, cmd, SCB_ABORT); in megaraid_abort()
1883 mega_rundoneq(adapter); in megaraid_abort()
1892 adapter_t *adapter; in megaraid_reset() local
1896 adapter = (adapter_t *)cmd->device->host->hostdata; in megaraid_reset()
1902 if( mega_internal_command(adapter, &mc, NULL) != 0 ) { in megaraid_reset()
1903 dev_warn(&adapter->dev->dev, "reservation reset failed\n"); in megaraid_reset()
1906 dev_info(&adapter->dev->dev, "reservation reset\n"); in megaraid_reset()
1910 spin_lock_irq(&adapter->lock); in megaraid_reset()
1912 rval = megaraid_abort_and_reset(adapter, cmd, SCB_RESET); in megaraid_reset()
1918 mega_rundoneq(adapter); in megaraid_reset()
1919 spin_unlock_irq(&adapter->lock); in megaraid_reset()
1934 megaraid_abort_and_reset(adapter_t *adapter, Scsi_Cmnd *cmd, int aor) in megaraid_abort_and_reset() argument
1939 dev_warn(&adapter->dev->dev, "%s cmd=%x <c=%d t=%d l=%d>\n", in megaraid_abort_and_reset()
1944 if(list_empty(&adapter->pending_list)) in megaraid_abort_and_reset()
1947 list_for_each_safe(pos, next, &adapter->pending_list) { in megaraid_abort_and_reset()
1963 dev_warn(&adapter->dev->dev, in megaraid_abort_and_reset()
1976 dev_warn(&adapter->dev->dev, in megaraid_abort_and_reset()
1981 mega_free_scb(adapter, scb); in megaraid_abort_and_reset()
1991 &adapter->completed_list); in megaraid_abort_and_reset()
2002 make_local_pdev(adapter_t *adapter, struct pci_dev **pdev) in make_local_pdev() argument
2008 memcpy(*pdev, adapter->dev, sizeof(struct pci_dev)); in make_local_pdev()
2059 adapter_t *adapter = m->private; in proc_show_config() local
2062 if(adapter->product_info.product_name[0]) in proc_show_config()
2063 seq_printf(m, "%s\n", adapter->product_info.product_name); in proc_show_config()
2067 if( adapter->flag & BOARD_MEMMAP ) in proc_show_config()
2072 if(adapter->flag & BOARD_40LD) in proc_show_config()
2075 if(adapter->flag & BOARD_64BIT) in proc_show_config()
2077 if( adapter->has_64bit_addr ) in proc_show_config()
2083 adapter->base, adapter->host->irq); in proc_show_config()
2086 adapter->numldrv, adapter->product_info.nchannels); in proc_show_config()
2089 adapter->fw_version, adapter->bios_version, in proc_show_config()
2090 adapter->product_info.dram_size); in proc_show_config()
2093 adapter->product_info.max_commands, adapter->max_cmds); in proc_show_config()
2095 seq_printf(m, "support_ext_cdb = %d\n", adapter->support_ext_cdb); in proc_show_config()
2096 seq_printf(m, "support_random_del = %d\n", adapter->support_random_del); in proc_show_config()
2097 seq_printf(m, "boot_ldrv_enabled = %d\n", adapter->boot_ldrv_enabled); in proc_show_config()
2098 seq_printf(m, "boot_ldrv = %d\n", adapter->boot_ldrv); in proc_show_config()
2099 seq_printf(m, "boot_pdrv_enabled = %d\n", adapter->boot_pdrv_enabled); in proc_show_config()
2100 seq_printf(m, "boot_pdrv_ch = %d\n", adapter->boot_pdrv_ch); in proc_show_config()
2101 seq_printf(m, "boot_pdrv_tgt = %d\n", adapter->boot_pdrv_tgt); in proc_show_config()
2103 atomic_read(&adapter->quiescent)); in proc_show_config()
2104 seq_printf(m, "has_cluster = %d\n", adapter->has_cluster); in proc_show_config()
2122 adapter_t *adapter = m->private; in proc_show_stat() local
2128 seq_printf(m, "pend_cmds = %d\n", atomic_read(&adapter->pend_cmds)); in proc_show_stat()
2130 for(i = 0; i < adapter->numldrv; i++) { in proc_show_stat()
2133 adapter->nreads[i], adapter->nwrites[i]); in proc_show_stat()
2135 adapter->nreadblocks[i], adapter->nwriteblocks[i]); in proc_show_stat()
2137 adapter->rd_errors[i], adapter->wr_errors[i]); in proc_show_stat()
2157 adapter_t *adapter = m->private; in proc_show_mbox() local
2158 volatile mbox_t *mbox = adapter->mbox; in proc_show_mbox()
2184 adapter_t *adapter = m->private; in proc_show_rebuild_rate() local
2189 if( make_local_pdev(adapter, &pdev) != 0 ) in proc_show_rebuild_rate()
2195 if( mega_adapinq(adapter, dma_handle) != 0 ) { in proc_show_rebuild_rate()
2197 dev_warn(&adapter->dev->dev, "inquiry failed\n"); in proc_show_rebuild_rate()
2201 if( adapter->flag & BOARD_40LD ) in proc_show_rebuild_rate()
2227 adapter_t *adapter = m->private; in proc_show_battery() local
2233 if( make_local_pdev(adapter, &pdev) != 0 ) in proc_show_battery()
2239 if( mega_adapinq(adapter, dma_handle) != 0 ) { in proc_show_battery()
2241 dev_warn(&adapter->dev->dev, "inquiry failed\n"); in proc_show_battery()
2245 if( adapter->flag & BOARD_40LD ) { in proc_show_battery()
2329 proc_show_pdrv(struct seq_file *m, adapter_t *adapter, int channel) in proc_show_pdrv() argument
2342 if( make_local_pdev(adapter, &pdev) != 0 ) in proc_show_pdrv()
2348 if( mega_adapinq(adapter, dma_handle) != 0 ) { in proc_show_pdrv()
2350 dev_warn(&adapter->dev->dev, "inquiry failed\n"); in proc_show_pdrv()
2361 if( adapter->flag & BOARD_40LD ) { in proc_show_pdrv()
2369 max_channels = adapter->product_info.nchannels; in proc_show_pdrv()
2413 if( mega_internal_dev_inquiry(adapter, channel, tgt, in proc_show_pdrv()
2503 proc_show_rdrv(struct seq_file *m, adapter_t *adapter, int start, int end ) in proc_show_rdrv() argument
2517 if( make_local_pdev(adapter, &pdev) != 0 ) in proc_show_rdrv()
2523 if( mega_adapinq(adapter, dma_handle) != 0 ) { in proc_show_rdrv()
2525 dev_warn(&adapter->dev->dev, "inquiry failed\n"); in proc_show_rdrv()
2531 if( adapter->flag & BOARD_40LD ) { in proc_show_rdrv()
2558 if( adapter->flag & BOARD_40LD ) { in proc_show_rdrv()
2562 if( mega_internal_command(adapter, &mc, NULL) ) { in proc_show_rdrv()
2571 if( mega_internal_command(adapter, &mc, NULL) ) { in proc_show_rdrv()
2573 if( mega_internal_command(adapter, &mc, NULL) ) { in proc_show_rdrv()
2582 if( adapter->flag & BOARD_40LD ) { in proc_show_rdrv()
2738 adapter_t *adapter = proc_get_parent_data(inode); in mega_proc_open() local
2741 return single_open(file, show, adapter); in mega_proc_open()
2790 adapter_t *adapter = hba_soft_state[index]; in mega_create_proc_entry() local
2794 sprintf(string, "hba%d", adapter->host->host_no); in mega_create_proc_entry()
2796 dir = adapter->controller_proc_dir_entry = in mega_create_proc_entry()
2797 proc_mkdir_data(string, 0, parent, adapter); in mega_create_proc_entry()
2799 dev_warn(&adapter->dev->dev, "proc_mkdir failed\n"); in mega_create_proc_entry()
2807 dev_warn(&adapter->dev->dev, "proc_create failed\n"); in mega_create_proc_entry()
2811 ppde = (void *)adapter + f->ptr_offset; in mega_create_proc_entry()
2832 adapter_t *adapter; in megaraid_biosparam() local
2840 adapter = (adapter_t *)sdev->host->hostdata; in megaraid_biosparam()
2842 if (IS_RAID_CH(adapter, sdev->channel)) { in megaraid_biosparam()
2874 dev_info(&adapter->dev->dev, in megaraid_biosparam()
2908 mega_init_scb(adapter_t *adapter) in mega_init_scb() argument
2913 for( i = 0; i < adapter->max_cmds; i++ ) { in mega_init_scb()
2915 scb = &adapter->scb_list[i]; in mega_init_scb()
2923 for( i = 0; i < adapter->max_cmds; i++ ) { in mega_init_scb()
2925 scb = &adapter->scb_list[i]; in mega_init_scb()
2929 scb->sgl64 = pci_alloc_consistent(adapter->dev, in mega_init_scb()
2930 sizeof(mega_sgl64) * adapter->sglen, in mega_init_scb()
2936 dev_warn(&adapter->dev->dev, "RAID: Can't allocate sglist\n"); in mega_init_scb()
2937 mega_free_sgl(adapter); in mega_init_scb()
2941 scb->pthru = pci_alloc_consistent(adapter->dev, in mega_init_scb()
2946 dev_warn(&adapter->dev->dev, "RAID: Can't allocate passthru\n"); in mega_init_scb()
2947 mega_free_sgl(adapter); in mega_init_scb()
2951 scb->epthru = pci_alloc_consistent(adapter->dev, in mega_init_scb()
2956 dev_warn(&adapter->dev->dev, in mega_init_scb()
2958 mega_free_sgl(adapter); in mega_init_scb()
2972 list_add(&scb->list, &adapter->free_list); in mega_init_scb()
3014 adapter_t *adapter; in megadev_ioctl() local
3094 adapter = hba_soft_state[adapno]; in megadev_ioctl()
3106 if( copy_to_user(ustats->nreads, adapter->nreads, in megadev_ioctl()
3110 if( copy_to_user(ustats->nreadblocks, adapter->nreadblocks, in megadev_ioctl()
3114 if( copy_to_user(ustats->nwrites, adapter->nwrites, in megadev_ioctl()
3118 if( copy_to_user(ustats->nwriteblocks, adapter->nwriteblocks, in megadev_ioctl()
3122 if( copy_to_user(ustats->rd_errors, adapter->rd_errors, in megadev_ioctl()
3126 if( copy_to_user(ustats->wr_errors, adapter->wr_errors, in megadev_ioctl()
3141 adapter = hba_soft_state[adapno]; in megadev_ioctl()
3153 if( !adapter->support_random_del ) { in megadev_ioctl()
3154 dev_warn(&adapter->dev->dev, "logdrv " in megadev_ioctl()
3160 rval = mega_del_logdrv( adapter, uioc.uioc_rmbox[3] ); in megadev_ioctl()
3179 dev_warn(&adapter->dev->dev, "rejected passthru\n"); in megadev_ioctl()
3188 if( make_local_pdev(adapter, &pdev) != 0 ) in megadev_ioctl()
3274 mega_internal_command(adapter, &mc, pthru); in megadev_ioctl()
3358 mega_internal_command(adapter, &mc, NULL); in megadev_ioctl()
3617 mega_is_bios_enabled(adapter_t *adapter) in mega_is_bios_enabled() argument
3627 memset((void *)adapter->mega_buffer, 0, MEGA_BUFFER_SIZE); in mega_is_bios_enabled()
3629 mbox->m_out.xferaddr = (u32)adapter->buf_dma_handle; in mega_is_bios_enabled()
3635 ret = issue_scb_block(adapter, raw_mbox); in mega_is_bios_enabled()
3637 return *(char *)adapter->mega_buffer; in mega_is_bios_enabled()
3650 mega_enum_raid_scsi(adapter_t *adapter) in mega_enum_raid_scsi() argument
3666 memset((void *)adapter->mega_buffer, 0, MEGA_BUFFER_SIZE); in mega_enum_raid_scsi()
3668 mbox->m_out.xferaddr = (u32)adapter->buf_dma_handle; in mega_enum_raid_scsi()
3674 adapter->mega_ch_class = 0xFF; in mega_enum_raid_scsi()
3676 if(!issue_scb_block(adapter, raw_mbox)) { in mega_enum_raid_scsi()
3677 adapter->mega_ch_class = *((char *)adapter->mega_buffer); in mega_enum_raid_scsi()
3681 for( i = 0; i < adapter->product_info.nchannels; i++ ) { in mega_enum_raid_scsi()
3682 if( (adapter->mega_ch_class >> i) & 0x01 ) { in mega_enum_raid_scsi()
3683 dev_info(&adapter->dev->dev, "channel[%d] is raid\n", in mega_enum_raid_scsi()
3687 dev_info(&adapter->dev->dev, "channel[%d] is scsi\n", in mega_enum_raid_scsi()
3704 mega_get_boot_drv(adapter_t *adapter) in mega_get_boot_drv() argument
3721 memset((void *)adapter->mega_buffer, 0, MEGA_BUFFER_SIZE); in mega_get_boot_drv()
3723 mbox->m_out.xferaddr = (u32)adapter->buf_dma_handle; in mega_get_boot_drv()
3725 adapter->boot_ldrv_enabled = 0; in mega_get_boot_drv()
3726 adapter->boot_ldrv = 0; in mega_get_boot_drv()
3728 adapter->boot_pdrv_enabled = 0; in mega_get_boot_drv()
3729 adapter->boot_pdrv_ch = 0; in mega_get_boot_drv()
3730 adapter->boot_pdrv_tgt = 0; in mega_get_boot_drv()
3732 if(issue_scb_block(adapter, raw_mbox) == 0) { in mega_get_boot_drv()
3734 (struct private_bios_data *)adapter->mega_buffer; in mega_get_boot_drv()
3749 adapter->boot_pdrv_enabled = 1; in mega_get_boot_drv()
3751 adapter->boot_pdrv_ch = boot_pdrv / 16; in mega_get_boot_drv()
3752 adapter->boot_pdrv_tgt = boot_pdrv % 16; in mega_get_boot_drv()
3755 adapter->boot_ldrv_enabled = 1; in mega_get_boot_drv()
3756 adapter->boot_ldrv = prv_bios_data->boot_drv; in mega_get_boot_drv()
3771 mega_support_random_del(adapter_t *adapter) in mega_support_random_del() argument
3787 rval = issue_scb_block(adapter, raw_mbox); in mega_support_random_del()
3800 mega_support_ext_cdb(adapter_t *adapter) in mega_support_ext_cdb() argument
3815 rval = issue_scb_block(adapter, raw_mbox); in mega_support_ext_cdb()
3830 mega_del_logdrv(adapter_t *adapter, int logdrv) in mega_del_logdrv() argument
3840 atomic_set(&adapter->quiescent, 1); in mega_del_logdrv()
3846 while (atomic_read(&adapter->pend_cmds) > 0 || in mega_del_logdrv()
3847 !list_empty(&adapter->pending_list)) in mega_del_logdrv()
3850 rval = mega_do_del_logdrv(adapter, logdrv); in mega_del_logdrv()
3852 spin_lock_irqsave(&adapter->lock, flags); in mega_del_logdrv()
3858 if (adapter->read_ldidmap) { in mega_del_logdrv()
3860 list_for_each(pos, &adapter->pending_list) { in mega_del_logdrv()
3867 atomic_set(&adapter->quiescent, 0); in mega_del_logdrv()
3869 mega_runpendq(adapter); in mega_del_logdrv()
3871 spin_unlock_irqrestore(&adapter->lock, flags); in mega_del_logdrv()
3878 mega_do_del_logdrv(adapter_t *adapter, int logdrv) in mega_do_del_logdrv() argument
3889 rval = mega_internal_command(adapter, &mc, NULL); in mega_do_del_logdrv()
3893 dev_warn(&adapter->dev->dev, "Delete LD-%d failed", logdrv); in mega_do_del_logdrv()
3901 adapter->read_ldidmap = 1; in mega_do_del_logdrv()
3915 mega_get_max_sgl(adapter_t *adapter) in mega_get_max_sgl() argument
3924 memset((void *)adapter->mega_buffer, 0, MEGA_BUFFER_SIZE); in mega_get_max_sgl()
3926 mbox->m_out.xferaddr = (u32)adapter->buf_dma_handle; in mega_get_max_sgl()
3932 if( issue_scb_block(adapter, raw_mbox) ) { in mega_get_max_sgl()
3936 adapter->sglen = MIN_SGLIST; in mega_get_max_sgl()
3939 adapter->sglen = *((char *)adapter->mega_buffer); in mega_get_max_sgl()
3945 if ( adapter->sglen > MAX_SGLIST ) in mega_get_max_sgl()
3946 adapter->sglen = MAX_SGLIST; in mega_get_max_sgl()
3960 mega_support_cluster(adapter_t *adapter) in mega_support_cluster() argument
3969 memset((void *)adapter->mega_buffer, 0, MEGA_BUFFER_SIZE); in mega_support_cluster()
3971 mbox->m_out.xferaddr = (u32)adapter->buf_dma_handle; in mega_support_cluster()
3979 if( issue_scb_block(adapter, raw_mbox) == 0 ) { in mega_support_cluster()
3985 adapter->this_id = *(u32 *)adapter->mega_buffer; in mega_support_cluster()
3986 adapter->host->this_id = adapter->this_id; in mega_support_cluster()
4005 mega_adapinq(adapter_t *adapter, dma_addr_t dma_handle) in mega_adapinq() argument
4011 if( adapter->flag & BOARD_40LD ) { in mega_adapinq()
4022 if ( mega_internal_command(adapter, &mc, NULL) != 0 ) { in mega_adapinq()
4039 mega_internal_dev_inquiry(adapter_t *adapter, u8 ch, u8 tgt, in mega_internal_dev_inquiry() argument
4053 if( make_local_pdev(adapter, &pdev) != 0 ) return -1; in mega_internal_dev_inquiry()
4068 pthru->channel = (adapter->flag & BOARD_40LD) ? 0 : ch; in mega_internal_dev_inquiry()
4070 pthru->target = (adapter->flag & BOARD_40LD) ? (ch << 4)|tgt : tgt; in mega_internal_dev_inquiry()
4090 rval = mega_internal_command(adapter, &mc, pthru); in mega_internal_dev_inquiry()
4114 mega_internal_command(adapter_t *adapter, megacmd_t *mc, mega_passthru *pthru) in mega_internal_command() argument
4125 mutex_lock(&adapter->int_mtx); in mega_internal_command()
4127 scb = &adapter->int_scb; in mega_internal_command()
4141 spin_lock_irqsave(&adapter->lock, flags); in mega_internal_command()
4142 list_add_tail(&scb->list, &adapter->pending_list); in mega_internal_command()
4148 if (atomic_read(&adapter->quiescent) == 0) in mega_internal_command()
4149 mega_runpendq(adapter); in mega_internal_command()
4150 spin_unlock_irqrestore(&adapter->lock, flags); in mega_internal_command()
4152 wait_for_completion(&adapter->int_waitq); in mega_internal_command()
4154 mc->status = rval = adapter->int_status; in mega_internal_command()
4161 dev_info(&adapter->dev->dev, "cmd [%x, %x, %x] status:[%x]\n", in mega_internal_command()
4165 mutex_unlock(&adapter->int_mtx); in mega_internal_command()
4193 adapter_t *adapter; in megaraid_probe_one() local
4278 adapter = (adapter_t *)host->hostdata; in megaraid_probe_one()
4279 memset(adapter, 0, sizeof(adapter_t)); in megaraid_probe_one()
4285 adapter->base = mega_baseport; in megaraid_probe_one()
4287 adapter->mmio_base = (void __iomem *) mega_baseport; in megaraid_probe_one()
4289 INIT_LIST_HEAD(&adapter->free_list); in megaraid_probe_one()
4290 INIT_LIST_HEAD(&adapter->pending_list); in megaraid_probe_one()
4291 INIT_LIST_HEAD(&adapter->completed_list); in megaraid_probe_one()
4293 adapter->flag = flag; in megaraid_probe_one()
4294 spin_lock_init(&adapter->lock); in megaraid_probe_one()
4299 adapter->dev = pdev; in megaraid_probe_one()
4300 adapter->host = host; in megaraid_probe_one()
4302 adapter->host->irq = irq; in megaraid_probe_one()
4305 adapter->host->base = tbase; in megaraid_probe_one()
4307 adapter->host->io_port = tbase; in megaraid_probe_one()
4308 adapter->host->n_io_port = 16; in megaraid_probe_one()
4311 adapter->host->unique_id = (pci_bus << 8) | pci_dev_func; in megaraid_probe_one()
4316 adapter->mega_buffer = pci_alloc_consistent(adapter->dev, in megaraid_probe_one()
4317 MEGA_BUFFER_SIZE, &adapter->buf_dma_handle); in megaraid_probe_one()
4318 if (!adapter->mega_buffer) { in megaraid_probe_one()
4323 adapter->scb_list = kmalloc(sizeof(scb_t) * MAX_COMMANDS, GFP_KERNEL); in megaraid_probe_one()
4324 if (!adapter->scb_list) { in megaraid_probe_one()
4329 if (request_irq(irq, (adapter->flag & BOARD_MEMMAP) ? in megaraid_probe_one()
4331 IRQF_SHARED, "megaraid", adapter)) { in megaraid_probe_one()
4336 if (mega_setup_mailbox(adapter)) in megaraid_probe_one()
4339 if (mega_query_adapter(adapter)) in megaraid_probe_one()
4349 if (!strcmp(adapter->fw_version, "3.00") || in megaraid_probe_one()
4350 !strcmp(adapter->fw_version, "3.01")) { in megaraid_probe_one()
4382 if (!strcmp(adapter->fw_version, "H01.07") || in megaraid_probe_one()
4383 !strcmp(adapter->fw_version, "H01.08") || in megaraid_probe_one()
4384 !strcmp(adapter->fw_version, "H01.09") ) { in megaraid_probe_one()
4392 adapter->flag &= ~BOARD_64BIT; in megaraid_probe_one()
4396 if (mega_is_bios_enabled(adapter)) in megaraid_probe_one()
4398 mega_hbas[hba_count].hostdata_addr = adapter; in megaraid_probe_one()
4404 mega_enum_raid_scsi(adapter); in megaraid_probe_one()
4414 mega_get_boot_drv(adapter); in megaraid_probe_one()
4416 if (adapter->boot_pdrv_enabled) { in megaraid_probe_one()
4417 j = adapter->product_info.nchannels; in megaraid_probe_one()
4419 adapter->logdrv_chan[i] = 0; in megaraid_probe_one()
4421 adapter->logdrv_chan[i] = 1; in megaraid_probe_one()
4424 adapter->logdrv_chan[i] = 1; in megaraid_probe_one()
4426 adapter->logdrv_chan[i] = 0; in megaraid_probe_one()
4427 adapter->mega_ch_class <<= NVIRT_CHAN; in megaraid_probe_one()
4434 adapter->read_ldidmap = 0; /* set it after first logdrv in megaraid_probe_one()
4436 adapter->support_random_del = mega_support_random_del(adapter); in megaraid_probe_one()
4439 if (mega_init_scb(adapter)) in megaraid_probe_one()
4445 atomic_set(&adapter->pend_cmds, 0); in megaraid_probe_one()
4450 atomic_set(&adapter->quiescent, 0); in megaraid_probe_one()
4452 hba_soft_state[hba_count] = adapter; in megaraid_probe_one()
4463 mcontroller[i].numldrv = adapter->numldrv; in megaraid_probe_one()
4474 if ((adapter->flag & BOARD_64BIT) && (sizeof(dma_addr_t) == 8)) { in megaraid_probe_one()
4476 adapter->has_64bit_addr = 1; in megaraid_probe_one()
4479 adapter->has_64bit_addr = 0; in megaraid_probe_one()
4482 mutex_init(&adapter->int_mtx); in megaraid_probe_one()
4483 init_completion(&adapter->int_waitq); in megaraid_probe_one()
4485 adapter->this_id = DEFAULT_INITIATOR_ID; in megaraid_probe_one()
4486 adapter->host->this_id = DEFAULT_INITIATOR_ID; in megaraid_probe_one()
4496 adapter->has_cluster = mega_support_cluster(adapter); in megaraid_probe_one()
4497 if (adapter->has_cluster) { in megaraid_probe_one()
4500 adapter->this_id); in megaraid_probe_one()
4517 pci_free_consistent(adapter->dev, sizeof(mbox64_t), in megaraid_probe_one()
4518 adapter->una_mbox64, adapter->una_mbox64_dma); in megaraid_probe_one()
4520 free_irq(adapter->host->irq, adapter); in megaraid_probe_one()
4522 kfree(adapter->scb_list); in megaraid_probe_one()
4524 pci_free_consistent(adapter->dev, MEGA_BUFFER_SIZE, in megaraid_probe_one()
4525 adapter->mega_buffer, adapter->buf_dma_handle); in megaraid_probe_one()
4543 __megaraid_shutdown(adapter_t *adapter) in __megaraid_shutdown() argument
4553 free_irq(adapter->host->irq, adapter); in __megaraid_shutdown()
4556 issue_scb_block(adapter, raw_mbox); in __megaraid_shutdown()
4563 issue_scb_block(adapter, raw_mbox); in __megaraid_shutdown()
4565 if (atomic_read(&adapter->pend_cmds) > 0) in __megaraid_shutdown()
4566 dev_warn(&adapter->dev->dev, "pending commands!!\n"); in __megaraid_shutdown()
4580 adapter_t *adapter = (adapter_t *)host->hostdata; in megaraid_remove_one() local
4584 __megaraid_shutdown(adapter); in megaraid_remove_one()
4587 if (adapter->flag & BOARD_MEMMAP) { in megaraid_remove_one()
4588 iounmap((void *)adapter->base); in megaraid_remove_one()
4589 release_mem_region(adapter->host->base, 128); in megaraid_remove_one()
4591 release_region(adapter->base, 16); in megaraid_remove_one()
4593 mega_free_sgl(adapter); in megaraid_remove_one()
4596 if (adapter->controller_proc_dir_entry) { in megaraid_remove_one()
4597 remove_proc_entry("stat", adapter->controller_proc_dir_entry); in megaraid_remove_one()
4599 adapter->controller_proc_dir_entry); in megaraid_remove_one()
4601 adapter->controller_proc_dir_entry); in megaraid_remove_one()
4604 adapter->controller_proc_dir_entry); in megaraid_remove_one()
4606 adapter->controller_proc_dir_entry); in megaraid_remove_one()
4609 adapter->controller_proc_dir_entry); in megaraid_remove_one()
4611 adapter->controller_proc_dir_entry); in megaraid_remove_one()
4613 adapter->controller_proc_dir_entry); in megaraid_remove_one()
4615 adapter->controller_proc_dir_entry); in megaraid_remove_one()
4618 adapter->controller_proc_dir_entry); in megaraid_remove_one()
4620 adapter->controller_proc_dir_entry); in megaraid_remove_one()
4622 adapter->controller_proc_dir_entry); in megaraid_remove_one()
4624 adapter->controller_proc_dir_entry); in megaraid_remove_one()
4628 sprintf(buf, "hba%d", adapter->host->host_no); in megaraid_remove_one()
4634 pci_free_consistent(adapter->dev, MEGA_BUFFER_SIZE, in megaraid_remove_one()
4635 adapter->mega_buffer, adapter->buf_dma_handle); in megaraid_remove_one()
4636 kfree(adapter->scb_list); in megaraid_remove_one()
4637 pci_free_consistent(adapter->dev, sizeof(mbox64_t), in megaraid_remove_one()
4638 adapter->una_mbox64, adapter->una_mbox64_dma); in megaraid_remove_one()
4650 adapter_t *adapter = (adapter_t *)host->hostdata; in megaraid_shutdown() local
4652 __megaraid_shutdown(adapter); in megaraid_shutdown()