Lines Matching defs:hostdata

271     struct NCR5380_hostdata *hostdata =			\
272 (struct NCR5380_hostdata *)(in)->hostdata
273 #define HOSTDATA(in) ((struct NCR5380_hostdata *)(in)->hostdata)
366 if (hostdata->busy[cmd->device->id] & (1 << cmd->device->lun))
396 hostdata->busy[cmd->device->id] |= (1 << cmd->device->lun);
422 hostdata->busy[cmd->device->id] &= ~(1 << cmd->device->lun);
769 struct NCR5380_hostdata *hostdata;
781 hostdata = (struct NCR5380_hostdata *)instance->hostdata;
791 if (!hostdata->connected)
794 pos = lprint_Scsi_Cmnd((Scsi_Cmnd *) hostdata->connected,
798 for (ptr = (Scsi_Cmnd *)hostdata->issue_queue; ptr; ptr = NEXT(ptr)) {
805 for (ptr = (Scsi_Cmnd *) hostdata->disconnected_queue; ptr;
855 hostdata->aborted = 0;
856 hostdata->id_mask = 1 << instance->this_id;
857 hostdata->id_higher_mask = 0;
858 for (i = hostdata->id_mask; i <= 0x80; i <<= 1)
859 if (i > hostdata->id_mask)
860 hostdata->id_higher_mask |= i;
862 hostdata->busy[i] = 0;
867 hostdata->dma_len = 0;
869 hostdata->targets_present = 0;
870 hostdata->connected = NULL;
871 hostdata->issue_queue = NULL;
872 hostdata->disconnected_queue = NULL;
873 hostdata->flags = FLAG_CHECK_LAST_BYTE_SENT;
938 if (!hostdata->connected && !hostdata->issue_queue &&
939 !hostdata->disconnected_queue) {
940 hostdata->timebase = jiffies;
950 hostdata->time_write[cmd->device->id] -= (jiffies - hostdata->timebase);
951 hostdata->bytes_write[cmd->device->id] += scsi_bufflen(cmd);
952 hostdata->pendingw++;
957 hostdata->time_read[cmd->device->id] -= (jiffies - hostdata->timebase);
958 hostdata->bytes_read[cmd->device->id] += scsi_bufflen(cmd);
959 hostdata->pendingr++;
999 if (!(hostdata->issue_queue) || (cmd->cmnd[0] == REQUEST_SENSE)) {
1000 LIST(cmd, hostdata->issue_queue);
1001 SET_NEXT(cmd, hostdata->issue_queue);
1002 hostdata->issue_queue = cmd;
1004 for (tmp = (Scsi_Cmnd *)hostdata->issue_queue;
1047 struct NCR5380_hostdata *hostdata = HOSTDATA(instance);
1081 if (!hostdata->connected) {
1088 for (tmp = (Scsi_Cmnd *) hostdata->issue_queue, prev = NULL;
1096 for (tmp = (Scsi_Cmnd *) hostdata->issue_queue,
1102 tmp, tmp->device->id, hostdata->busy[tmp->device->id],
1111 !(hostdata->busy[tmp->device->id] & (1 << tmp->device->lun))
1120 REMOVE(-1, hostdata->issue_queue, tmp, NEXT(tmp));
1121 hostdata->issue_queue = NEXT(tmp);
1131 * On success, instance->hostdata->connected is set.
1156 falcon_release_lock_if_possible(hostdata);
1160 LIST(tmp, hostdata->issue_queue);
1161 SET_NEXT(tmp, hostdata->issue_queue);
1162 hostdata->issue_queue = tmp;
1170 if (hostdata->connected)
1175 } /* if (!hostdata->connected) */
1177 if (hostdata->connected
1179 && !hostdata->dma_len
1217 if (!hostdata->connected) {
1224 p = hostdata->connected->SCp.phase;
1245 transfered = hostdata->dma_len - NCR5380_dma_residual(instance);
1246 hostdata->dma_len = 0;
1248 data = (unsigned char **)&hostdata->connected->SCp.ptr;
1249 count = &hostdata->connected->SCp.this_residual;
1359 static void collect_stats(struct NCR5380_hostdata* hostdata, Scsi_Cmnd *cmd)
1368 hostdata->time_write[cmd->device->id] += (jiffies - hostdata->timebase);
1369 /*hostdata->bytes_write[cmd->device->id] += scsi_bufflen(cmd);*/
1370 hostdata->pendingw--;
1375 hostdata->time_read[cmd->device->id] += (jiffies - hostdata->timebase);
1376 /*hostdata->bytes_read[cmd->device->id] += scsi_bufflen(cmd);*/
1377 hostdata->pendingr--;
1423 hostdata->restart_select = 0;
1434 if (hostdata->connected) {
1444 NCR5380_write(OUTPUT_DATA_REG, hostdata->id_mask);
1455 time_before(jiffies, timeout) && !hostdata->connected)
1460 NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask);
1466 !hostdata->connected)
1472 if (hostdata->connected) {
1487 (NCR5380_read(CURRENT_SCSI_DATA_REG) & hostdata->id_higher_mask) ||
1489 hostdata->connected) {
1503 hostdata->connected) {
1523 if (hostdata->connected) {
1536 NCR5380_write(OUTPUT_DATA_REG, (hostdata->id_mask | (1 << cmd->device->id)));
1553 if (hostdata->connected) {
1621 NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask);
1641 if (hostdata->targets_present & (1 << cmd->device->id)) {
1643 if (hostdata->restart_select)
1646 NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask);
1651 collect_stats(hostdata, cmd);
1657 NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask);
1659 NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask);
1663 hostdata->targets_present |= (1 << cmd->device->id);
1690 tmp[1] = hostdata->last_message = SIMPLE_QUEUE_TAG;
1706 hostdata->connected = cmd;
1708 hostdata->busy[cmd->device->id] |= (1 << cmd->device->lun);
1960 hostdata->dma_len = (p & SR_IO) ?
1978 hostdata->dma_len = (p & SR_IO) ?
2016 Scsi_Cmnd *cmd = (Scsi_Cmnd *) hostdata->connected;
2155 NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask);
2180 collect_stats(hostdata, cmd);
2183 cmd = hostdata->connected;
2192 hostdata->connected = NULL;
2215 hostdata->busy[cmd->device->id] &= ~(1 << cmd->device->lun);
2218 NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask);
2243 hostdata->ses.cmd_len) {
2244 scsi_eh_restore_cmnd(cmd, &hostdata->ses);
2245 hostdata->ses.cmd_len = 0 ;
2250 scsi_eh_prep_cmnd(cmd, &hostdata->ses, NULL, 0, ~0);
2255 LIST(cmd,hostdata->issue_queue);
2256 SET_NEXT(cmd, hostdata->issue_queue);
2257 hostdata->issue_queue = (Scsi_Cmnd *) cmd;
2265 collect_stats(hostdata, cmd);
2270 NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask);
2277 while ((NCR5380_read(STATUS_REG) & SR_BSY) && !hostdata->connected)
2285 falcon_release_lock_if_possible(hostdata);
2291 NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask);
2292 switch (hostdata->last_message) {
2303 hostdata->busy[cmd->device->id] |= (1 << cmd->device->lun);
2317 LIST(cmd,hostdata->disconnected_queue);
2318 SET_NEXT(cmd, hostdata->disconnected_queue);
2319 hostdata->connected = NULL;
2320 hostdata->disconnected_queue = cmd;
2333 NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask);
2335 while ((NCR5380_read(STATUS_REG) & SR_BSY) && !hostdata->connected)
2353 NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask);
2441 hostdata->last_message = msgout;
2447 hostdata->busy[cmd->device->id] &= ~(1 << cmd->device->lun);
2449 hostdata->connected = NULL;
2452 collect_stats(hostdata, cmd);
2455 NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask);
2456 falcon_release_lock_if_possible(hostdata);
2517 hostdata->restart_select = 1;
2519 target_mask = NCR5380_read(CURRENT_SCSI_DATA_REG) & ~(hostdata->id_mask);
2582 for (tmp = (Scsi_Cmnd *) hostdata->disconnected_queue, prev = NULL;
2595 REMOVE(-1, hostdata->disconnected_queue, tmp, NEXT(tmp));
2596 hostdata->disconnected_queue = NEXT(tmp);
2625 hostdata->connected = tmp;
2679 if (hostdata->connected == cmd) {
2700 hostdata->aborted = 1;
2701 hostdata->connected = NULL;
2706 hostdata->busy[cmd->device->id] &= ~(1 << cmd->device->lun);
2710 falcon_release_lock_if_possible(hostdata);
2724 for (prev = (Scsi_Cmnd **)&(hostdata->issue_queue),
2725 tmp = (Scsi_Cmnd *)hostdata->issue_queue;
2738 falcon_release_lock_if_possible(hostdata);
2754 if (hostdata->connected) {
2785 for (tmp = (Scsi_Cmnd *) hostdata->disconnected_queue; tmp;
2799 for (prev = (Scsi_Cmnd **)&(hostdata->disconnected_queue),
2800 tmp = (Scsi_Cmnd *)hostdata->disconnected_queue;
2814 hostdata->busy[cmd->device->id] &= ~(1 << cmd->device->lun);
2818 falcon_release_lock_if_possible(hostdata);
2842 falcon_release_lock_if_possible(hostdata);
2898 connected = (Scsi_Cmnd *)hostdata->connected;
2899 hostdata->connected = NULL;
2900 disconnected_queue = (Scsi_Cmnd *)hostdata->disconnected_queue;
2901 hostdata->disconnected_queue = NULL;
2906 hostdata->busy[i] = 0;
2908 hostdata->dma_len = 0;
2937 /* falcon_release_lock_if_possible( hostdata );*/
2969 if (hostdata->issue_queue)
2971 if (hostdata->connected)
2973 if (hostdata->disconnected_queue)
2977 hostdata->issue_queue = NULL;
2978 hostdata->connected = NULL;
2979 hostdata->disconnected_queue = NULL;
2984 hostdata->busy[i] = 0;
2986 hostdata->dma_len = 0;