Lines Matching refs:ctlr
50 int ctlr,
132 #define CPQ_TAPE_LOCK(ctlr, flags) spin_lock_irqsave( \ argument
134 hba[ctlr]->scsi_ctlr)->lock), flags);
135 #define CPQ_TAPE_UNLOCK(ctlr, flags) spin_unlock_irqrestore( \ argument
137 hba[ctlr]->scsi_ctlr)->lock), flags);
176 c->cmd.ctlr = h->ctlr; in scsi_cmd_alloc()
203 scsi_cmd_stack_setup(int ctlr, struct cciss_scsi_adapter_data_t *sa) in scsi_cmd_stack_setup() argument
216 pci_alloc_consistent(hba[ctlr]->pdev, size, &stk->cmd_pool_handle); in scsi_cmd_stack_setup()
233 scsi_cmd_stack_free(int ctlr) in scsi_cmd_stack_free() argument
239 sa = (struct cciss_scsi_adapter_data_t *) hba[ctlr]->scsi_ctlr; in scsi_cmd_stack_free()
249 pci_free_consistent(hba[ctlr]->pdev, size, stk->pool, stk->cmd_pool_handle); in scsi_cmd_stack_free()
340 find_bus_target_lun(int ctlr, int *bus, int *target, int *lun) in find_bus_target_lun() argument
350 for (i=0;i<ccissscsi[ctlr].ndevices;i++) in find_bus_target_lun()
351 target_taken[ccissscsi[ctlr].dev[i].target] = 1; in find_bus_target_lun()
367 cciss_scsi_add_entry(int ctlr, int hostno, in cciss_scsi_add_entry() argument
372 int n = ccissscsi[ctlr].ndevices; in cciss_scsi_add_entry()
379 "some will be inaccessible.\n", ctlr); in cciss_scsi_add_entry()
395 sd = &ccissscsi[ctlr].dev[i]; in cciss_scsi_add_entry()
408 sd = &ccissscsi[ctlr].dev[n]; in cciss_scsi_add_entry()
410 if (find_bus_target_lun(ctlr, in cciss_scsi_add_entry()
429 ccissscsi[ctlr].ndevices++; in cciss_scsi_add_entry()
436 ctlr, scsi_device_type(sd->devtype), hostno, in cciss_scsi_add_entry()
442 cciss_scsi_remove_entry(int ctlr, int hostno, int entry, in cciss_scsi_remove_entry() argument
450 sd = ccissscsi[ctlr].dev[entry]; in cciss_scsi_remove_entry()
455 for (i=entry;i<ccissscsi[ctlr].ndevices-1;i++) in cciss_scsi_remove_entry()
456 ccissscsi[ctlr].dev[i] = ccissscsi[ctlr].dev[i+1]; in cciss_scsi_remove_entry()
457 ccissscsi[ctlr].ndevices--; in cciss_scsi_remove_entry()
459 ctlr, scsi_device_type(sd.devtype), hostno, in cciss_scsi_remove_entry()
474 static void fixup_botched_add(int ctlr, char *scsi3addr) in fixup_botched_add() argument
480 CPQ_TAPE_LOCK(ctlr, flags); in fixup_botched_add()
481 for (i = 0; i < ccissscsi[ctlr].ndevices; i++) { in fixup_botched_add()
483 ccissscsi[ctlr].dev[i].scsi3addr, 8) == 0) { in fixup_botched_add()
484 for (j = i; j < ccissscsi[ctlr].ndevices-1; j++) in fixup_botched_add()
485 ccissscsi[ctlr].dev[j] = in fixup_botched_add()
486 ccissscsi[ctlr].dev[j+1]; in fixup_botched_add()
487 ccissscsi[ctlr].ndevices--; in fixup_botched_add()
491 CPQ_TAPE_UNLOCK(ctlr, flags); in fixup_botched_add()
511 adjust_cciss_scsi_table(int ctlr, int hostno, in adjust_cciss_scsi_table() argument
533 "adjust_cciss_scsi_table\n", ctlr); in adjust_cciss_scsi_table()
537 CPQ_TAPE_LOCK(ctlr, flags); in adjust_cciss_scsi_table()
541 hba[ctlr]->scsi_ctlr)->scsi_host; in adjust_cciss_scsi_table()
549 while(i<ccissscsi[ctlr].ndevices) { in adjust_cciss_scsi_table()
550 csd = &ccissscsi[ctlr].dev[i]; in adjust_cciss_scsi_table()
568 cciss_scsi_remove_entry(ctlr, hostno, i, in adjust_cciss_scsi_table()
574 ctlr, hostno, csd->bus, csd->target, csd->lun); in adjust_cciss_scsi_table()
575 cciss_scsi_remove_entry(ctlr, hostno, i, in adjust_cciss_scsi_table()
578 if (cciss_scsi_add_entry(ctlr, hostno, &sd[j], in adjust_cciss_scsi_table()
600 for (j=0;j<ccissscsi[ctlr].ndevices;j++) { in adjust_cciss_scsi_table()
601 csd = &ccissscsi[ctlr].dev[j]; in adjust_cciss_scsi_table()
613 if (cciss_scsi_add_entry(ctlr, hostno, &sd[i], in adjust_cciss_scsi_table()
620 "unexpectedly changed\n", ctlr); in adjust_cciss_scsi_table()
624 CPQ_TAPE_UNLOCK(ctlr, flags); in adjust_cciss_scsi_table()
646 ctlr, hostno, removed[i].bus, in adjust_cciss_scsi_table()
660 ctlr, hostno, in adjust_cciss_scsi_table()
664 fixup_botched_add(ctlr, added[i].scsi3addr); in adjust_cciss_scsi_table()
674 lookup_scsi3addr(int ctlr, int bus, int target, int lun, char *scsi3addr) in lookup_scsi3addr() argument
680 CPQ_TAPE_LOCK(ctlr, flags); in lookup_scsi3addr()
681 for (i=0;i<ccissscsi[ctlr].ndevices;i++) { in lookup_scsi3addr()
682 sd = &ccissscsi[ctlr].dev[i]; in lookup_scsi3addr()
687 CPQ_TAPE_UNLOCK(ctlr, flags); in lookup_scsi3addr()
691 CPQ_TAPE_UNLOCK(ctlr, flags); in lookup_scsi3addr()
720 ctlr_info_t *ctlr; in complete_scsi_command() local
732 ctlr = hba[cp->ctlr]; in complete_scsi_command()
842 scsi_cmd_free(ctlr, cp); in complete_scsi_command()
846 cciss_scsi_detect(int ctlr) in cciss_scsi_detect() argument
859 hba[ctlr]->scsi_ctlr)->scsi_host = (void *) sh; in cciss_scsi_detect()
860 sh->hostdata[0] = (unsigned long) hba[ctlr]; in cciss_scsi_detect()
861 sh->irq = hba[ctlr]->intr[SIMPLE_MODE_INT]; in cciss_scsi_detect()
863 error = scsi_add_host(sh, &hba[ctlr]->pdev->dev); in cciss_scsi_detect()
945 spin_lock_irqsave(CCISS_LOCK(c->ctlr), flags); in cciss_scsi_do_simple_cmd()
949 spin_unlock_irqrestore(CCISS_LOCK(c->ctlr), flags); in cciss_scsi_do_simple_cmd()
1046 spin_lock_irqsave(CCISS_LOCK(c->ctlr), flags); in cciss_scsi_do_inquiry()
1048 spin_unlock_irqrestore(CCISS_LOCK(c->ctlr), flags); in cciss_scsi_do_inquiry()
1073 spin_lock_irqsave(CCISS_LOCK(c->ctlr), flags); in cciss_scsi_do_inquiry()
1075 spin_unlock_irqrestore(CCISS_LOCK(c->ctlr), flags); in cciss_scsi_do_inquiry()
1109 spin_lock_irqsave(CCISS_LOCK(c->ctlr), flags); in cciss_scsi_do_report_phys_luns()
1111 spin_unlock_irqrestore(CCISS_LOCK(c->ctlr), flags); in cciss_scsi_do_report_phys_luns()
1144 spin_lock_irqsave(CCISS_LOCK(c->ctlr), flags); in cciss_scsi_do_report_phys_luns()
1146 spin_unlock_irqrestore(CCISS_LOCK(c->ctlr), flags); in cciss_scsi_do_report_phys_luns()
1302 cciss_scsi_user_command(int ctlr, int hostno, char *buffer, int length) in cciss_scsi_user_command() argument
1307 cciss_update_non_disk_devices(ctlr, hostno); in cciss_scsi_user_command()
1333 cntl_num = ci->ctlr; /* Get our index into the hba[] array */ in cciss_scsi_proc_info()
1410 int ctlr, rc; in cciss_scsi_queue_command() local
1418 ctlr = (*c)->ctlr; in cciss_scsi_queue_command()
1420 rc = lookup_scsi3addr(ctlr, cmd->device->channel, cmd->device->id, in cciss_scsi_queue_command()
1440 spin_lock_irqsave(CCISS_LOCK(ctlr), flags); in cciss_scsi_queue_command()
1442 spin_unlock_irqrestore(CCISS_LOCK(ctlr), flags); in cciss_scsi_queue_command()
1504 spin_lock_irqsave(CCISS_LOCK(ctlr), flags); in cciss_scsi_queue_command()
1508 spin_unlock_irqrestore(CCISS_LOCK(ctlr), flags); in cciss_scsi_queue_command()
1515 cciss_unregister_scsi(int ctlr) in cciss_unregister_scsi() argument
1523 spin_lock_irqsave(CCISS_LOCK(ctlr), flags); in cciss_unregister_scsi()
1524 sa = (struct cciss_scsi_adapter_data_t *) hba[ctlr]->scsi_ctlr; in cciss_unregister_scsi()
1529 spin_unlock_irqrestore(CCISS_LOCK(ctlr), flags); in cciss_unregister_scsi()
1532 spin_lock_irqsave(CCISS_LOCK(ctlr), flags); in cciss_unregister_scsi()
1538 spin_unlock_irqrestore(CCISS_LOCK(ctlr), flags); in cciss_unregister_scsi()
1539 scsi_cmd_stack_free(ctlr); in cciss_unregister_scsi()
1544 cciss_engage_scsi(int ctlr) in cciss_engage_scsi() argument
1550 spin_lock_irqsave(CCISS_LOCK(ctlr), flags); in cciss_engage_scsi()
1551 sa = (struct cciss_scsi_adapter_data_t *) hba[ctlr]->scsi_ctlr; in cciss_engage_scsi()
1555 printk("cciss%d: SCSI subsystem already engaged.\n", ctlr); in cciss_engage_scsi()
1556 spin_unlock_irqrestore(CCISS_LOCK(ctlr), flags); in cciss_engage_scsi()
1560 spin_unlock_irqrestore(CCISS_LOCK(ctlr), flags); in cciss_engage_scsi()
1561 cciss_update_non_disk_devices(ctlr, -1); in cciss_engage_scsi()
1562 cciss_scsi_detect(ctlr); in cciss_engage_scsi()
1567 cciss_seq_tape_report(struct seq_file *seq, int ctlr) in cciss_seq_tape_report() argument
1571 CPQ_TAPE_LOCK(ctlr, flags); in cciss_seq_tape_report()
1574 ccissscsi[ctlr].ndevices); in cciss_seq_tape_report()
1575 CPQ_TAPE_UNLOCK(ctlr, flags); in cciss_seq_tape_report()
1595 int ctlr; in cciss_eh_device_reset_handler() local
1601 ctlr = (*c)->ctlr; in cciss_eh_device_reset_handler()
1602 printk(KERN_WARNING "cciss%d: resetting tape drive or medium changer.\n", ctlr); in cciss_eh_device_reset_handler()
1610 rc = sendcmd(CCISS_RESET_MSG, ctlr, NULL, 0, 2, 0, 0, in cciss_eh_device_reset_handler()
1617 printk(KERN_WARNING "cciss%d: resetting device failed.\n", ctlr); in cciss_eh_device_reset_handler()
1626 int ctlr; in cciss_eh_abort_handler() local
1632 ctlr = (*c)->ctlr; in cciss_eh_abort_handler()
1633 printk(KERN_WARNING "cciss%d: aborting tardy SCSI cmd\n", ctlr); in cciss_eh_abort_handler()
1639 rc = sendcmd(CCISS_ABORT_MSG, ctlr, &cmd_to_abort->Header.Tag, in cciss_eh_abort_handler()