Lines Matching refs:hostdata

244 NCR_700_offset_period_to_sxfer(struct NCR_700_Host_Parameters *hostdata,  in NCR_700_offset_period_to_sxfer()  argument
249 __u8 min_xferp = (hostdata->chip710 in NCR_700_offset_period_to_sxfer()
251 __u8 max_offset = (hostdata->chip710 in NCR_700_offset_period_to_sxfer()
257 if(period < hostdata->min_period) { in NCR_700_offset_period_to_sxfer()
259 period = hostdata->min_period; in NCR_700_offset_period_to_sxfer()
261 XFERP = (period*4 * hostdata->sync_clock)/1000 - 4; in NCR_700_offset_period_to_sxfer()
276 struct NCR_700_Host_Parameters *hostdata = in NCR_700_get_SXFER() local
277 (struct NCR_700_Host_Parameters *)SDp->host->hostdata[0]; in NCR_700_get_SXFER()
279 return NCR_700_offset_period_to_sxfer(hostdata, in NCR_700_get_SXFER()
286 struct NCR_700_Host_Parameters *hostdata, struct device *dev) in NCR_700_detect() argument
298 memory = dma_alloc_attrs(hostdata->dev, TOTAL_MEM_SIZE, &pScript, in NCR_700_detect()
306 hostdata->msgin = memory + MSGIN_OFFSET; in NCR_700_detect()
307 hostdata->msgout = memory + MSGOUT_OFFSET; in NCR_700_detect()
308 hostdata->status = memory + STATUS_OFFSET; in NCR_700_detect()
309 hostdata->slots = (struct NCR_700_command_slot *)(memory + SLOTS_OFFSET); in NCR_700_detect()
310 hostdata->dev = dev; in NCR_700_detect()
335 memset(hostdata->slots, 0, sizeof(struct NCR_700_command_slot) in NCR_700_detect()
338 dma_addr_t offset = (dma_addr_t)((unsigned long)&hostdata->slots[j].SG[0] in NCR_700_detect()
339 - (unsigned long)&hostdata->slots[0].SG[0]); in NCR_700_detect()
340 hostdata->slots[j].pSG = (struct NCR_700_SG_List *)((unsigned long)(pSlots + offset)); in NCR_700_detect()
342 hostdata->free_list = &hostdata->slots[j]; in NCR_700_detect()
344 hostdata->slots[j-1].ITL_forw = &hostdata->slots[j]; in NCR_700_detect()
345 hostdata->slots[j].state = NCR_700_SLOT_FREE; in NCR_700_detect()
355 script_patch_32(hostdata->dev, script, MessageLocation, in NCR_700_detect()
357 script_patch_32(hostdata->dev, script, StatusAddress, in NCR_700_detect()
359 script_patch_32(hostdata->dev, script, ReceiveMsgAddress, in NCR_700_detect()
362 hostdata->script = script; in NCR_700_detect()
363 hostdata->pScript = pScript; in NCR_700_detect()
364 dma_sync_single_for_device(hostdata->dev, pScript, sizeof(SCRIPT), DMA_TO_DEVICE); in NCR_700_detect()
365 hostdata->state = NCR_700_HOST_FREE; in NCR_700_detect()
366 hostdata->cmd = NULL; in NCR_700_detect()
371 host->unique_id = (unsigned long)hostdata->base; in NCR_700_detect()
372 hostdata->eh_complete = NULL; in NCR_700_detect()
373 host->hostdata[0] = (unsigned long)hostdata; in NCR_700_detect()
376 if (hostdata->chip710) in NCR_700_detect()
377 hostdata->rev = (NCR_700_readb(host, CTEST8_REG)>>4) & 0x0f; in NCR_700_detect()
379 hostdata->rev = (NCR_700_readb(host, CTEST7_REG)>>4) & 0x0f; in NCR_700_detect()
380 hostdata->fast = (NCR_700_readb(host, CTEST9_REG) == 0); in NCR_700_detect()
386 hostdata->chip710 ? "53c710" : in NCR_700_detect()
387 (hostdata->fast ? "53c700-66" : "53c700"), in NCR_700_detect()
388 hostdata->rev, hostdata->differential ? in NCR_700_detect()
399 spi_signalling(host) = hostdata->differential ? SPI_SIGNAL_HVD : in NCR_700_detect()
408 struct NCR_700_Host_Parameters *hostdata = in NCR_700_release() local
409 (struct NCR_700_Host_Parameters *)host->hostdata[0]; in NCR_700_release()
411 dma_free_attrs(hostdata->dev, TOTAL_MEM_SIZE, hostdata->script, in NCR_700_release()
412 hostdata->pScript, DMA_ATTR_NON_CONSISTENT); in NCR_700_release()
436 struct NCR_700_Host_Parameters *hostdata = in NCR_700_data_residual() local
437 (struct NCR_700_Host_Parameters *)host->hostdata[0]; in NCR_700_data_residual()
441 if(hostdata->chip710) { in NCR_700_data_residual()
449 if(hostdata->fast) in NCR_700_data_residual()
506 find_empty_slot(struct NCR_700_Host_Parameters *hostdata) in find_empty_slot() argument
508 struct NCR_700_command_slot *slot = hostdata->free_list; in find_empty_slot()
512 if(hostdata->command_slot_count != NCR_700_COMMAND_SLOTS_PER_HOST) in find_empty_slot()
513 …printk(KERN_ERR "SLOTS FULL, but count is %d, should be %d\n", hostdata->command_slot_count, NCR_7… in find_empty_slot()
522 hostdata->free_list = slot->ITL_forw; in find_empty_slot()
532 hostdata->command_slot_count++; in find_empty_slot()
539 struct NCR_700_Host_Parameters *hostdata) in free_slot() argument
551 slot->ITL_forw = hostdata->free_list; in free_slot()
552 hostdata->free_list = slot; in free_slot()
553 hostdata->command_slot_count--; in free_slot()
560 save_for_reselection(struct NCR_700_Host_Parameters *hostdata, in save_for_reselection() argument
570 hostdata->state = NCR_700_HOST_FREE; in save_for_reselection()
571 hostdata->cmd = NULL; in save_for_reselection()
575 NCR_700_unmap(struct NCR_700_Host_Parameters *hostdata, struct scsi_cmnd *SCp, in NCR_700_unmap() argument
584 NCR_700_scsi_done(struct NCR_700_Host_Parameters *hostdata, in NCR_700_scsi_done() argument
587 hostdata->state = NCR_700_HOST_FREE; in NCR_700_scsi_done()
588 hostdata->cmd = NULL; in NCR_700_scsi_done()
594 dma_unmap_single(hostdata->dev, slot->pCmd, in NCR_700_scsi_done()
599 dma_unmap_single(hostdata->dev, slot->dma_handle, in NCR_700_scsi_done()
608 NCR_700_unmap(hostdata, SCp, slot); in NCR_700_scsi_done()
610 free_slot(slot, hostdata); in NCR_700_scsi_done()
641 struct NCR_700_Host_Parameters *hostdata = in NCR_700_chip_setup() local
642 (struct NCR_700_Host_Parameters *)host->hostdata[0]; in NCR_700_chip_setup()
644 __u8 min_xferp = (hostdata->chip710 ? NCR_710_MIN_XFERP : NCR_700_MIN_XFERP); in NCR_700_chip_setup()
646 if(hostdata->chip710) { in NCR_700_chip_setup()
650 switch (hostdata->burst_length) { in NCR_700_chip_setup()
667 hostdata->dcntl_extra |= COMPAT_700_MODE; in NCR_700_chip_setup()
669 NCR_700_writeb(hostdata->dcntl_extra, host, DCNTL_REG); in NCR_700_chip_setup()
670 NCR_700_writeb(burst_length | hostdata->dmode_extra, in NCR_700_chip_setup()
672 NCR_700_writeb(burst_disable | hostdata->ctest7_extra | in NCR_700_chip_setup()
673 (hostdata->differential ? DIFF : 0), in NCR_700_chip_setup()
679 NCR_700_writeb(BURST_LENGTH_8 | hostdata->dmode_extra, in NCR_700_chip_setup()
681 NCR_700_writeb(hostdata->differential ? in NCR_700_chip_setup()
683 if(hostdata->fast) { in NCR_700_chip_setup()
703 if(hostdata->clock > 75) { in NCR_700_chip_setup()
704 …lock speed %dMHz is too high: 75Mhz is the maximum this chip can be driven at\n", hostdata->clock); in NCR_700_chip_setup()
709 NCR_700_writeb(ASYNC_DIV_3_0 | hostdata->dcntl_extra, host, DCNTL_REG); in NCR_700_chip_setup()
710 hostdata->sync_clock = hostdata->clock/2; in NCR_700_chip_setup()
711 } else if(hostdata->clock > 50 && hostdata->clock <= 75) { in NCR_700_chip_setup()
715 NCR_700_writeb(ASYNC_DIV_3_0 | hostdata->dcntl_extra, host, DCNTL_REG); in NCR_700_chip_setup()
716 hostdata->sync_clock = hostdata->clock*2; in NCR_700_chip_setup()
717 hostdata->sync_clock /= 3; in NCR_700_chip_setup()
719 } else if(hostdata->clock > 37 && hostdata->clock <= 50) { in NCR_700_chip_setup()
723 NCR_700_writeb(ASYNC_DIV_2_0 | hostdata->dcntl_extra, host, DCNTL_REG); in NCR_700_chip_setup()
724 hostdata->sync_clock = hostdata->clock; in NCR_700_chip_setup()
725 } else if(hostdata->clock > 25 && hostdata->clock <=37) { in NCR_700_chip_setup()
729 NCR_700_writeb(ASYNC_DIV_1_5 | hostdata->dcntl_extra, host, DCNTL_REG); in NCR_700_chip_setup()
730 hostdata->sync_clock = hostdata->clock; in NCR_700_chip_setup()
734 NCR_700_writeb(ASYNC_DIV_1_0 | hostdata->dcntl_extra, host, DCNTL_REG); in NCR_700_chip_setup()
736 hostdata->sync_clock = hostdata->clock; in NCR_700_chip_setup()
742 min_period = 1000*(4+min_xferp)/(4*hostdata->sync_clock); in NCR_700_chip_setup()
743 hostdata->min_period = NCR_700_MIN_PERIOD; in NCR_700_chip_setup()
745 hostdata->min_period = min_period; in NCR_700_chip_setup()
751 struct NCR_700_Host_Parameters *hostdata = in NCR_700_chip_reset() local
752 (struct NCR_700_Host_Parameters *)host->hostdata[0]; in NCR_700_chip_reset()
753 if(hostdata->chip710) { in NCR_700_chip_reset()
778 struct NCR_700_Host_Parameters *hostdata, in process_extended_message() argument
789 switch(hostdata->msgin[2]) { in process_extended_message()
793 __u8 period = hostdata->msgin[3]; in process_extended_message()
794 __u8 offset = hostdata->msgin[4]; in process_extended_message()
819 hostdata->msgout[0] = A_REJECT_MSG; in process_extended_message()
820 dma_cache_sync(hostdata->dev, hostdata->msgout, 1, DMA_TO_DEVICE); in process_extended_message()
821 script_patch_16(hostdata->dev, hostdata->script, in process_extended_message()
825 resume_offset = hostdata->pScript + Ent_SendMessageWithATN; in process_extended_message()
832 hostdata->msgout[0] = A_REJECT_MSG; in process_extended_message()
833 dma_cache_sync(hostdata->dev, hostdata->msgout, 1, DMA_TO_DEVICE); in process_extended_message()
834 script_patch_16(hostdata->dev, hostdata->script, MessageCount, in process_extended_message()
836 resume_offset = hostdata->pScript + Ent_SendMessageWithATN; in process_extended_message()
844 spi_print_msg(hostdata->msgin); in process_extended_message()
847 hostdata->msgout[0] = A_REJECT_MSG; in process_extended_message()
848 dma_cache_sync(hostdata->dev, hostdata->msgout, 1, DMA_TO_DEVICE); in process_extended_message()
849 script_patch_16(hostdata->dev, hostdata->script, MessageCount, in process_extended_message()
853 resume_offset = hostdata->pScript + Ent_SendMessageWithATN; in process_extended_message()
860 process_message(struct Scsi_Host *host, struct NCR_700_Host_Parameters *hostdata, in process_message() argument
875 spi_print_msg(hostdata->msgin); in process_message()
879 switch(hostdata->msgin[0]) { in process_message()
882 resume_offset = process_extended_message(host, hostdata, SCp, in process_message()
899 hostdata->tag_negotiated &= ~(1<<scmd_id(SCp)); in process_message()
920 pun, lun, hostdata->msgin[1], in process_message()
929 spi_print_msg(hostdata->msgin); in process_message()
932 hostdata->msgout[0] = A_REJECT_MSG; in process_message()
933 dma_cache_sync(hostdata->dev, hostdata->msgout, 1, DMA_TO_DEVICE); in process_message()
934 script_patch_16(hostdata->dev, hostdata->script, MessageCount, in process_message()
938 resume_offset = hostdata->pScript + Ent_SendMessageWithATN; in process_message()
944 dma_cache_sync(hostdata->dev, hostdata->msgin, MSG_ARRAY_SIZE, DMA_FROM_DEVICE); in process_message()
951 struct NCR_700_Host_Parameters *hostdata) in process_script_interrupt() argument
963 hostdata->status[0])); in process_script_interrupt()
970 if(status_byte(hostdata->status[0]) == CHECK_CONDITION || in process_script_interrupt()
971 status_byte(hostdata->status[0]) == COMMAND_TERMINATED) { in process_script_interrupt()
979 NCR_700_scsi_done(hostdata, SCp, hostdata->status[0]); in process_script_interrupt()
986 SCp, hostdata->status[0]); in process_script_interrupt()
995 NCR_700_unmap(hostdata, SCp, slot); in process_script_interrupt()
996 dma_unmap_single(hostdata->dev, slot->pCmd, in process_script_interrupt()
1013 cmnd[7] = hostdata->status[0]; in process_script_interrupt()
1017 slot->pCmd = dma_map_single(hostdata->dev, cmnd, MAX_COMMAND_SIZE, DMA_TO_DEVICE); in process_script_interrupt()
1018 …slot->dma_handle = dma_map_single(hostdata->dev, SCp->sense_buffer, SCSI_SENSE_BUFFERSIZE, DMA_FRO… in process_script_interrupt()
1023 slot->resume_offset = hostdata->pScript; in process_script_interrupt()
1024 dma_cache_sync(hostdata->dev, slot->SG, sizeof(slot->SG[0])*2, DMA_TO_DEVICE); in process_script_interrupt()
1025 dma_cache_sync(hostdata->dev, SCp->sense_buffer, SCSI_SENSE_BUFFERSIZE, DMA_FROM_DEVICE); in process_script_interrupt()
1030 hostdata->state = NCR_700_HOST_FREE; in process_script_interrupt()
1031 hostdata->cmd = NULL; in process_script_interrupt()
1055 NCR_700_scsi_done(hostdata, SCp, hostdata->status[0]); in process_script_interrupt()
1075 hostdata->msgin[0], hostdata->msgin[1]); in process_script_interrupt()
1086 save_for_reselection(hostdata, SCp, dsp); in process_script_interrupt()
1091 __u8 reselection_id = hostdata->reselection_id; in process_script_interrupt()
1094 lun = hostdata->msgin[0] & 0x1f; in process_script_interrupt()
1096 hostdata->reselection_id = 0xff; in process_script_interrupt()
1106 if(hostdata->msgin[1] == A_SIMPLE_TAG_MSG) { in process_script_interrupt()
1109 SCp = scsi_host_find_tag(SDp->host, hostdata->msgin[2]); in process_script_interrupt()
1112 host->host_no, reselection_id, lun, hostdata->msgin[2]); in process_script_interrupt()
1119 hostdata->msgin[2], slot, slot->tag); in process_script_interrupt()
1121 struct NCR_700_Device_Parameters *p = SDp->hostdata; in process_script_interrupt()
1135 hostdata->msgin[0], hostdata->msgin[1], in process_script_interrupt()
1136 hostdata->msgin[2]); in process_script_interrupt()
1138 if(hostdata->state != NCR_700_HOST_BUSY) in process_script_interrupt()
1142 hostdata->cmd = slot->cmnd; in process_script_interrupt()
1145 script_patch_32_abs(hostdata->dev, hostdata->script, in process_script_interrupt()
1147 script_patch_16(hostdata->dev, hostdata->script, in process_script_interrupt()
1149 script_patch_32_abs(hostdata->dev, hostdata->script, in process_script_interrupt()
1158 NCR_700_writeb(NCR_700_get_SXFER(hostdata->cmd->device), in process_script_interrupt()
1160 dma_cache_sync(hostdata->dev, hostdata->msgin, in process_script_interrupt()
1162 dma_cache_sync(hostdata->dev, hostdata->msgout, in process_script_interrupt()
1166 dma_cache_sync(hostdata->dev, slot->cmnd->cmnd, in process_script_interrupt()
1190 …host->host_no, reselection_id, lun, dsp, dsp - hostdata->pScript, hostdata->state, hostdata->comma… in process_script_interrupt()
1194 __u32 SG = (__u32)bS_to_cpu(hostdata->script[A_SGScriptStartAddress_used[0]]); in process_script_interrupt()
1198 if(SG >= to32bit(&hostdata->slots[i].pSG[0]) in process_script_interrupt()
1199 && SG <= to32bit(&hostdata->slots[i].pSG[NCR_700_SG_SEGMENTS])) in process_script_interrupt()
1202 …lot %p, cmd %p, slot->resume_offset=%08x\n", SG, &hostdata->slots[i], hostdata->slots[i].cmnd, hos… in process_script_interrupt()
1203 SCp = hostdata->slots[i].cmnd; in process_script_interrupt()
1211 hostdata->cmd = NULL; in process_script_interrupt()
1214 if(hostdata->reselection_id == 0xff) { in process_script_interrupt()
1220 reselection_id = hostdata->reselection_id; in process_script_interrupt()
1227 hostdata->reselection_id = reselection_id; in process_script_interrupt()
1229 hostdata->msgin[1] = 0; in process_script_interrupt()
1230 dma_cache_sync(hostdata->dev, hostdata->msgin, in process_script_interrupt()
1232 if(hostdata->tag_negotiated & (1<<reselection_id)) { in process_script_interrupt()
1233 resume_offset = hostdata->pScript + Ent_GetReselectionWithTag; in process_script_interrupt()
1235 resume_offset = hostdata->pScript + Ent_GetReselectionData; in process_script_interrupt()
1243 resume_offset = process_message(host, hostdata, SCp, in process_script_interrupt()
1249 NCR_700_phase[j], dsp - hostdata->pScript); in process_script_interrupt()
1261 host->host_no, pun, lun, dsps & 0xfff, dsp, dsp - hostdata->pScript); in process_script_interrupt()
1265 host->host_no, pun, lun, dsps, dsp - hostdata->pScript); in process_script_interrupt()
1284 struct NCR_700_Host_Parameters *hostdata = in process_selection() local
1285 (struct NCR_700_Host_Parameters *)host->hostdata[0]; in process_selection()
1286 struct scsi_cmnd *SCp = hostdata->cmd; in process_selection()
1290 id = NCR_700_readb(host, hostdata->chip710 ? in process_selection()
1305 hostdata->reselection_id = id = bitmap_to_number(id); in process_selection()
1309 if(hostdata->state == NCR_700_HOST_BUSY && SCp != NULL) { in process_selection()
1312 …ing cmd %p, slot %p, addr %x [%04x], resume %x!\n", id, hostdata->cmd, slot, dsp, dsp - hostdata->… in process_selection()
1314 switch(dsp - hostdata->pScript) { in process_selection()
1317 save_for_reselection(hostdata, SCp, Ent_Disconnect2 + hostdata->pScript); in process_selection()
1321 save_for_reselection(hostdata, SCp, Ent_Disconnect4 + hostdata->pScript); in process_selection()
1325 save_for_reselection(hostdata, SCp, Ent_Disconnect6 + hostdata->pScript); in process_selection()
1329 save_for_reselection(hostdata, SCp, Ent_Disconnect8 + hostdata->pScript); in process_selection()
1333 process_script_interrupt(A_GOOD_STATUS_AFTER_STATUS, dsp, SCp, host, hostdata); in process_selection()
1341 hostdata->state = NCR_700_HOST_BUSY; in process_selection()
1342 hostdata->cmd = NULL; in process_selection()
1344 hostdata->msgin[1] = 0; in process_selection()
1345 dma_cache_sync(hostdata->dev, hostdata->msgin, MSG_ARRAY_SIZE, in process_selection()
1350 resume_offset = hostdata->pScript + Ent_SelectedAsTarget; in process_selection()
1351 } else if(hostdata->tag_negotiated & (1<<id)) { in process_selection()
1352 resume_offset = hostdata->pScript + Ent_GetReselectionWithTag; in process_selection()
1354 resume_offset = hostdata->pScript + Ent_GetReselectionData; in process_selection()
1361 const struct NCR_700_Host_Parameters *hostdata in NCR_700_clear_fifo() local
1362 = (struct NCR_700_Host_Parameters *)host->hostdata[0]; in NCR_700_clear_fifo()
1363 if(hostdata->chip710) { in NCR_700_clear_fifo()
1372 const struct NCR_700_Host_Parameters *hostdata in NCR_700_flush_fifo() local
1373 = (struct NCR_700_Host_Parameters *)host->hostdata[0]; in NCR_700_flush_fifo()
1374 if(hostdata->chip710) { in NCR_700_flush_fifo()
1393 struct NCR_700_Host_Parameters *hostdata = in NCR_700_start_command() local
1394 (struct NCR_700_Host_Parameters *)SCp->device->host->hostdata[0]; in NCR_700_start_command()
1398 if(hostdata->state != NCR_700_HOST_FREE) { in NCR_700_start_command()
1408 hostdata->state = NCR_700_HOST_BUSY; in NCR_700_start_command()
1409 hostdata->cmd = SCp; in NCR_700_start_command()
1414 hostdata->msgout[0] = NCR_700_identify((SCp->cmnd[0] != REQUEST_SENSE && in NCR_700_start_command()
1429 if((hostdata->tag_negotiated & (1<<scmd_id(SCp))) in NCR_700_start_command()
1432 count += spi_populate_tag_msg(&hostdata->msgout[count], SCp); in NCR_700_start_command()
1435 if(hostdata->fast && in NCR_700_start_command()
1437 count += spi_populate_sync_msg(&hostdata->msgout[count], in NCR_700_start_command()
1443 script_patch_16(hostdata->dev, hostdata->script, MessageCount, count); in NCR_700_start_command()
1446 script_patch_ID(hostdata->dev, hostdata->script, in NCR_700_start_command()
1449 script_patch_32_abs(hostdata->dev, hostdata->script, CommandAddress, in NCR_700_start_command()
1451 script_patch_16(hostdata->dev, hostdata->script, CommandCount, in NCR_700_start_command()
1455 script_patch_32_abs(hostdata->dev, hostdata->script, in NCR_700_start_command()
1460 slot->resume_offset = hostdata->pScript; in NCR_700_start_command()
1462 dma_cache_sync(hostdata->dev, hostdata->msgout, count, DMA_TO_DEVICE); in NCR_700_start_command()
1463 dma_cache_sync(hostdata->dev, hostdata->msgin, MSG_ARRAY_SIZE, in NCR_700_start_command()
1465 dma_cache_sync(hostdata->dev, SCp->cmnd, SCp->cmd_len, DMA_TO_DEVICE); in NCR_700_start_command()
1466 dma_cache_sync(hostdata->dev, hostdata->status, 1, DMA_FROM_DEVICE); in NCR_700_start_command()
1481 struct NCR_700_Host_Parameters *hostdata = in NCR_700_intr() local
1482 (struct NCR_700_Host_Parameters *)host->hostdata[0]; in NCR_700_intr()
1500 struct scsi_cmnd *SCp = hostdata->cmd; in NCR_700_intr()
1504 state = hostdata->state; in NCR_700_intr()
1505 SCp = hostdata->cmd; in NCR_700_intr()
1524 (dsp - (__u32)(hostdata->pScript))/4, in NCR_700_intr()
1536 hostdata->state = NCR_700_HOST_BUSY; in NCR_700_intr()
1539 … host->host_no, SCp, SCp == NULL ? NULL : SCp->host_scribble, dsp, dsp - hostdata->pScript); in NCR_700_intr()
1551 &hostdata->slots[i]; in NCR_700_intr()
1559 free_slot(slot, hostdata); in NCR_700_intr()
1574 hostdata->state = NCR_700_HOST_FREE; in NCR_700_intr()
1575 hostdata->cmd = NULL; in NCR_700_intr()
1577 if(hostdata->eh_complete != NULL) in NCR_700_intr()
1578 complete(hostdata->eh_complete); in NCR_700_intr()
1583 NCR_700_scsi_done(hostdata, SCp, DID_NO_CONNECT<<16); in NCR_700_intr()
1588 if(dsp == Ent_SendMessage + 8 + hostdata->pScript) { in NCR_700_intr()
1593 …int count = (hostdata->script[Ent_SendMessage/4] & 0xffffff) - ((NCR_700_readl(host, DBC_REG) & 0x… in NCR_700_intr()
1594 …04x], phase %s\n", host->host_no, pun, lun, count, (void *)temp, temp - hostdata->pScript, sbcl_to… in NCR_700_intr()
1596 resume_offset = hostdata->pScript + Ent_SendMessagePhaseMismatch; in NCR_700_intr()
1642 dma_cache_sync(hostdata->dev, slot->SG, sizeof(slot->SG), DMA_TO_DEVICE); in NCR_700_intr()
1645 resume_offset = hostdata->pScript + Ent_MsgInDuringData; in NCR_700_intr()
1651 host->host_no, pun, lun, dsp - hostdata->pScript, sbcl_to_string(sbcl)); in NCR_700_intr()
1658 NCR_700_scsi_done(hostdata, SCp, DID_ERROR<<16); in NCR_700_intr()
1662 NCR_700_scsi_done(hostdata, SCp, DID_ERROR<<16); in NCR_700_intr()
1666 resume_offset = process_script_interrupt(dsps, dsp, SCp, host, hostdata); in NCR_700_intr()
1671 dsp, dsp - hostdata->pScript); in NCR_700_intr()
1672 NCR_700_scsi_done(hostdata, SCp, DID_ERROR<<16); in NCR_700_intr()
1676 NCR_700_scsi_done(hostdata, SCp, DID_ERROR<<16); in NCR_700_intr()
1708 if(hostdata->state != NCR_700_HOST_BUSY) { in NCR_700_intr()
1710 host->host_no, resume_offset, resume_offset - hostdata->pScript); in NCR_700_intr()
1711 hostdata->state = NCR_700_HOST_BUSY; in NCR_700_intr()
1723 if(hostdata->state == NCR_700_HOST_FREE) { in NCR_700_intr()
1729 int j = (i + hostdata->saved_slot_position) in NCR_700_intr()
1732 if(hostdata->slots[j].state != NCR_700_SLOT_QUEUED) in NCR_700_intr()
1734 if(NCR_700_start_command(hostdata->slots[j].cmnd)) { in NCR_700_intr()
1736 host->host_no, &hostdata->slots[j], in NCR_700_intr()
1737 hostdata->slots[j].cmnd)); in NCR_700_intr()
1738 hostdata->saved_slot_position = j + 1; in NCR_700_intr()
1752 struct NCR_700_Host_Parameters *hostdata = in NCR_700_queuecommand_lck() local
1753 (struct NCR_700_Host_Parameters *)SCp->device->host->hostdata[0]; in NCR_700_queuecommand_lck()
1758 if(hostdata->command_slot_count >= NCR_700_COMMAND_SLOTS_PER_HOST) { in NCR_700_queuecommand_lck()
1771 && (!(hostdata->tag_negotiated & (1<<scmd_id(SCp))) in NCR_700_queuecommand_lck()
1787 slot = find_empty_slot(hostdata); in NCR_700_queuecommand_lck()
1801 && (hostdata->tag_negotiated &(1<<scmd_id(SCp))) == 0 in NCR_700_queuecommand_lck()
1804 hostdata->tag_negotiated |= (1<<scmd_id(SCp)); in NCR_700_queuecommand_lck()
1815 && (hostdata->tag_negotiated &(1<<scmd_id(SCp)))) { in NCR_700_queuecommand_lck()
1817 hostdata->tag_negotiated &= ~(1<<scmd_id(SCp)); in NCR_700_queuecommand_lck()
1820 if ((hostdata->tag_negotiated & (1<<scmd_id(SCp))) && in NCR_700_queuecommand_lck()
1826 struct NCR_700_Device_Parameters *p = SCp->device->hostdata; in NCR_700_queuecommand_lck()
1894 dma_cache_sync(hostdata->dev, slot->SG, sizeof(slot->SG), DMA_TO_DEVICE); in NCR_700_queuecommand_lck()
1900 slot->pCmd = dma_map_single(hostdata->dev, SCp->cmnd, in NCR_700_queuecommand_lck()
1942 struct NCR_700_Host_Parameters *hostdata = in NCR_700_host_reset() local
1943 (struct NCR_700_Host_Parameters *)SCp->device->host->hostdata[0]; in NCR_700_host_reset()
1953 while (hostdata->eh_complete != NULL) { in NCR_700_host_reset()
1959 hostdata->eh_complete = &complete; in NCR_700_host_reset()
1967 hostdata->eh_complete = NULL; in NCR_700_host_reset()
1969 if(hostdata->fast) in NCR_700_host_reset()
1980 struct NCR_700_Host_Parameters *hostdata = in NCR_700_set_period() local
1981 (struct NCR_700_Host_Parameters *)SHp->hostdata[0]; in NCR_700_set_period()
1983 if(!hostdata->fast) in NCR_700_set_period()
1986 if(period < hostdata->min_period) in NCR_700_set_period()
1987 period = hostdata->min_period; in NCR_700_set_period()
1999 struct NCR_700_Host_Parameters *hostdata = in NCR_700_set_offset() local
2000 (struct NCR_700_Host_Parameters *)SHp->hostdata[0]; in NCR_700_set_offset()
2001 int max_offset = hostdata->chip710 in NCR_700_set_offset()
2004 if(!hostdata->fast) in NCR_700_set_offset()
2011 if(spi_offset(STp) == 0 && (spi_period(STp) < hostdata->min_period || in NCR_700_set_offset()
2013 spi_period(STp) = hostdata->min_period; in NCR_700_set_offset()
2024 SDp->hostdata = kzalloc(sizeof(struct NCR_700_Device_Parameters), in NCR_700_slave_alloc()
2027 if (!SDp->hostdata) in NCR_700_slave_alloc()
2036 struct NCR_700_Host_Parameters *hostdata = in NCR_700_slave_configure() local
2037 (struct NCR_700_Host_Parameters *)SDp->host->hostdata[0]; in NCR_700_slave_configure()
2045 if(hostdata->fast) { in NCR_700_slave_configure()
2059 kfree(SDp->hostdata); in NCR_700_slave_destroy()
2060 SDp->hostdata = NULL; in NCR_700_slave_destroy()