tag | line | file | source code |
hostdata | 411 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 412 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 416 | drivers/scsi/53c7,8xx.c | switch (hostdata->chip) { |
hostdata | 419 | drivers/scsi/53c7,8xx.c | hostdata->dstat_sir_intr = NCR53c8x0_dstat_sir_intr; |
hostdata | 420 | drivers/scsi/53c7,8xx.c | hostdata->init_save_regs = NULL; |
hostdata | 421 | drivers/scsi/53c7,8xx.c | hostdata->dsa_fixup = NCR53c8xx_dsa_fixup; |
hostdata | 422 | drivers/scsi/53c7,8xx.c | hostdata->init_fixup = NCR53c8x0_init_fixup; |
hostdata | 423 | drivers/scsi/53c7,8xx.c | hostdata->soft_reset = NCR53c8x0_soft_reset; |
hostdata | 424 | drivers/scsi/53c7,8xx.c | hostdata->run_tests = NCR53c8xx_run_tests; |
hostdata | 426 | drivers/scsi/53c7,8xx.c | hostdata->scsi_clock = 40000000; |
hostdata | 430 | drivers/scsi/53c7,8xx.c | host->host_no, hostdata->chip); |
hostdata | 456 | drivers/scsi/53c7,8xx.c | (hostdata->options & OPTION_MEMORY_MAPPED) ? "memory" : |
hostdata | 459 | drivers/scsi/53c7,8xx.c | hostdata->dmode = (hostdata->chip == 700 || hostdata->chip == 70066) ? |
hostdata | 461 | drivers/scsi/53c7,8xx.c | hostdata->istat = ((hostdata->chip / 100) == 8) ? |
hostdata | 473 | drivers/scsi/53c7,8xx.c | tmp = hostdata->this_id_mask = NCR53c7x0_read8(SCID_REG); |
hostdata | 477 | drivers/scsi/53c7,8xx.c | hostdata->this_id_mask = 1 << host->this_id; |
hostdata | 487 | drivers/scsi/53c7,8xx.c | if ((hostdata->chip / 100) == 8) { |
hostdata | 491 | drivers/scsi/53c7,8xx.c | hostdata->saved_ctest4 = NCR53c7x0_read8(CTEST4_REG_800) & |
hostdata | 498 | drivers/scsi/53c7,8xx.c | hostdata->saved_ctest7 = NCR53c7x0_read8(CTEST7_REG) & CTEST7_SAVE; |
hostdata | 505 | drivers/scsi/53c7,8xx.c | hostdata->saved_dcntl = NCR53c7x0_read8(DCNTL_REG); |
hostdata | 507 | drivers/scsi/53c7,8xx.c | if ((hostdata->chip / 100) == 8) |
hostdata | 509 | drivers/scsi/53c7,8xx.c | (hostdata->saved_dcntl & DCNTL_800_IRQM) ? "level active" : |
hostdata | 516 | drivers/scsi/53c7,8xx.c | hostdata->saved_dmode = NCR53c7x0_read8(hostdata->dmode); |
hostdata | 523 | drivers/scsi/53c7,8xx.c | if ((hostdata->chip / 100) == 8) { |
hostdata | 524 | drivers/scsi/53c7,8xx.c | if (hostdata->saved_ctest4 & CTEST4_800_BDIS) { |
hostdata | 527 | drivers/scsi/53c7,8xx.c | switch (hostdata->saved_dmode & DMODE_BL_MASK) { |
hostdata | 541 | drivers/scsi/53c7,8xx.c | if (hostdata->chip / 100 == 8) { |
hostdata | 542 | drivers/scsi/53c7,8xx.c | hostdata->saved_scntl3 = NCR53c7x0_read8(SCNTL3_REG_800); |
hostdata | 543 | drivers/scsi/53c7,8xx.c | ccf = hostdata->saved_scntl3 & SCNTL3_800_CCF_MASK; |
hostdata | 554 | drivers/scsi/53c7,8xx.c | if (!hostdata->scsi_clock) |
hostdata | 556 | drivers/scsi/53c7,8xx.c | case 1: hostdata->scsi_clock = 25000000; break; /* Divide by 1.0 */ |
hostdata | 557 | drivers/scsi/53c7,8xx.c | case 2: hostdata->scsi_clock = 37500000; break; /* Divide by 1.5 */ |
hostdata | 558 | drivers/scsi/53c7,8xx.c | case 3: hostdata->scsi_clock = 50000000; break; /* Divide by 2.0 */ |
hostdata | 560 | drivers/scsi/53c7,8xx.c | case 4: hostdata->scsi_clock = 66000000; break; |
hostdata | 565 | drivers/scsi/53c7,8xx.c | hostdata->options &= ~OPTION_SYNCHRONOUS; |
hostdata | 566 | drivers/scsi/53c7,8xx.c | hostdata->scsi_clock = 0; |
hostdata | 570 | drivers/scsi/53c7,8xx.c | hostdata->scsi_clock / 1000000); |
hostdata | 578 | drivers/scsi/53c7,8xx.c | hostdata->busy[i][j] = 0; |
hostdata | 584 | drivers/scsi/53c7,8xx.c | if (hostdata->chip != 700 && hostdata->chip != 70066) { |
hostdata | 585 | drivers/scsi/53c7,8xx.c | hostdata->sync[i].select_indirect |= (i << 16); |
hostdata | 587 | drivers/scsi/53c7,8xx.c | hostdata->sync[i].script[0] = (DCMD_TYPE_TCI|DCMD_TCI_OP_RETURN) << 24 | |
hostdata | 589 | drivers/scsi/53c7,8xx.c | switch (hostdata->chip) { |
hostdata | 596 | drivers/scsi/53c7,8xx.c | hostdata->sync[i].select_indirect |= (hostdata->saved_scntl3) << 24; |
hostdata | 603 | drivers/scsi/53c7,8xx.c | hostdata->issue_queue = hostdata->running_list = |
hostdata | 604 | drivers/scsi/53c7,8xx.c | hostdata->finished_queue = NULL; |
hostdata | 605 | drivers/scsi/53c7,8xx.c | hostdata->issue_dsa_head = |
hostdata | 606 | drivers/scsi/53c7,8xx.c | hostdata->issue_dsa_tail = NULL; |
hostdata | 608 | drivers/scsi/53c7,8xx.c | if (hostdata->init_save_regs) |
hostdata | 609 | drivers/scsi/53c7,8xx.c | hostdata->init_save_regs (host); |
hostdata | 610 | drivers/scsi/53c7,8xx.c | if (hostdata->init_fixup) |
hostdata | 611 | drivers/scsi/53c7,8xx.c | hostdata->init_fixup (host); |
hostdata | 618 | drivers/scsi/53c7,8xx.c | hostdata->idle = 1; |
hostdata | 630 | drivers/scsi/53c7,8xx.c | hostdata->soft_reset (host); |
hostdata | 632 | drivers/scsi/53c7,8xx.c | hostdata->debug_count_limit = -1; |
hostdata | 633 | drivers/scsi/53c7,8xx.c | hostdata->intrs = -1; |
hostdata | 634 | drivers/scsi/53c7,8xx.c | hostdata->expecting_iid = 0; |
hostdata | 635 | drivers/scsi/53c7,8xx.c | hostdata->expecting_sto = 0; |
hostdata | 637 | drivers/scsi/53c7,8xx.c | if ((hostdata->run_tests && hostdata->run_tests(host) == -1) || |
hostdata | 638 | drivers/scsi/53c7,8xx.c | (hostdata->options & OPTION_DEBUG_TESTS_ONLY)) { |
hostdata | 671 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata; |
hostdata | 714 | drivers/scsi/53c7,8xx.c | hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 715 | drivers/scsi/53c7,8xx.c | instance->hostdata; |
hostdata | 716 | drivers/scsi/53c7,8xx.c | hostdata->size = size; |
hostdata | 717 | drivers/scsi/53c7,8xx.c | hostdata->script_count = script_len / sizeof(long); |
hostdata | 718 | drivers/scsi/53c7,8xx.c | hostdata = (struct NCR53c7x0_hostdata *) instance->hostdata; |
hostdata | 719 | drivers/scsi/53c7,8xx.c | hostdata->board = board; |
hostdata | 720 | drivers/scsi/53c7,8xx.c | hostdata->chip = chip; |
hostdata | 721 | drivers/scsi/53c7,8xx.c | if ((hostdata->pci_valid = pci_valid)) { |
hostdata | 722 | drivers/scsi/53c7,8xx.c | hostdata->pci_bus = pci_bus; |
hostdata | 723 | drivers/scsi/53c7,8xx.c | hostdata->pci_device_fn = pci_device_fn; |
hostdata | 768 | drivers/scsi/53c7,8xx.c | hostdata->options = options; |
hostdata | 976 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 977 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 987 | drivers/scsi/53c7,8xx.c | memcpy ((void *) hostdata->script, (void *) SCRIPT, |
hostdata | 991 | drivers/scsi/53c7,8xx.c | hostdata->script[LABELPATCHES[i]] += |
hostdata | 992 | drivers/scsi/53c7,8xx.c | (unsigned long) hostdata->script; |
hostdata | 1012 | drivers/scsi/53c7,8xx.c | if (!(hostdata->options & OPTION_MEMORY_MAPPED)) { |
hostdata | 1026 | drivers/scsi/53c7,8xx.c | patch_abs_32 (hostdata->script, 0, addr_scratch, base + SCRATCHA_REG_800); |
hostdata | 1027 | drivers/scsi/53c7,8xx.c | patch_abs_32 (hostdata->script, 0, addr_sfbr, base + SFBR_REG); |
hostdata | 1028 | drivers/scsi/53c7,8xx.c | patch_abs_32 (hostdata->script, 0, addr_temp, base + TEMP_REG); |
hostdata | 1039 | drivers/scsi/53c7,8xx.c | patch_abs_rwri_data (hostdata->script, 0, dmode_memory_to_memory, tmp); |
hostdata | 1040 | drivers/scsi/53c7,8xx.c | patch_abs_rwri_data (hostdata->script, 0, dmode_memory_to_ncr, memory_to_ncr); |
hostdata | 1041 | drivers/scsi/53c7,8xx.c | patch_abs_rwri_data (hostdata->script, 0, dmode_ncr_to_memory, ncr_to_memory); |
hostdata | 1042 | drivers/scsi/53c7,8xx.c | patch_abs_rwri_data (hostdata->script, 0, dmode_ncr_to_ncr, ncr_to_ncr); |
hostdata | 1044 | drivers/scsi/53c7,8xx.c | patch_abs_32 (hostdata->script, 0, issue_dsa_head, (long) &(hostdata->issue_dsa_head)); |
hostdata | 1045 | drivers/scsi/53c7,8xx.c | patch_abs_32 (hostdata->script, 0, msg_buf, (long) &(hostdata->msg_buf)); |
hostdata | 1046 | drivers/scsi/53c7,8xx.c | patch_abs_32 (hostdata->script, 0, reconnect_dsa_head, (long) &(hostdata->reconnect_dsa_head)); |
hostdata | 1047 | drivers/scsi/53c7,8xx.c | patch_abs_32 (hostdata->script, 0, reselected_identify, (long) &(hostdata->reselected_identify)); |
hostdata | 1048 | drivers/scsi/53c7,8xx.c | patch_abs_32 (hostdata->script, 0, reselected_tag, (long) &(hostdata->reselected_tag)); |
hostdata | 1050 | drivers/scsi/53c7,8xx.c | patch_abs_32 (hostdata->script, 0, test_dest, (long) &(hostdata->test_dest)); |
hostdata | 1051 | drivers/scsi/53c7,8xx.c | patch_abs_32 (hostdata->script, 0, test_src, (long) &(hostdata->test_source)); |
hostdata | 1063 | drivers/scsi/53c7,8xx.c | hostdata->E_accept_message = Ent_accept_message; |
hostdata | 1064 | drivers/scsi/53c7,8xx.c | hostdata->E_command_complete = Ent_command_complete; |
hostdata | 1065 | drivers/scsi/53c7,8xx.c | hostdata->E_debug_break = Ent_debug_break; |
hostdata | 1066 | drivers/scsi/53c7,8xx.c | hostdata->E_dsa_code_template = Ent_dsa_code_template; |
hostdata | 1067 | drivers/scsi/53c7,8xx.c | hostdata->E_dsa_code_template_end = Ent_dsa_code_template_end; |
hostdata | 1068 | drivers/scsi/53c7,8xx.c | hostdata->E_initiator_abort = Ent_initiator_abort; |
hostdata | 1069 | drivers/scsi/53c7,8xx.c | hostdata->E_msg_in = Ent_msg_in; |
hostdata | 1070 | drivers/scsi/53c7,8xx.c | hostdata->E_other_transfer = Ent_other_transfer; |
hostdata | 1071 | drivers/scsi/53c7,8xx.c | hostdata->E_reject_message = Ent_reject_message; |
hostdata | 1072 | drivers/scsi/53c7,8xx.c | hostdata->E_respond_message = Ent_respond_message; |
hostdata | 1073 | drivers/scsi/53c7,8xx.c | hostdata->E_schedule = Ent_schedule; |
hostdata | 1074 | drivers/scsi/53c7,8xx.c | hostdata->E_select = Ent_select; |
hostdata | 1075 | drivers/scsi/53c7,8xx.c | hostdata->E_select_msgout = Ent_select_msgout; |
hostdata | 1076 | drivers/scsi/53c7,8xx.c | hostdata->E_target_abort = Ent_target_abort; |
hostdata | 1078 | drivers/scsi/53c7,8xx.c | hostdata->E_test_0 = Ent_test_0; |
hostdata | 1080 | drivers/scsi/53c7,8xx.c | hostdata->E_test_1 = Ent_test_1; |
hostdata | 1081 | drivers/scsi/53c7,8xx.c | hostdata->E_test_2 = Ent_test_2; |
hostdata | 1083 | drivers/scsi/53c7,8xx.c | hostdata->E_test_3 = Ent_test_3; |
hostdata | 1086 | drivers/scsi/53c7,8xx.c | hostdata->dsa_cmdout = A_dsa_cmdout; |
hostdata | 1087 | drivers/scsi/53c7,8xx.c | hostdata->dsa_cmnd = A_dsa_cmnd; |
hostdata | 1088 | drivers/scsi/53c7,8xx.c | hostdata->dsa_datain = A_dsa_datain; |
hostdata | 1089 | drivers/scsi/53c7,8xx.c | hostdata->dsa_dataout = A_dsa_dataout; |
hostdata | 1090 | drivers/scsi/53c7,8xx.c | hostdata->dsa_end = A_dsa_end; |
hostdata | 1091 | drivers/scsi/53c7,8xx.c | hostdata->dsa_msgin = A_dsa_msgin; |
hostdata | 1092 | drivers/scsi/53c7,8xx.c | hostdata->dsa_msgout = A_dsa_msgout; |
hostdata | 1093 | drivers/scsi/53c7,8xx.c | hostdata->dsa_msgout_other = A_dsa_msgout_other; |
hostdata | 1094 | drivers/scsi/53c7,8xx.c | hostdata->dsa_next = A_dsa_next; |
hostdata | 1095 | drivers/scsi/53c7,8xx.c | hostdata->dsa_select = A_dsa_select; |
hostdata | 1096 | drivers/scsi/53c7,8xx.c | hostdata->dsa_start = Ent_dsa_code_template - Ent_dsa_zero; |
hostdata | 1097 | drivers/scsi/53c7,8xx.c | hostdata->dsa_status = A_dsa_status; |
hostdata | 1107 | drivers/scsi/53c7,8xx.c | (unsigned long) hostdata->script); |
hostdata | 1127 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 1128 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 1138 | drivers/scsi/53c7,8xx.c | if (!hostdata->idle) { |
hostdata | 1149 | drivers/scsi/53c7,8xx.c | if (hostdata->issue_dsa_head) { |
hostdata | 1152 | drivers/scsi/53c7,8xx.c | hostdata->issue_dsa_head = NULL; |
hostdata | 1155 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_TEST1) { |
hostdata | 1156 | drivers/scsi/53c7,8xx.c | hostdata->idle = 0; |
hostdata | 1157 | drivers/scsi/53c7,8xx.c | hostdata->test_running = 1; |
hostdata | 1158 | drivers/scsi/53c7,8xx.c | hostdata->test_completed = -1; |
hostdata | 1159 | drivers/scsi/53c7,8xx.c | hostdata->test_dest = 0; |
hostdata | 1160 | drivers/scsi/53c7,8xx.c | hostdata->test_source = 0xdeadbeef; |
hostdata | 1161 | drivers/scsi/53c7,8xx.c | start = ((unsigned long) hostdata->script) + hostdata->E_test_1; |
hostdata | 1162 | drivers/scsi/53c7,8xx.c | hostdata->state = STATE_RUNNING; |
hostdata | 1169 | drivers/scsi/53c7,8xx.c | while ((hostdata->test_completed == -1) && jiffies < timeout); |
hostdata | 1172 | drivers/scsi/53c7,8xx.c | if (hostdata->test_completed == -1) |
hostdata | 1174 | drivers/scsi/53c7,8xx.c | (hostdata->test_dest == 0xdeadbeef) ? |
hostdata | 1183 | drivers/scsi/53c7,8xx.c | else if (hostdata->test_completed != 1) |
hostdata | 1185 | drivers/scsi/53c7,8xx.c | hostdata->test_completed); |
hostdata | 1187 | drivers/scsi/53c7,8xx.c | failed = (hostdata->test_dest != 0xdeadbeef); |
hostdata | 1189 | drivers/scsi/53c7,8xx.c | if (hostdata->test_dest != 0xdeadbeef) { |
hostdata | 1193 | drivers/scsi/53c7,8xx.c | host->host_no, hostdata->test_dest); |
hostdata | 1199 | drivers/scsi/53c7,8xx.c | (unsigned long) hostdata->script, start); |
hostdata | 1205 | drivers/scsi/53c7,8xx.c | hostdata->test_running = 0; |
hostdata | 1208 | drivers/scsi/53c7,8xx.c | if (hostdata->issue_dsa_head) { |
hostdata | 1211 | drivers/scsi/53c7,8xx.c | hostdata->issue_dsa_head = NULL; |
hostdata | 1214 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_TEST2) { |
hostdata | 1239 | drivers/scsi/53c7,8xx.c | if (!hostdata->idle) { |
hostdata | 1247 | drivers/scsi/53c7,8xx.c | hostdata->idle = 0; |
hostdata | 1248 | drivers/scsi/53c7,8xx.c | hostdata->test_running = 2; |
hostdata | 1249 | drivers/scsi/53c7,8xx.c | hostdata->test_completed = -1; |
hostdata | 1250 | drivers/scsi/53c7,8xx.c | start = ((unsigned long) hostdata->script) + hostdata->E_test_2; |
hostdata | 1251 | drivers/scsi/53c7,8xx.c | hostdata->state = STATE_RUNNING; |
hostdata | 1257 | drivers/scsi/53c7,8xx.c | while ((hostdata->test_completed == -1) && jiffies < timeout); |
hostdata | 1260 | drivers/scsi/53c7,8xx.c | if (hostdata->test_completed == 2) { |
hostdata | 1269 | drivers/scsi/53c7,8xx.c | } else if (hostdata->test_completed == 3) { |
hostdata | 1272 | drivers/scsi/53c7,8xx.c | if (!hostdata->idle) { |
hostdata | 1277 | drivers/scsi/53c7,8xx.c | } else if (hostdata->test_completed == -1) { |
hostdata | 1282 | drivers/scsi/53c7,8xx.c | hostdata->test_running = 0; |
hostdata | 1283 | drivers/scsi/53c7,8xx.c | if (hostdata->issue_dsa_head) { |
hostdata | 1286 | drivers/scsi/53c7,8xx.c | hostdata->issue_dsa_head = NULL; |
hostdata | 1309 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 1310 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 1313 | drivers/scsi/53c7,8xx.c | memcpy (cmd->dsa, hostdata->script + (hostdata->E_dsa_code_template / 4), |
hostdata | 1314 | drivers/scsi/53c7,8xx.c | hostdata->E_dsa_code_template_end - hostdata->E_dsa_code_template); |
hostdata | 1324 | drivers/scsi/53c7,8xx.c | dsa_temp_sync, hostdata->sync[c->target].select_indirect); |
hostdata | 1347 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 1348 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 1355 | drivers/scsi/53c7,8xx.c | for (search = (char *) (i ? hostdata->issue_dsa_head : |
hostdata | 1356 | drivers/scsi/53c7,8xx.c | hostdata->reconnect_dsa_head), prev = (char **) (i ? |
hostdata | 1357 | drivers/scsi/53c7,8xx.c | &(hostdata->issue_dsa_head) : &(hostdata->reconnect_dsa_head)); |
hostdata | 1358 | drivers/scsi/53c7,8xx.c | search && (search + hostdata->dsa_start) != (char *) cmd->dsa; |
hostdata | 1359 | drivers/scsi/53c7,8xx.c | prev = (char **) (search + hostdata->dsa_next), |
hostdata | 1363 | drivers/scsi/53c7,8xx.c | *prev = *(char **) (search + hostdata->dsa_next); |
hostdata | 1372 | drivers/scsi/53c7,8xx.c | if (hostdata->running_list == cmd) |
hostdata | 1373 | drivers/scsi/53c7,8xx.c | hostdata->running_list = cmd->next; |
hostdata | 1412 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 1413 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 1425 | drivers/scsi/53c7,8xx.c | for (bp = hostdata->breakpoints; bp && bp->address != dsp; |
hostdata | 1437 | drivers/scsi/53c7,8xx.c | NCR53c7x0_write8 (hostdata->dmode, |
hostdata | 1438 | drivers/scsi/53c7,8xx.c | NCR53c7x0_read8(hostdata->dmode)|DMODE_MAN); |
hostdata | 1461 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 1462 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 1465 | drivers/scsi/53c7,8xx.c | if ((hostdata->chip / 100) == 8) { |
hostdata | 1466 | drivers/scsi/53c7,8xx.c | hostdata->sync[target].select_indirect = (hostdata->saved_scntl3 << 24) |
hostdata | 1469 | drivers/scsi/53c7,8xx.c | } else if ((hostdata->chip != 700) && (hostdata->chip != 70066)) { |
hostdata | 1470 | drivers/scsi/53c7,8xx.c | hostdata->sync[target].select_indirect = (1 << (target & 7)) << 16; |
hostdata | 1478 | drivers/scsi/53c7,8xx.c | if (hostdata->state == STATE_HALTED) { |
hostdata | 1479 | drivers/scsi/53c7,8xx.c | if ((hostdata->chip / 100) == 8) { |
hostdata | 1480 | drivers/scsi/53c7,8xx.c | NCR53c7x0_write8 (SCNTL3_REG_800, hostdata->saved_scntl3); |
hostdata | 1528 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 1529 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 1536 | drivers/scsi/53c7,8xx.c | divisor = desire / (hostdata->scsi_clock / 10); |
hostdata | 1552 | drivers/scsi/53c7,8xx.c | scntl3 = (hostdata->chip / 100 == 8) ? ((hostdata->saved_scntl3 & |
hostdata | 1556 | drivers/scsi/53c7,8xx.c | if ((hostdata->chip != 700) && (hostdata->chip != 70066)) { |
hostdata | 1557 | drivers/scsi/53c7,8xx.c | hostdata->sync[target].select_indirect = (scntl3 << 24) | (target << 16) | |
hostdata | 1560 | drivers/scsi/53c7,8xx.c | script = hostdata->sync[target].script; |
hostdata | 1563 | drivers/scsi/53c7,8xx.c | if ((hostdata->chip / 100) == 8) { |
hostdata | 1600 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 1601 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 1607 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_INTR) |
hostdata | 1615 | drivers/scsi/53c7,8xx.c | print_msg (hostdata->msg_buf); |
hostdata | 1617 | drivers/scsi/53c7,8xx.c | switch (hostdata->msg_buf[0]) { |
hostdata | 1623 | drivers/scsi/53c7,8xx.c | hostdata->dsp = hostdata->script + hostdata->E_accept_message / |
hostdata | 1625 | drivers/scsi/53c7,8xx.c | hostdata->dsp_changed = 1; |
hostdata | 1630 | drivers/scsi/53c7,8xx.c | hostdata->dsp = hostdata->script + hostdata->E_reject_message / |
hostdata | 1632 | drivers/scsi/53c7,8xx.c | hostdata->dsp_changed = 1; |
hostdata | 1639 | drivers/scsi/53c7,8xx.c | "requesting", hostdata->msg_buf[3] * 4, hostdata->msg_buf[4]); |
hostdata | 1650 | drivers/scsi/53c7,8xx.c | synchronous (host, c->target, hostdata->msg_buf); |
hostdata | 1651 | drivers/scsi/53c7,8xx.c | hostdata->dsp = hostdata->script + hostdata->E_accept_message / |
hostdata | 1653 | drivers/scsi/53c7,8xx.c | hostdata->dsp_changed = 1; |
hostdata | 1656 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_SYNCHRONOUS) { |
hostdata | 1658 | drivers/scsi/53c7,8xx.c | synchronous (host, c->target, hostdata->msg_buf); |
hostdata | 1660 | drivers/scsi/53c7,8xx.c | hostdata->msg_buf[4] = 0; /* 0 offset = async */ |
hostdata | 1665 | drivers/scsi/53c7,8xx.c | hostdata->msg_buf); |
hostdata | 1666 | drivers/scsi/53c7,8xx.c | hostdata->dsp = hostdata->script + |
hostdata | 1667 | drivers/scsi/53c7,8xx.c | hostdata->E_respond_message / sizeof(long); |
hostdata | 1668 | drivers/scsi/53c7,8xx.c | hostdata->dsp_changed = 1; |
hostdata | 1671 | drivers/scsi/53c7,8xx.c | if (hostdata->msg_buf[4]) { |
hostdata | 1672 | drivers/scsi/53c7,8xx.c | int Hz = 1000000000 / (hostdata->msg_buf[3] * 4); |
hostdata | 1676 | drivers/scsi/53c7,8xx.c | ((hostdata->msg_buf[3] < 200) ? "FAST " : |
hostdata | 1678 | drivers/scsi/53c7,8xx.c | ((hostdata->msg_buf[3] < 200) ? "-II" : ""), |
hostdata | 1679 | drivers/scsi/53c7,8xx.c | (int) hostdata->msg_buf[3] * 4, (int) |
hostdata | 1680 | drivers/scsi/53c7,8xx.c | hostdata->msg_buf[4]); |
hostdata | 1689 | drivers/scsi/53c7,8xx.c | hostdata->dsp = hostdata->script + hostdata->E_reject_message / |
hostdata | 1691 | drivers/scsi/53c7,8xx.c | hostdata->dsp_changed = 1; |
hostdata | 1694 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_INTR) |
hostdata | 1700 | drivers/scsi/53c7,8xx.c | hostdata->dsp = hostdata->script + hostdata->E_target_abort / |
hostdata | 1702 | drivers/scsi/53c7,8xx.c | hostdata->dsp_changed = 1; |
hostdata | 1707 | drivers/scsi/53c7,8xx.c | hostdata->dsp = hostdata->script + hostdata->E_initiator_abort / |
hostdata | 1709 | drivers/scsi/53c7,8xx.c | hostdata->dsp_changed = 1; |
hostdata | 1722 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_INTR) |
hostdata | 1770 | drivers/scsi/53c7,8xx.c | patch_dsa_32 (cmd->dsa, dsa_dataout, 0, hostdata->E_other_transfer); |
hostdata | 1778 | drivers/scsi/53c7,8xx.c | cmd->data_transfer_start[3] = hostdata->E_other_transfer; |
hostdata | 1792 | drivers/scsi/53c7,8xx.c | hostdata->dsp = hostdata->script + hostdata->E_select / |
hostdata | 1794 | drivers/scsi/53c7,8xx.c | hostdata->dsp_changed = 1; |
hostdata | 1799 | drivers/scsi/53c7,8xx.c | hostdata->dsp = hostdata->script + hostdata->E_schedule / |
hostdata | 1801 | drivers/scsi/53c7,8xx.c | hostdata->dsp_changed = 1; |
hostdata | 1807 | drivers/scsi/53c7,8xx.c | hostdata->idle = 1; |
hostdata | 1808 | drivers/scsi/53c7,8xx.c | hostdata->test_completed = (dsps - A_int_test_1) / 0x00010000 + 1; |
hostdata | 1809 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_INTR) |
hostdata | 1811 | drivers/scsi/53c7,8xx.c | hostdata->test_completed); |
hostdata | 1815 | drivers/scsi/53c7,8xx.c | if (hostdata->options & (OPTION_DEBUG_SCRIPT|OPTION_DEBUG_INTR)) { |
hostdata | 1823 | drivers/scsi/53c7,8xx.c | if (hostdata->options & (OPTION_DEBUG_SCRIPT|OPTION_DEBUG_INTR)) { |
hostdata | 1830 | drivers/scsi/53c7,8xx.c | if (hostdata->options & (OPTION_DEBUG_SCRIPT|OPTION_DEBUG_INTR)) { |
hostdata | 1837 | drivers/scsi/53c7,8xx.c | if (hostdata->options & (OPTION_DEBUG_SCRIPT|OPTION_DEBUG_INTR)) { |
hostdata | 1845 | drivers/scsi/53c7,8xx.c | if (hostdata->options & (OPTION_DEBUG_SCRIPT|OPTION_DEBUG_INTR)) { |
hostdata | 1848 | drivers/scsi/53c7,8xx.c | (int) hostdata->reselected_identify & 7); |
hostdata | 1854 | drivers/scsi/53c7,8xx.c | if (hostdata->options & (OPTION_DEBUG_SCRIPT|OPTION_DEBUG_INTR)) { |
hostdata | 1856 | drivers/scsi/53c7,8xx.c | host->host_no, (unsigned long) hostdata->issue_dsa_head); |
hostdata | 1930 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 1931 | drivers/scsi/53c7,8xx.c | instance->hostdata; |
hostdata | 1961 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 1962 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 1998 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 1999 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 2006 | drivers/scsi/53c7,8xx.c | if (hostdata->state != STATE_HALTED) { |
hostdata | 2024 | drivers/scsi/53c7,8xx.c | bp->next = hostdata->breakpoints; |
hostdata | 2025 | drivers/scsi/53c7,8xx.c | hostdata->breakpoints = bp->next; |
hostdata | 2026 | drivers/scsi/53c7,8xx.c | memcpy ((void *) bp->address, (void *) hostdata->E_debug_break, 8); |
hostdata | 2058 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostadata *hostdata; |
hostdata | 2067 | drivers/scsi/53c7,8xx.c | hostdata = (struct NCR53c7x0_hostdata *) host->hostdata; |
hostdata | 2115 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 2116 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 2121 | drivers/scsi/53c7,8xx.c | left = (hostdata->debug_buf + hostdata->debug_size - 1) - |
hostdata | 2122 | drivers/scsi/53c7,8xx.c | hostdata->debug_write; |
hostdata | 2124 | drivers/scsi/53c7,8xx.c | memcpy (hostdata->debug_write, buf, copy); |
hostdata | 2127 | drivers/scsi/53c7,8xx.c | hostdata->debug_count += copy; |
hostdata | 2128 | drivers/scsi/53c7,8xx.c | if ((hostdata->debug_write += copy) == |
hostdata | 2129 | drivers/scsi/53c7,8xx.c | (hostdata->debug_buf + hostdata->debug_size)) |
hostdata | 2130 | drivers/scsi/53c7,8xx.c | hosdata->debug_write = hostdata->debug_buf; |
hostdata | 2151 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 2152 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 2168 | drivers/scsi/53c7,8xx.c | NCR53c7x0_write8(hostdata->dmode, hostdata->saved_dmode & ~DMODE_MAN); |
hostdata | 2180 | drivers/scsi/53c7,8xx.c | NCR53c7x0_write8(RESPID_REG_800, hostdata->this_id_mask); |
hostdata | 2206 | drivers/scsi/53c7,8xx.c | NCR53c7x0_write8(SIEN0_REG_800, ((hostdata->options & OPTION_PARITY) ? |
hostdata | 2216 | drivers/scsi/53c7,8xx.c | NCR53c7x0_write8(DCNTL_REG, hostdata->saved_dcntl); |
hostdata | 2217 | drivers/scsi/53c7,8xx.c | NCR53c7x0_write8(CTEST4_REG_800, hostdata->saved_ctest4); |
hostdata | 2243 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 2244 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 2289 | drivers/scsi/53c7,8xx.c | hostdata->options |= OPTION_DEBUG_INTR; |
hostdata | 2338 | drivers/scsi/53c7,8xx.c | size = ((sizeof (struct NCR53c7x0_cmd) + (hostdata->dsa_end - |
hostdata | 2339 | drivers/scsi/53c7,8xx.c | hostdata->dsa_start) + 2 * sizeof(long) * |
hostdata | 2342 | drivers/scsi/53c7,8xx.c | size = sizeof (struct NCR53c7x0_cmd) + (hostdata->dsa_end - |
hostdata | 2343 | drivers/scsi/53c7,8xx.c | hostdata->dsa_start) + 2 * sizeof(long) * |
hostdata | 2394 | drivers/scsi/53c7,8xx.c | tmp->data_transfer_start = tmp->dsa + (hostdata->dsa_end - |
hostdata | 2395 | drivers/scsi/53c7,8xx.c | hostdata->dsa_start) / sizeof(long); |
hostdata | 2411 | drivers/scsi/53c7,8xx.c | if (hostdata->dsa_fixup) |
hostdata | 2412 | drivers/scsi/53c7,8xx.c | hostdata->dsa_fixup(tmp); |
hostdata | 2416 | drivers/scsi/53c7,8xx.c | patch_dsa_32(tmp->dsa, dsa_select, 0, hostdata->sync[cmd->target]. |
hostdata | 2432 | drivers/scsi/53c7,8xx.c | cmd_dataout : hostdata->script + hostdata->E_other_transfer / |
hostdata | 2435 | drivers/scsi/53c7,8xx.c | cmd_datain : hostdata->script + hostdata->E_other_transfer / |
hostdata | 2501 | drivers/scsi/53c7,8xx.c | cmd_datain[3] = hostdata->script + hostdata->E_msg_in / |
hostdata | 2515 | drivers/scsi/53c7,8xx.c | cmd_dataout[3] = hostdata->script + hostdata->E_msg_in / |
hostdata | 2533 | drivers/scsi/53c7,8xx.c | cmd_datain[1] = hostdata->script + hostdata->E_other_transfer |
hostdata | 2552 | drivers/scsi/53c7,8xx.c | cmd_dataout[1] = hostdata->script + hostdata->E_other_transfer |
hostdata | 2586 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 2587 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 2592 | drivers/scsi/53c7,8xx.c | if (((hostdata->options & (OPTION_DEBUG_INIT_ONLY|OPTION_DEBUG_PROBE_ONLY)) || |
hostdata | 2593 | drivers/scsi/53c7,8xx.c | ((hostdata->options & OPTION_DEBUG_TARGET_LIMIT) && |
hostdata | 2594 | drivers/scsi/53c7,8xx.c | !(hostdata->debug_lun_limit[cmd->target] & (1 << cmd->lun)))) || |
hostdata | 2603 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_NCOMMANDS_LIMIT) { |
hostdata | 2604 | drivers/scsi/53c7,8xx.c | if (hostdata->debug_count_limit == 0) { |
hostdata | 2609 | drivers/scsi/53c7,8xx.c | } else if (hostdata->debug_count_limit != -1) |
hostdata | 2610 | drivers/scsi/53c7,8xx.c | --hostdata->debug_count_limit; |
hostdata | 2613 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_READ_ONLY) { |
hostdata | 2665 | drivers/scsi/53c7,8xx.c | target_was_busy = hostdata->busy[cmd->target][cmd->lun] |
hostdata | 2671 | drivers/scsi/53c7,8xx.c | if (!(hostdata->options & OPTION_700) && |
hostdata | 2674 | drivers/scsi/53c7,8xx.c | - hostdata->dsa_start; |
hostdata | 2680 | drivers/scsi/53c7,8xx.c | if (hostdata->running_list) |
hostdata | 2681 | drivers/scsi/53c7,8xx.c | hostdata->running_list->prev = tmp; |
hostdata | 2683 | drivers/scsi/53c7,8xx.c | tmp->next = hostdata->running_list; |
hostdata | 2685 | drivers/scsi/53c7,8xx.c | if (!hostdata->running_list) |
hostdata | 2686 | drivers/scsi/53c7,8xx.c | hostdata->running_list = tmp; |
hostdata | 2689 | drivers/scsi/53c7,8xx.c | if (hostdata->idle) { |
hostdata | 2690 | drivers/scsi/53c7,8xx.c | hostdata->idle = 0; |
hostdata | 2691 | drivers/scsi/53c7,8xx.c | hostdata->state = STATE_RUNNING; |
hostdata | 2692 | drivers/scsi/53c7,8xx.c | NCR53c7x0_write32 (DSP_REG, ((unsigned long) hostdata->script) + |
hostdata | 2693 | drivers/scsi/53c7,8xx.c | hostdata->E_schedule); |
hostdata | 2704 | drivers/scsi/53c7,8xx.c | if (!hostdata->issue_dsa_head) { |
hostdata | 2708 | drivers/scsi/53c7,8xx.c | hostdata->issue_dsa_tail = hostdata->issue_dsa_head = dsa; |
hostdata | 2709 | drivers/scsi/53c7,8xx.c | NCR53c7x0_write8(hostdata->istat, |
hostdata | 2710 | drivers/scsi/53c7,8xx.c | NCR53c7x0_read8(hostdata->istat) | ISTAT_10_SIGP); |
hostdata | 2722 | drivers/scsi/53c7,8xx.c | hostdata->issue_dsa_tail = *((unsigned char **) |
hostdata | 2723 | drivers/scsi/53c7,8xx.c | (hostdata->issue_dsa_tail + hostdata->dsa_next)) = dsa; |
hostdata | 2735 | drivers/scsi/53c7,8xx.c | if (hostdata->issue_dsa_head) |
hostdata | 2745 | drivers/scsi/53c7,8xx.c | for (tmp = (struct NCR53c7x0_cmd *) hostdata->issue_queue; |
hostdata | 2771 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = |
hostdata | 2772 | drivers/scsi/53c7,8xx.c | (struct NCR53c7x0_hostdata *) host->hostdata; |
hostdata | 2780 | drivers/scsi/53c7,8xx.c | if ((hostdata->chip / 100) == 8) { |
hostdata | 2789 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_INTR) |
hostdata | 2794 | drivers/scsi/53c7,8xx.c | if ((((hostdata->chip / 100) == 8) && (sist1 & SIST1_800_STO)) || |
hostdata | 2795 | drivers/scsi/53c7,8xx.c | (((hostdata->chip / 100) != 8) && sstat0_sist0 && SSTAT0_700_STO)) { |
hostdata | 2797 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_INTR) { |
hostdata | 2816 | drivers/scsi/53c7,8xx.c | hostdata->idle = 1; |
hostdata | 2817 | drivers/scsi/53c7,8xx.c | hostdata->expecting_sto = 0; |
hostdata | 2819 | drivers/scsi/53c7,8xx.c | if (hostdata->test_running) { |
hostdata | 2820 | drivers/scsi/53c7,8xx.c | hostdata->test_running = 0; |
hostdata | 2821 | drivers/scsi/53c7,8xx.c | hostdata->test_completed = 3; |
hostdata | 2826 | drivers/scsi/53c7,8xx.c | hostdata->intrs = 0; |
hostdata | 2838 | drivers/scsi/53c7,8xx.c | hostdata->dsp = hostdata->script + hostdata->E_schedule / |
hostdata | 2840 | drivers/scsi/53c7,8xx.c | hostdata->dsp_changed = 1; |
hostdata | 2855 | drivers/scsi/53c7,8xx.c | hostdata->dsp = hostdata->script + hostdata->E_initiator_abort / |
hostdata | 2857 | drivers/scsi/53c7,8xx.c | hostdata->dsp_changed = 1; |
hostdata | 2865 | drivers/scsi/53c7,8xx.c | hostdata->dsp = hostdata->script + hostdata->E_initiator_abort / |
hostdata | 2867 | drivers/scsi/53c7,8xx.c | hostdata->dsp_changed = 1; |
hostdata | 2873 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_INTR) |
hostdata | 2885 | drivers/scsi/53c7,8xx.c | if (!hostdata->dstat_valid) { |
hostdata | 2886 | drivers/scsi/53c7,8xx.c | hostdata->dstat = NCR53c7x0_read8(DSTAT_REG); |
hostdata | 2887 | drivers/scsi/53c7,8xx.c | hostdata->dstat_valid = 1; |
hostdata | 2891 | drivers/scsi/53c7,8xx.c | if (!(hostdata->dstat & DSTAT_DFE)) { |
hostdata | 2896 | drivers/scsi/53c7,8xx.c | while (!((hostdata->dstat = NCR53c7x0_read8(DSTAT_REG)) & |
hostdata | 2927 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata; /* host->hostdata */ |
hostdata | 2948 | drivers/scsi/53c7,8xx.c | for (host = first_host; host; host = hostdata->next ? |
hostdata | 2949 | drivers/scsi/53c7,8xx.c | hostdata->next : NULL) { |
hostdata | 2952 | drivers/scsi/53c7,8xx.c | hostdata = (struct NCR53c7x0_hostdata *) host->hostdata; |
hostdata | 2953 | drivers/scsi/53c7,8xx.c | hostdata->dsp_changed = 0; |
hostdata | 2958 | drivers/scsi/53c7,8xx.c | hostdata->dstat_valid = 0; |
hostdata | 2964 | drivers/scsi/53c7,8xx.c | istat = NCR53c7x0_read8(hostdata->istat); |
hostdata | 2973 | drivers/scsi/53c7,8xx.c | if ((hostdata->options & OPTION_INTFLY) && |
hostdata | 2974 | drivers/scsi/53c7,8xx.c | ((hostdata->chip / 100) == 8 && (istat & ISTAT_800_INTF))) { |
hostdata | 2983 | drivers/scsi/53c7,8xx.c | NCR53c7x0_write8(hostdata->istat, istat|ISTAT_800_INTF); |
hostdata | 2985 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_INTR) |
hostdata | 2999 | drivers/scsi/53c7,8xx.c | &(hostdata->running_list), cmd = (struct NCR53c7x0_cmd *) |
hostdata | 3000 | drivers/scsi/53c7,8xx.c | hostdata->running_list; cmd ; cmd_prev_ptr = |
hostdata | 3034 | drivers/scsi/53c7,8xx.c | if (--hostdata->busy[tmp->target][tmp->lun]) { |
hostdata | 3052 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_INTR) { |
hostdata | 3060 | drivers/scsi/53c7,8xx.c | hostdata->options &= ~OPTION_DEBUG_INTR; |
hostdata | 3077 | drivers/scsi/53c7,8xx.c | hostdata->state = STATE_HALTED; |
hostdata | 3088 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_700) { |
hostdata | 3089 | drivers/scsi/53c7,8xx.c | cmd = (struct NCR53c7x0_cmd *) hostdata->current; |
hostdata | 3093 | drivers/scsi/53c7,8xx.c | hostdata->running_list; cmd && |
hostdata | 3094 | drivers/scsi/53c7,8xx.c | (dsa + (hostdata->dsa_start / sizeof(long))) != |
hostdata | 3098 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_INTR) { |
hostdata | 3110 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_INTR) |
hostdata | 3116 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_INTR) |
hostdata | 3121 | drivers/scsi/53c7,8xx.c | if (!hostdata->dstat_valid) { |
hostdata | 3122 | drivers/scsi/53c7,8xx.c | hostdata->dstat = NCR53c7x0_read8(DSTAT_REG); |
hostdata | 3123 | drivers/scsi/53c7,8xx.c | hostdata->dstat_valid = 1; |
hostdata | 3128 | drivers/scsi/53c7,8xx.c | if (!(hostdata->dstat & DSTAT_DFE)) { |
hostdata | 3133 | drivers/scsi/53c7,8xx.c | while (!((hostdata->dstat = NCR53c7x0_read8(DSTAT_REG)) & |
hostdata | 3148 | drivers/scsi/53c7,8xx.c | if (hostdata->intrs != -1) |
hostdata | 3149 | drivers/scsi/53c7,8xx.c | hostdata->intrs++; |
hostdata | 3151 | drivers/scsi/53c7,8xx.c | if (hostdata->intrs > 4) { |
hostdata | 3153 | drivers/scsi/53c7,8xx.c | hostdata->idle = 1; |
hostdata | 3154 | drivers/scsi/53c7,8xx.c | hostdata->options |= OPTION_DEBUG_INIT_ONLY; |
hostdata | 3159 | drivers/scsi/53c7,8xx.c | if (!hostdata->idle && hostdata->state == STATE_HALTED) { |
hostdata | 3160 | drivers/scsi/53c7,8xx.c | if (!hostdata->dsp_changed) { |
hostdata | 3161 | drivers/scsi/53c7,8xx.c | hostdata->dsp = (unsigned long *) NCR53c7x0_read32(DSP_REG); |
hostdata | 3166 | drivers/scsi/53c7,8xx.c | (long) hostdata->dsp); |
hostdata | 3169 | drivers/scsi/53c7,8xx.c | hostdata->state = STATE_RUNNING; |
hostdata | 3170 | drivers/scsi/53c7,8xx.c | NCR53c7x0_write32 (DSP_REG, (unsigned long) hostdata->dsp); |
hostdata | 3190 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 3191 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 3193 | drivers/scsi/53c7,8xx.c | hostdata->dsp = hostdata->script + hostdata->E_initiator_abort / |
hostdata | 3195 | drivers/scsi/53c7,8xx.c | hostdata->dsp_changed = 1; |
hostdata | 3226 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 3227 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 3308 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_INTR) |
hostdata | 3310 | drivers/scsi/53c7,8xx.c | hostdata->dsp = hostdata->script + hostdata->E_command_complete / |
hostdata | 3312 | drivers/scsi/53c7,8xx.c | hostdata->dsp_changed = 1; |
hostdata | 3322 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_INTR) |
hostdata | 3330 | drivers/scsi/53c7,8xx.c | hostdata->dsp = hostdata->script + hostdata->E_msg_in / |
hostdata | 3332 | drivers/scsi/53c7,8xx.c | hostdata->dsp_changed = 1; |
hostdata | 3381 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 3382 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 3394 | drivers/scsi/53c7,8xx.c | if (!hostdata->dstat_valid) { |
hostdata | 3395 | drivers/scsi/53c7,8xx.c | hostdata->dstat = NCR53c7x0_read8(DSTAT_REG); |
hostdata | 3396 | drivers/scsi/53c7,8xx.c | hostdata->dstat_valid = 1; |
hostdata | 3399 | drivers/scsi/53c7,8xx.c | dstat = hostdata->dstat; |
hostdata | 3401 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_INTR) |
hostdata | 3424 | drivers/scsi/53c7,8xx.c | if ((hostdata->options & OPTION_700) && (hostdata->state == |
hostdata | 3442 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_TRACE) { |
hostdata | 3443 | drivers/scsi/53c7,8xx.c | } else if (hostdata->options & OPTION_DEBUG_SINGLE) { |
hostdata | 3482 | drivers/scsi/53c7,8xx.c | if (((dsp >= (hostdata->script + hostdata->E_select / sizeof(long))) && |
hostdata | 3483 | drivers/scsi/53c7,8xx.c | (dsp <= (hostdata->script + hostdata->E_select_msgout / |
hostdata | 3484 | drivers/scsi/53c7,8xx.c | sizeof(long) + 8))) || (hostdata->test_running == 2)) { |
hostdata | 3485 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_INTR) |
hostdata | 3488 | drivers/scsi/53c7,8xx.c | if (hostdata->expecting_iid) { |
hostdata | 3489 | drivers/scsi/53c7,8xx.c | hostdata->expecting_iid = 0; |
hostdata | 3490 | drivers/scsi/53c7,8xx.c | hostdata->idle = 1; |
hostdata | 3491 | drivers/scsi/53c7,8xx.c | if (hostdata->test_running == 2) { |
hostdata | 3492 | drivers/scsi/53c7,8xx.c | hostdata->test_running = 0; |
hostdata | 3493 | drivers/scsi/53c7,8xx.c | hostdata->test_completed = 3; |
hostdata | 3497 | drivers/scsi/53c7,8xx.c | hostdata->expecting_sto = 1; |
hostdata | 3507 | drivers/scsi/53c7,8xx.c | NCR53c7x0_read32(TEMP_REG), (int) NCR53c7x0_read8(hostdata->dmode), |
hostdata | 3523 | drivers/scsi/53c7,8xx.c | NCR53c7x0_read32(TEMP_REG), (int) NCR53c7x0_read8(hostdata->dmode)); |
hostdata | 3531 | drivers/scsi/53c7,8xx.c | hostdata->idle = 1; |
hostdata | 3532 | drivers/scsi/53c7,8xx.c | hostdata->options |= OPTION_DEBUG_INIT_ONLY; |
hostdata | 3546 | drivers/scsi/53c7,8xx.c | if (hostdata->options & OPTION_DEBUG_INTR) |
hostdata | 3548 | drivers/scsi/53c7,8xx.c | switch ((tmp = hostdata->dstat_sir_intr (host, cmd))) { |
hostdata | 3637 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 3638 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 3653 | drivers/scsi/53c7,8xx.c | for (curr = hostdata->issue_queue, prev = &(hostdata->issue_queue); |
hostdata | 3683 | drivers/scsi/53c7,8xx.c | for (curr = hostdata->running_list, prev = &(hostdata->running_list); |
hostdata | 3737 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = host ? |
hostdata | 3738 | drivers/scsi/53c7,8xx.c | (struct NCR53c7x0_hostdata *) host->hostdata : NULL; |
hostdata | 3757 | drivers/scsi/53c7,8xx.c | struct NCR53c7x0_hostdata *hostdata = (struct NCR53c7x0_hostdata *) |
hostdata | 3758 | drivers/scsi/53c7,8xx.c | host->hostdata; |
hostdata | 3766 | drivers/scsi/53c7,8xx.c | host->host_no, (unsigned) dsa, hostdata->dsa_msgout, |
hostdata | 3767 | drivers/scsi/53c7,8xx.c | dsa[hostdata->dsa_msgout / sizeof(long)], |
hostdata | 3768 | drivers/scsi/53c7,8xx.c | dsa[hostdata->dsa_msgout / sizeof(long) + 1]); |
hostdata | 3770 | drivers/scsi/53c7,8xx.c | for (i = dsa[hostdata->dsa_msgout / sizeof(long)], |
hostdata | 3771 | drivers/scsi/53c7,8xx.c | ptr = (char *) dsa[hostdata->dsa_msgout / sizeof(long) + 1]; i > 0; |
hostdata | 1262 | drivers/scsi/53c7,8xx.h | host->hostdata)-> options & OPTION_MEMORY_MAPPED |
hostdata | 1301 | drivers/scsi/53c7,8xx.h | if (hostdata->options & OPTION_DEBUG_FIXUP) \ |
hostdata | 1319 | drivers/scsi/53c7,8xx.h | (dsa)[(hostdata->##symbol - hostdata->dsa_start) / sizeof(long) \ |
hostdata | 1321 | drivers/scsi/53c7,8xx.h | if (hostdata->options & OPTION_DEBUG_DSA) \ |
hostdata | 1323 | drivers/scsi/53c7,8xx.h | #dsa, #symbol, (long) hostdata->##symbol, \ |
hostdata | 606 | drivers/scsi/NCR5380.c | struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) |
hostdata | 607 | drivers/scsi/NCR5380.c | instance->hostdata; |
hostdata | 631 | drivers/scsi/NCR5380.c | NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask); |
hostdata | 632 | drivers/scsi/NCR5380.c | NCR5380_write(OUTPUT_DATA_REG, hostdata->id_mask); |
hostdata | 693 | drivers/scsi/NCR5380.c | if (hostdata->flags & FLAG_NCR53C400) { |
hostdata | 709 | drivers/scsi/NCR5380.c | struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) |
hostdata | 710 | drivers/scsi/NCR5380.c | instance->hostdata; |
hostdata | 723 | drivers/scsi/NCR5380.c | if (!hostdata->connected) { |
hostdata | 727 | drivers/scsi/NCR5380.c | print_Scsi_Cmnd ((Scsi_Cmnd *) hostdata->connected); |
hostdata | 732 | drivers/scsi/NCR5380.c | for (ptr = (Scsi_Cmnd *) hostdata->issue_queue; ptr; |
hostdata | 738 | drivers/scsi/NCR5380.c | for (ptr = (Scsi_Cmnd *) hostdata->disconnected_queue; ptr; |
hostdata | 762 | drivers/scsi/NCR5380.c | struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) |
hostdata | 763 | drivers/scsi/NCR5380.c | instance->hostdata; |
hostdata | 777 | drivers/scsi/NCR5380.c | hostdata->aborted = 0; |
hostdata | 778 | drivers/scsi/NCR5380.c | hostdata->id_mask = 1 << instance->this_id; |
hostdata | 779 | drivers/scsi/NCR5380.c | for (i = hostdata->id_mask; i <= 0x80; i <<= 1) |
hostdata | 780 | drivers/scsi/NCR5380.c | if (i > hostdata->id_mask) |
hostdata | 781 | drivers/scsi/NCR5380.c | hostdata->id_higher_mask |= i; |
hostdata | 783 | drivers/scsi/NCR5380.c | hostdata->busy[i] = 0; |
hostdata | 785 | drivers/scsi/NCR5380.c | hostdata->dmalen = 0; |
hostdata | 787 | drivers/scsi/NCR5380.c | hostdata->targets_present = 0; |
hostdata | 788 | drivers/scsi/NCR5380.c | hostdata->connected = NULL; |
hostdata | 789 | drivers/scsi/NCR5380.c | hostdata->issue_queue = NULL; |
hostdata | 790 | drivers/scsi/NCR5380.c | hostdata->disconnected_queue = NULL; |
hostdata | 791 | drivers/scsi/NCR5380.c | hostdata->flags = FLAG_CHECK_LAST_BYTE_SENT | flags; |
hostdata | 800 | drivers/scsi/NCR5380.c | hostdata->time_expires = 0; |
hostdata | 801 | drivers/scsi/NCR5380.c | hostdata->next_timer = NULL; |
hostdata | 816 | drivers/scsi/NCR5380.c | if (hostdata->flags & FLAG_NCR53C400) { |
hostdata | 845 | drivers/scsi/NCR5380.c | struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) |
hostdata | 846 | drivers/scsi/NCR5380.c | cmd->host->hostdata; |
hostdata | 881 | drivers/scsi/NCR5380.c | if (!(hostdata->issue_queue) || (cmd->cmnd[0] == REQUEST_SENSE)) { |
hostdata | 882 | drivers/scsi/NCR5380.c | cmd->host_scribble = (unsigned char *) hostdata->issue_queue; |
hostdata | 883 | drivers/scsi/NCR5380.c | hostdata->issue_queue = cmd; |
hostdata | 885 | drivers/scsi/NCR5380.c | for (tmp = (Scsi_Cmnd *) hostdata->issue_queue; tmp->host_scribble; |
hostdata | 914 | drivers/scsi/NCR5380.c | struct NCR5380_hostdata *hostdata; |
hostdata | 934 | drivers/scsi/NCR5380.c | hostdata = (struct NCR5380_hostdata *) instance->hostdata; |
hostdata | 936 | drivers/scsi/NCR5380.c | if (!hostdata->connected) { |
hostdata | 944 | drivers/scsi/NCR5380.c | for (tmp = (Scsi_Cmnd *) hostdata->issue_queue, |
hostdata | 949 | drivers/scsi/NCR5380.c | if (!(hostdata->busy[tmp->target] & (1 << tmp->lun))) { |
hostdata | 953 | drivers/scsi/NCR5380.c | hostdata->issue_queue = (Scsi_Cmnd *) tmp->host_scribble; |
hostdata | 983 | drivers/scsi/NCR5380.c | hostdata->issue_queue; |
hostdata | 984 | drivers/scsi/NCR5380.c | hostdata->issue_queue = tmp; |
hostdata | 994 | drivers/scsi/NCR5380.c | if (hostdata->connected |
hostdata | 996 | drivers/scsi/NCR5380.c | && !hostdata->dmalen |
hostdata | 999 | drivers/scsi/NCR5380.c | && (!hostdata->time_expires || hostdata->time_expires >= jiffies) |
hostdata | 1089 | drivers/scsi/NCR5380.c | if (!hostdata->connected) |
hostdata | 1093 | drivers/scsi/NCR5380.c | transfered = (hostdata->dmalen - NCR5380_dma_residual(instance)); |
hostdata | 1094 | drivers/scsi/NCR5380.c | hostdata->connected->SCp.this_residual -= transferred; |
hostdata | 1095 | drivers/scsi/NCR5380.c | hostdata->connected->SCp.ptr += transferred; |
hostdata | 1096 | drivers/scsi/NCR5380.c | hostdata->dmalen = 0; |
hostdata | 1164 | drivers/scsi/NCR5380.c | struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata*) |
hostdata | 1165 | drivers/scsi/NCR5380.c | instance->hostdata; |
hostdata | 1172 | drivers/scsi/NCR5380.c | hostdata->restart_select = 0; |
hostdata | 1192 | drivers/scsi/NCR5380.c | NCR5380_write(OUTPUT_DATA_REG, hostdata->id_mask); |
hostdata | 1209 | drivers/scsi/NCR5380.c | NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask); |
hostdata | 1234 | drivers/scsi/NCR5380.c | (NCR5380_read(CURRENT_SCSI_DATA_REG) & hostdata->id_higher_mask) || |
hostdata | 1275 | drivers/scsi/NCR5380.c | NCR5380_write(OUTPUT_DATA_REG, (hostdata->id_mask | (1 << cmd->target))); |
hostdata | 1339 | drivers/scsi/NCR5380.c | NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask); |
hostdata | 1347 | drivers/scsi/NCR5380.c | if (hostdata->targets_present & (1 << cmd->target)) { |
hostdata | 1349 | drivers/scsi/NCR5380.c | if (hostdata->restart_select) |
hostdata | 1354 | drivers/scsi/NCR5380.c | NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask); |
hostdata | 1359 | drivers/scsi/NCR5380.c | NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask); |
hostdata | 1364 | drivers/scsi/NCR5380.c | NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask); |
hostdata | 1368 | drivers/scsi/NCR5380.c | hostdata->targets_present |= (1 << cmd->target); |
hostdata | 1407 | drivers/scsi/NCR5380.c | hostdata->last_message = SIMPLE_QUEUE_TAG; |
hostdata | 1424 | drivers/scsi/NCR5380.c | hostdata->connected = cmd; |
hostdata | 1428 | drivers/scsi/NCR5380.c | hostdata->busy[cmd->target] |= (1 << cmd->lun); |
hostdata | 1614 | drivers/scsi/NCR5380.c | struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) |
hostdata | 1615 | drivers/scsi/NCR5380.c | instance->hostdata; |
hostdata | 1634 | drivers/scsi/NCR5380.c | hostdata->dma_len = (p & SR_IO) ? |
hostdata | 1832 | drivers/scsi/NCR5380.c | if (!(hostdata->flags & FLAG_HAS_LAST_BYTE_SENT)) { |
hostdata | 1857 | drivers/scsi/NCR5380.c | if (hostdata->flags & FLAG_CHECK_LAST_BYTE_SENT) { |
hostdata | 1858 | drivers/scsi/NCR5380.c | hostdata->flags &= ~FLAG_CHECK_LAST_BYTE_SENT; |
hostdata | 1860 | drivers/scsi/NCR5380.c | hostdata->flags |= FLAG_HAS_LAST_BYTE_SENT; |
hostdata | 1908 | drivers/scsi/NCR5380.c | struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) |
hostdata | 1909 | drivers/scsi/NCR5380.c | instance->hostdata; |
hostdata | 1915 | drivers/scsi/NCR5380.c | Scsi_Cmnd *cmd = (Scsi_Cmnd *) hostdata->connected; |
hostdata | 2065 | drivers/scsi/NCR5380.c | cmd = hostdata->connected; |
hostdata | 2072 | drivers/scsi/NCR5380.c | hostdata->connected = NULL; |
hostdata | 2077 | drivers/scsi/NCR5380.c | hostdata->busy[cmd->target] &= ~(1 << cmd->lun); |
hostdata | 2121 | drivers/scsi/NCR5380.c | hostdata->issue_queue; |
hostdata | 2122 | drivers/scsi/NCR5380.c | hostdata->issue_queue = (Scsi_Cmnd *) cmd; |
hostdata | 2131 | drivers/scsi/NCR5380.c | NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask); |
hostdata | 2139 | drivers/scsi/NCR5380.c | !hostdata->connected); |
hostdata | 2144 | drivers/scsi/NCR5380.c | switch (hostdata->last_message) { |
hostdata | 2149 | drivers/scsi/NCR5380.c | hostdata->busy[cmd->target] |= (1 << cmd->lun); |
hostdata | 2160 | drivers/scsi/NCR5380.c | hostdata->disconnected_queue; |
hostdata | 2161 | drivers/scsi/NCR5380.c | hostdata->connected = NULL; |
hostdata | 2162 | drivers/scsi/NCR5380.c | hostdata->disconnected_queue = cmd; |
hostdata | 2176 | drivers/scsi/NCR5380.c | NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask); |
hostdata | 2179 | drivers/scsi/NCR5380.c | !hostdata->connected); |
hostdata | 2287 | drivers/scsi/NCR5380.c | hostdata->last_message = msgout; |
hostdata | 2290 | drivers/scsi/NCR5380.c | hostdata->busy[cmd->target] &= ~(1 << cmd->lun); |
hostdata | 2291 | drivers/scsi/NCR5380.c | hostdata->connected = NULL; |
hostdata | 2294 | drivers/scsi/NCR5380.c | NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask); |
hostdata | 2311 | drivers/scsi/NCR5380.c | hostdata->time_expires = jiffies + USLEEP_SLEEP; |
hostdata | 2314 | drivers/scsi/NCR5380.c | hostdata->time_expires); |
hostdata | 2336 | drivers/scsi/NCR5380.c | if (!disconnect && hostdata->time_expires && jiffies > |
hostdata | 2337 | drivers/scsi/NCR5380.c | hostdata->time_expires) { |
hostdata | 2338 | drivers/scsi/NCR5380.c | hostdata->time_expires = jiffies + USLEEP_SLEEP; |
hostdata | 2341 | drivers/scsi/NCR5380.c | hostdata->time_expires); |
hostdata | 2365 | drivers/scsi/NCR5380.c | struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) |
hostdata | 2366 | drivers/scsi/NCR5380.c | instance->hostdata; |
hostdata | 2385 | drivers/scsi/NCR5380.c | hostdata->restart_select = 1; |
hostdata | 2387 | drivers/scsi/NCR5380.c | target_mask = NCR5380_read(CURRENT_SCSI_DATA_REG) & ~(hostdata->id_mask); |
hostdata | 2445 | drivers/scsi/NCR5380.c | for (tmp = (Scsi_Cmnd *) hostdata->disconnected_queue, prev = NULL; |
hostdata | 2455 | drivers/scsi/NCR5380.c | hostdata->disconnected_queue = (Scsi_Cmnd *) tmp->host_scribble; |
hostdata | 2484 | drivers/scsi/NCR5380.c | hostdata->connected = tmp; |
hostdata | 2507 | drivers/scsi/NCR5380.c | struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata * |
hostdata | 2508 | drivers/scsi/NCR5380.c | instance->hostdata); |
hostdata | 2532 | drivers/scsi/NCR5380.c | if (!(hostdata->connected->SCp.phase & SR_CD)) { |
hostdata | 2534 | drivers/scsi/NCR5380.c | hostdata->connected->SCp.this_residual -= transferred; |
hostdata | 2535 | drivers/scsi/NCR5380.c | hostdata->connected->SCp.ptr += transferred; |
hostdata | 2563 | drivers/scsi/NCR5380.c | struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) |
hostdata | 2564 | drivers/scsi/NCR5380.c | instance->hostdata; |
hostdata | 2590 | drivers/scsi/NCR5380.c | if (hostdata->connected == cmd) { |
hostdata | 2594 | drivers/scsi/NCR5380.c | hostdata->aborted = 1; |
hostdata | 2620 | drivers/scsi/NCR5380.c | for (prev = (Scsi_Cmnd **) &(hostdata->issue_queue), |
hostdata | 2621 | drivers/scsi/NCR5380.c | tmp = (Scsi_Cmnd *) hostdata->issue_queue; |
hostdata | 2648 | drivers/scsi/NCR5380.c | if (hostdata->connected) { |
hostdata | 2681 | drivers/scsi/NCR5380.c | for (tmp = (Scsi_Cmnd *) hostdata->disconnected_queue; tmp; |
hostdata | 2704 | drivers/scsi/NCR5380.c | for (prev = (Scsi_Cmnd **) &(hostdata->disconnected_queue), |
hostdata | 2705 | drivers/scsi/NCR5380.c | tmp = (Scsi_Cmnd *) hostdata->disconnected_queue; |
hostdata | 70 | drivers/scsi/aha1542.c | #define HOSTDATA(host) ((struct aha1542_hostdata *) &host->hostdata) |
hostdata | 147 | drivers/scsi/buslogic.c | #define HOSTDATA(host) ((struct hostdata *)&(host)->hostdata) |
hostdata | 935 | drivers/scsi/buslogic.c | SHpnt = scsi_register(tpnt, sizeof (struct hostdata)); |
hostdata | 253 | drivers/scsi/hosts.h | int hostdata[0]; /* Used for storage of host specific stuff */ |
hostdata | 276 | drivers/scsi/scsi.h | void *hostdata; /* available to low-level driver */ |
hostdata | 902 | drivers/scsi/wd7000.c | Adapter *host = (Adapter *) SCpnt->host->hostdata; |
hostdata | 1140 | drivers/scsi/wd7000.c | host = (Adapter *) sh->hostdata; |
hostdata | 1190 | drivers/scsi/wd7000.c | Adapter *host = (Adapter *) SCpnt->host->hostdata; |