Lines Matching refs:iot

236 	bus_space_tag_t iot = sc->sc_iot;  in AscInitASC_SOFTC()  local
241 ASC_SET_CHIP_CONTROL(iot, ioh, ASC_CC_HALT); in AscInitASC_SOFTC()
242 ASC_SET_CHIP_STATUS(iot, ioh, 0); in AscInitASC_SOFTC()
288 ASC_SET_EXTRA_CONTROL(iot, ioh, in AscInitASC_SOFTC()
291 ASC_SET_EXTRA_CONTROL(iot, ioh, in AscInitASC_SOFTC()
306 ASC_SET_EXTRA_CONTROL(iot, ioh, in AscInitASC_SOFTC()
310 if (AscGetChipBusType(iot, ioh) == ASC_IS_ISAPNP) { in AscInitASC_SOFTC()
311 ASC_SET_CHIP_IFC(iot, ioh, ASC_IFC_INIT_DEFAULT); in AscInitASC_SOFTC()
315 sc->isa_dma_channel = AscGetIsaDmaChannel(iot, ioh); in AscInitASC_SOFTC()
332 bus_space_tag_t iot = sc->sc_iot; in AscInitFromEEP() local
344 AscWriteLramWord(iot, ioh, ASCV_HALTCODE_W, 0x00FE); in AscInitFromEEP()
345 AscStopQueueExe(iot, ioh); in AscInitFromEEP()
347 AscStopChip(iot, ioh); in AscInitFromEEP()
348 AscResetChipAndScsiBus(iot, ioh); in AscInitFromEEP()
351 if ((AscStopChip(iot, ioh) == FALSE) || in AscInitFromEEP()
352 (AscGetChipScsiCtrl(iot, ioh) != 0)) { in AscInitFromEEP()
353 AscResetChipAndScsiBus(iot, ioh); in AscInitFromEEP()
356 if (AscIsChipHalted(iot, ioh) == FALSE) in AscInitFromEEP()
359 ASC_SET_PC_ADDR(iot, ioh, ASC_MCODE_START_ADDR); in AscInitFromEEP()
360 if (ASC_GET_PC_ADDR(iot, ioh) != ASC_MCODE_START_ADDR) in AscInitFromEEP()
364 cfg_msw = ASC_GET_CHIP_CFG_MSW(iot, ioh); in AscInitFromEEP()
365 cfg_lsw = ASC_GET_CHIP_CFG_LSW(iot, ioh); in AscInitFromEEP()
369 ASC_SET_CHIP_CFG_MSW(iot, ioh, cfg_msw); in AscInitFromEEP()
371 chksum = AscGetEEPConfig(iot, ioh, eep_config, sc->bus_type); in AscInitFromEEP()
378 if (ASC_GET_CHIP_STATUS(iot, ioh) & ASC_CSW_AUTO_CONFIG) { in AscInitFromEEP()
383 eep_config->cfg_lsw = ASC_GET_CHIP_CFG_LSW(iot, ioh); in AscInitFromEEP()
387 eep_config->cfg_msw = ASC_GET_CHIP_CFG_MSW(iot, ioh); in AscInitFromEEP()
445 if (!AscTestExternalLram(iot, ioh)) { in AscInitFromEEP()
452 ASC_SET_CHIP_CFG_MSW(iot, ioh, cfg_msw); in AscInitFromEEP()
476 sc->irq_no = AscGetChipIRQ(iot, ioh, sc->bus_type); in AscInitFromEEP()
490 eep_config->cfg_msw = ASC_GET_CHIP_CFG_MSW(iot, ioh); in AscInitFromEEP()
492 AscSetEEPConfig(iot, ioh, eep_config, sc->bus_type); in AscInitFromEEP()
505 bus_space_tag_t iot = sc->sc_iot; in AscInitFromASC_SOFTC() local
513 cfg_msw = ASC_GET_CHIP_CFG_MSW(iot, ioh); in AscInitFromASC_SOFTC()
518 ASC_SET_CHIP_CFG_MSW(iot, ioh, cfg_msw); in AscInitFromASC_SOFTC()
524 if (ASC_GET_CHIP_STATUS(iot, ioh) & ASC_CSW_AUTO_CONFIG) { in AscInitFromASC_SOFTC()
528 AscSetChipIRQ(iot, ioh, sc->irq_no, sc->bus_type); in AscInitFromASC_SOFTC()
532 ASC_SET_CHIP_CFG_MSW(iot, ioh, cfg_msw); in AscInitFromASC_SOFTC()
546 AscSetChipScsiID(iot, ioh, sc->chip_scsi_id); in AscInitFromASC_SOFTC()
549 AscSetIsaDmaChannel(iot, ioh, sc->isa_dma_channel); in AscInitFromASC_SOFTC()
550 AscSetIsaDmaSpeed(iot, ioh, sc->isa_dma_speed); in AscInitFromASC_SOFTC()
565 bus_space_tag_t iot = sc->sc_iot; in AscInitDriver() local
570 if (!AscFindSignature(iot, ioh)) in AscInitDriver()
573 AscDisableInterrupt(iot, ioh); in AscInitDriver()
576 chksum = AscLoadMicroCode(iot, ioh, 0, (const u_int16_t *) asc_mcode, in AscInitDriver()
584 AscEnableInterrupt(iot, ioh); in AscInitDriver()
591 AscFindSignature(bus_space_tag_t iot, bus_space_handle_t ioh) in AscFindSignature() argument
595 if (ASC_GET_CHIP_SIGNATURE_BYTE(iot, ioh) == ASC_1000_ID1B) { in AscFindSignature()
596 sig_word = ASC_GET_CHIP_SIGNATURE_WORD(iot, ioh); in AscFindSignature()
608 bus_space_tag_t iot = sc->sc_iot; in AscInitLram() local
614 AscMemWordSetLram(iot, ioh, ASC_QADR_BEG, 0, in AscInitLram()
619 AscWriteLramByte(iot, ioh, s_addr + ASC_SCSIQ_B_FWD, i + 1); in AscInitLram()
620 AscWriteLramByte(iot, ioh, s_addr + ASC_SCSIQ_B_BWD, sc->max_total_qng); in AscInitLram()
621 AscWriteLramByte(iot, ioh, s_addr + ASC_SCSIQ_B_QNO, i); in AscInitLram()
625 AscWriteLramByte(iot, ioh, s_addr + ASC_SCSIQ_B_FWD, i + 1); in AscInitLram()
626 AscWriteLramByte(iot, ioh, s_addr + ASC_SCSIQ_B_BWD, i - 1); in AscInitLram()
627 AscWriteLramByte(iot, ioh, s_addr + ASC_SCSIQ_B_QNO, i); in AscInitLram()
629 AscWriteLramByte(iot, ioh, s_addr + ASC_SCSIQ_B_FWD, ASC_QLINK_END); in AscInitLram()
630 AscWriteLramByte(iot, ioh, s_addr + ASC_SCSIQ_B_BWD, sc->max_total_qng - 1); in AscInitLram()
631 AscWriteLramByte(iot, ioh, s_addr + ASC_SCSIQ_B_QNO, sc->max_total_qng); in AscInitLram()
635 AscWriteLramByte(iot, ioh, s_addr + ASC_SCSIQ_B_FWD, i); in AscInitLram()
636 AscWriteLramByte(iot, ioh, s_addr + ASC_SCSIQ_B_BWD, i); in AscInitLram()
637 AscWriteLramByte(iot, ioh, s_addr + ASC_SCSIQ_B_QNO, i); in AscInitLram()
654 bus_space_tag_t iot = sc->sc_iot; in AscInitQLinkVar() local
660 ASC_PUT_RISC_VAR_FREE_QHEAD(iot, ioh, 1); in AscInitQLinkVar()
661 ASC_PUT_RISC_VAR_DONE_QTAIL(iot, ioh, sc->max_total_qng); in AscInitQLinkVar()
662 ASC_PUT_VAR_FREE_QHEAD(iot, ioh, 1); in AscInitQLinkVar()
663 ASC_PUT_VAR_DONE_QTAIL(iot, ioh, sc->max_total_qng); in AscInitQLinkVar()
664 AscWriteLramByte(iot, ioh, ASCV_BUSY_QHEAD_B, sc->max_total_qng + 1); in AscInitQLinkVar()
665 AscWriteLramByte(iot, ioh, ASCV_DISC1_QHEAD_B, sc->max_total_qng + 2); in AscInitQLinkVar()
666 AscWriteLramByte(iot, ioh, ASCV_TOTAL_READY_Q_B, sc->max_total_qng); in AscInitQLinkVar()
667 AscWriteLramWord(iot, ioh, ASCV_ASCDVC_ERR_CODE_W, 0); in AscInitQLinkVar()
668 AscWriteLramWord(iot, ioh, ASCV_HALTCODE_W, 0); in AscInitQLinkVar()
669 AscWriteLramByte(iot, ioh, ASCV_STOP_CODE_B, 0); in AscInitQLinkVar()
670 AscWriteLramByte(iot, ioh, ASCV_SCSIBUSY_B, 0); in AscInitQLinkVar()
671 AscWriteLramByte(iot, ioh, ASCV_WTM_FLAG_B, 0); in AscInitQLinkVar()
672 ASC_PUT_QDONE_IN_PROGRESS(iot, ioh, 0); in AscInitQLinkVar()
675 AscWriteLramWord(iot, ioh, lram_addr, 0); in AscInitQLinkVar()
680 AscResetChipAndScsiBus(bus_space_tag_t iot, bus_space_handle_t ioh) in AscResetChipAndScsiBus() argument
682 while (ASC_GET_CHIP_STATUS(iot, ioh) & ASC_CSW_SCSI_RESET_ACTIVE); in AscResetChipAndScsiBus()
684 AscStopChip(iot, ioh); in AscResetChipAndScsiBus()
685 ASC_SET_CHIP_CONTROL(iot, ioh, ASC_CC_CHIP_RESET | ASC_CC_SCSI_RESET | ASC_CC_HALT); in AscResetChipAndScsiBus()
689 AscSetChipIH(iot, ioh, ASC_INS_RFLAG_WTM); in AscResetChipAndScsiBus()
690 AscSetChipIH(iot, ioh, ASC_INS_HALT); in AscResetChipAndScsiBus()
691 ASC_SET_CHIP_CONTROL(iot, ioh, ASC_CC_CHIP_RESET | ASC_CC_HALT); in AscResetChipAndScsiBus()
692 ASC_SET_CHIP_CONTROL(iot, ioh, ASC_CC_HALT); in AscResetChipAndScsiBus()
696 ASC_SET_CHIP_STATUS(iot, ioh, ASC_CIW_CLR_SCSI_RESET_INT); in AscResetChipAndScsiBus()
697 ASC_SET_CHIP_STATUS(iot, ioh, 0); in AscResetChipAndScsiBus()
701 return (AscIsChipHalted(iot, ioh)); in AscResetChipAndScsiBus()
706 AscGetChipBusType(bus_space_tag_t iot, bus_space_handle_t ioh) in AscGetChipBusType() argument
710 chip_ver = ASC_GET_CHIP_VER_NO(iot, ioh); in AscGetChipBusType()
752 AscSetBank(bus_space_tag_t iot, bus_space_handle_t ioh, u_int8_t bank) in AscSetBank() argument
756 val = ASC_GET_CHIP_CONTROL(iot, ioh) & in AscSetBank()
774 ASC_SET_CHIP_CONTROL(iot, ioh, val); in AscSetBank()
785 AscStartChip(bus_space_tag_t iot, bus_space_handle_t ioh) in AscStartChip() argument
787 ASC_SET_CHIP_CONTROL(iot, ioh, 0); in AscStartChip()
788 if ((ASC_GET_CHIP_STATUS(iot, ioh) & ASC_CSW_HALTED) != 0) in AscStartChip()
796 AscStopChip(bus_space_tag_t iot, bus_space_handle_t ioh) in AscStopChip() argument
800 cc_val = ASC_GET_CHIP_CONTROL(iot, ioh) & in AscStopChip()
802 ASC_SET_CHIP_CONTROL(iot, ioh, cc_val | ASC_CC_HALT); in AscStopChip()
803 AscSetChipIH(iot, ioh, ASC_INS_HALT); in AscStopChip()
804 AscSetChipIH(iot, ioh, ASC_INS_RFLAG_WTM); in AscStopChip()
805 if ((ASC_GET_CHIP_STATUS(iot, ioh) & ASC_CSW_HALTED) == 0) in AscStopChip()
813 AscSetChipScsiID(bus_space_tag_t iot, bus_space_handle_t ioh, u_int8_t new_id) in AscSetChipScsiID() argument
817 if (ASC_GET_CHIP_SCSI_ID(iot, ioh) == new_id) in AscSetChipScsiID()
820 cfg_lsw = ASC_GET_CHIP_SCSI_ID(iot, ioh); in AscSetChipScsiID()
823 ASC_SET_CHIP_CFG_LSW(iot, ioh, cfg_lsw); in AscSetChipScsiID()
824 return (ASC_GET_CHIP_SCSI_ID(iot, ioh)); in AscSetChipScsiID()
829 AscGetChipScsiCtrl(bus_space_tag_t iot, bus_space_handle_t ioh) in AscGetChipScsiCtrl() argument
833 AscSetBank(iot, ioh, 1); in AscGetChipScsiCtrl()
834 scsi_ctrl = bus_space_read_1(iot, ioh, ASC_IOP_REG_SC); in AscGetChipScsiCtrl()
835 AscSetBank(iot, ioh, 0); in AscGetChipScsiCtrl()
841 AscSetRunChipSynRegAtID(bus_space_tag_t iot, bus_space_handle_t ioh, in AscSetRunChipSynRegAtID() argument
846 if (AscHostReqRiscHalt(iot, ioh)) { in AscSetRunChipSynRegAtID()
847 retval = AscSetChipSynRegAtID(iot, ioh, tid_no, sdtr_data); in AscSetRunChipSynRegAtID()
848 AscStartChip(iot, ioh); in AscSetRunChipSynRegAtID()
855 AscSetChipSynRegAtID(bus_space_tag_t iot, bus_space_handle_t ioh, in AscSetChipSynRegAtID() argument
862 AscSetBank(iot, ioh, 1); in AscSetChipSynRegAtID()
863 org_id = ASC_READ_CHIP_DVC_ID(iot, ioh); in AscSetChipSynRegAtID()
869 ASC_WRITE_CHIP_DVC_ID(iot, ioh, id); in AscSetChipSynRegAtID()
870 if (ASC_READ_CHIP_DVC_ID(iot, ioh) == (0x01 << id)) { in AscSetChipSynRegAtID()
871 AscSetBank(iot, ioh, 0); in AscSetChipSynRegAtID()
872 ASC_SET_CHIP_SYN(iot, ioh, sdtr_data); in AscSetChipSynRegAtID()
873 if (ASC_GET_CHIP_SYN(iot, ioh) != sdtr_data) in AscSetChipSynRegAtID()
878 AscSetBank(iot, ioh, 1); in AscSetChipSynRegAtID()
879 ASC_WRITE_CHIP_DVC_ID(iot, ioh, org_id); in AscSetChipSynRegAtID()
880 AscSetBank(iot, ioh, 0); in AscSetChipSynRegAtID()
886 AscHostReqRiscHalt(bus_space_tag_t iot, bus_space_handle_t ioh) in AscHostReqRiscHalt() argument
893 if (AscIsChipHalted(iot, ioh)) in AscHostReqRiscHalt()
895 saved_stop_code = AscReadLramByte(iot, ioh, ASCV_STOP_CODE_B); in AscHostReqRiscHalt()
896 AscWriteLramByte(iot, ioh, ASCV_STOP_CODE_B, in AscHostReqRiscHalt()
900 if (AscIsChipHalted(iot, ioh)) { in AscHostReqRiscHalt()
907 AscWriteLramByte(iot, ioh, ASCV_STOP_CODE_B, saved_stop_code); in AscHostReqRiscHalt()
914 AscIsChipHalted(bus_space_tag_t iot, bus_space_handle_t ioh) in AscIsChipHalted() argument
916 if ((ASC_GET_CHIP_STATUS(iot, ioh) & ASC_CSW_HALTED) != 0) in AscIsChipHalted()
917 if ((ASC_GET_CHIP_CONTROL(iot, ioh) & ASC_CC_HALT) != 0) in AscIsChipHalted()
925 AscSetChipIH(bus_space_tag_t iot, bus_space_handle_t ioh, u_int16_t ins_code) in AscSetChipIH() argument
927 AscSetBank(iot, ioh, 1); in AscSetChipIH()
928 ASC_WRITE_CHIP_IH(iot, ioh, ins_code); in AscSetChipIH()
929 AscSetBank(iot, ioh, 0); in AscSetChipIH()
941 AscReadLramByte(bus_space_tag_t iot, bus_space_handle_t ioh, u_int16_t addr) in AscReadLramByte() argument
947 ASC_SET_CHIP_LRAM_ADDR(iot, ioh, addr & 0xFFFE); in AscReadLramByte()
948 word_data = ASC_GET_CHIP_LRAM_DATA(iot, ioh); in AscReadLramByte()
963 AscWriteLramByte(bus_space_tag_t iot, bus_space_handle_t ioh, in AscWriteLramByte() argument
969 word_data = AscReadLramWord(iot, ioh, addr & 0xFFFE); in AscWriteLramByte()
981 AscWriteLramWord(iot, ioh, addr & 0xFFFE, word_data); in AscWriteLramByte()
986 AscReadLramWord(bus_space_tag_t iot, bus_space_handle_t ioh, u_int16_t addr) in AscReadLramWord() argument
989 ASC_SET_CHIP_LRAM_ADDR(iot, ioh, addr); in AscReadLramWord()
990 return (ASC_GET_CHIP_LRAM_DATA(iot, ioh)); in AscReadLramWord()
995 AscWriteLramWord(bus_space_tag_t iot, bus_space_handle_t ioh, in AscWriteLramWord() argument
999 ASC_SET_CHIP_LRAM_ADDR(iot, ioh, addr); in AscWriteLramWord()
1000 ASC_SET_CHIP_LRAM_DATA(iot, ioh, data); in AscWriteLramWord()
1005 AscReadLramDWord(bus_space_tag_t iot, bus_space_handle_t ioh, u_int16_t addr) in AscReadLramDWord() argument
1010 ASC_SET_CHIP_LRAM_ADDR(iot, ioh, addr); in AscReadLramDWord()
1011 low_word = ASC_GET_CHIP_LRAM_DATA(iot, ioh); in AscReadLramDWord()
1012 hi_word = ASC_GET_CHIP_LRAM_DATA(iot, ioh); in AscReadLramDWord()
1019 AscWriteLramDWord(bus_space_tag_t iot, bus_space_handle_t ioh, in AscWriteLramDWord() argument
1023 ASC_SET_CHIP_LRAM_ADDR(iot, ioh, addr); in AscWriteLramDWord()
1024 ASC_SET_CHIP_LRAM_DATA(iot, ioh, (u_int16_t) (data & 0x0000FFFF)); in AscWriteLramDWord()
1025 ASC_SET_CHIP_LRAM_DATA(iot, ioh, (u_int16_t) (data >> 16)); in AscWriteLramDWord()
1030 AscMemWordSetLram(bus_space_tag_t iot, bus_space_handle_t ioh, in AscMemWordSetLram() argument
1035 ASC_SET_CHIP_LRAM_ADDR(iot, ioh, s_addr); in AscMemWordSetLram()
1037 ASC_SET_CHIP_LRAM_DATA(iot, ioh, s_words); in AscMemWordSetLram()
1042 AscMemWordCopyToLram(bus_space_tag_t iot, bus_space_handle_t ioh, in AscMemWordCopyToLram() argument
1047 ASC_SET_CHIP_LRAM_ADDR(iot, ioh, s_addr); in AscMemWordCopyToLram()
1049 ASC_SET_CHIP_LRAM_DATA_NO_SWAP(iot, ioh, *s_buffer); in AscMemWordCopyToLram()
1054 AscMemWordCopyFromLram(bus_space_tag_t iot, bus_space_handle_t ioh, in AscMemWordCopyFromLram() argument
1059 ASC_SET_CHIP_LRAM_ADDR(iot, ioh, s_addr); in AscMemWordCopyFromLram()
1061 *s_buffer = ASC_GET_CHIP_LRAM_DATA_NO_SWAP(iot, ioh); in AscMemWordCopyFromLram()
1066 AscMemDWordCopyToLram(bus_space_tag_t iot, bus_space_handle_t ioh, in AscMemDWordCopyToLram() argument
1072 ASC_SET_CHIP_LRAM_ADDR(iot, ioh, s_addr); in AscMemDWordCopyToLram()
1076 ASC_SET_CHIP_LRAM_DATA(iot, ioh, LO_WORD(*pw)); in AscMemDWordCopyToLram()
1078 ASC_SET_CHIP_LRAM_DATA(iot, ioh, HI_WORD(*pw)); in AscMemDWordCopyToLram()
1084 AscMemSumLramWord(bus_space_tag_t iot, bus_space_handle_t ioh, in AscMemSumLramWord() argument
1092 sum += AscReadLramWord(iot, ioh, s_addr); in AscMemSumLramWord()
1099 AscTestExternalLram(bus_space_tag_t iot, bus_space_handle_t ioh) in AscTestExternalLram() argument
1108 saved_word = AscReadLramWord(iot, ioh, q_addr); in AscTestExternalLram()
1109 ASC_SET_CHIP_LRAM_ADDR(iot, ioh, q_addr); in AscTestExternalLram()
1110 ASC_SET_CHIP_LRAM_DATA(iot, ioh, 0x55AA); in AscTestExternalLram()
1112 ASC_SET_CHIP_LRAM_ADDR(iot, ioh, q_addr); in AscTestExternalLram()
1114 if (ASC_GET_CHIP_LRAM_DATA(iot, ioh) == 0x55AA) { in AscTestExternalLram()
1116 AscWriteLramWord(iot, ioh, q_addr, saved_word); in AscTestExternalLram()
1130 bus_space_tag_t iot = sc->sc_iot; in AscInitMicroCodeVar() local
1137 ASC_PUT_MCODE_INIT_SDTR_AT_ID(iot, ioh, i, in AscInitMicroCodeVar()
1141 AscWriteLramByte(iot, ioh, ASCV_DISC_ENABLE_B, sc->disc_enable); in AscInitMicroCodeVar()
1142 AscWriteLramByte(iot, ioh, ASCV_HOSTSCSI_ID_B, in AscInitMicroCodeVar()
1146 AscWriteLramDWord(iot, ioh, ASCV_OVERRUN_PADDR_D, phy_addr); in AscInitMicroCodeVar()
1147 AscWriteLramDWord(iot, ioh, ASCV_OVERRUN_BSIZE_D, in AscInitMicroCodeVar()
1150 sc->mcode_date = AscReadLramWord(iot, ioh, ASCV_MC_DATE_W); in AscInitMicroCodeVar()
1151 sc->mcode_version = AscReadLramWord(iot, ioh, ASCV_MC_VER_W); in AscInitMicroCodeVar()
1152 ASC_SET_PC_ADDR(iot, ioh, ASC_MCODE_START_ADDR); in AscInitMicroCodeVar()
1154 if (ASC_GET_PC_ADDR(iot, ioh) != ASC_MCODE_START_ADDR) { in AscInitMicroCodeVar()
1157 if (AscStartChip(iot, ioh) != 1) { in AscInitMicroCodeVar()
1165 AscLoadMicroCode(bus_space_tag_t iot, bus_space_handle_t ioh, in AscLoadMicroCode() argument
1174 AscMemWordSetLram(iot, ioh, s_addr, 0, mcode_word_size); in AscLoadMicroCode()
1176 AscMemWordCopyToLram(iot, ioh, s_addr, mcode_buf, mcode_word_size); in AscLoadMicroCode()
1177 chksum = AscMemSumLramWord(iot, ioh, s_addr, mcode_word_size); in AscLoadMicroCode()
1178 mcode_chksum = AscMemSumLramWord(iot, ioh, ASC_CODE_SEC_BEG, in AscLoadMicroCode()
1180 AscWriteLramWord(iot, ioh, ASCV_MCODE_CHKSUM_W, mcode_chksum); in AscLoadMicroCode()
1181 AscWriteLramWord(iot, ioh, ASCV_MCODE_SIZE_W, mcode_size); in AscLoadMicroCode()
1193 AscWriteEEPCmdReg(bus_space_tag_t iot, bus_space_handle_t ioh, u_int8_t cmd_reg) in AscWriteEEPCmdReg() argument
1201 ASC_SET_CHIP_EEP_CMD(iot, ioh, cmd_reg); in AscWriteEEPCmdReg()
1203 read_back = ASC_GET_CHIP_EEP_CMD(iot, ioh); in AscWriteEEPCmdReg()
1214 AscWriteEEPDataReg(bus_space_tag_t iot, bus_space_handle_t ioh, in AscWriteEEPDataReg() argument
1222 ASC_SET_CHIP_EEP_DATA(iot, ioh, data_reg); in AscWriteEEPDataReg()
1224 read_back = ASC_GET_CHIP_EEP_DATA(iot, ioh); in AscWriteEEPDataReg()
1251 AscReadEEPWord(bus_space_tag_t iot, bus_space_handle_t ioh, u_int8_t addr) in AscReadEEPWord() argument
1256 AscWriteEEPCmdReg(iot, ioh, ASC_EEP_CMD_WRITE_DISABLE); in AscReadEEPWord()
1259 AscWriteEEPCmdReg(iot, ioh, cmd_reg); in AscReadEEPWord()
1261 read_wval = ASC_GET_CHIP_EEP_DATA(iot, ioh); in AscReadEEPWord()
1269 AscWriteEEPWord(bus_space_tag_t iot, bus_space_handle_t ioh, in AscWriteEEPWord() argument
1274 read_wval = AscReadEEPWord(iot, ioh, addr); in AscWriteEEPWord()
1276 AscWriteEEPCmdReg(iot, ioh, ASC_EEP_CMD_WRITE_ABLE); in AscWriteEEPWord()
1278 AscWriteEEPDataReg(iot, ioh, word_val); in AscWriteEEPWord()
1280 AscWriteEEPCmdReg(iot, ioh, ASC_EEP_CMD_WRITE | addr); in AscWriteEEPWord()
1282 AscWriteEEPCmdReg(iot, ioh, ASC_EEP_CMD_WRITE_DISABLE); in AscWriteEEPWord()
1284 return (AscReadEEPWord(iot, ioh, addr)); in AscWriteEEPWord()
1291 AscGetEEPConfig(bus_space_tag_t iot, bus_space_handle_t ioh, in AscGetEEPConfig() argument
1308 wval = AscReadEEPWord(iot, ioh, s_addr); in AscGetEEPConfig()
1322 wval = AscReadEEPWord(iot, ioh, s_addr); in AscGetEEPConfig()
1327 *wbuf = AscReadEEPWord(iot, ioh, s_addr); in AscGetEEPConfig()
1334 AscSetEEPConfig(bus_space_tag_t iot, bus_space_handle_t ioh, in AscSetEEPConfig() argument
1342 if ((n_error = AscSetEEPConfigOnce(iot, ioh, cfg_buf, bus_type)) == 0) in AscSetEEPConfig()
1354 AscSetEEPConfigOnce(bus_space_tag_t iot, bus_space_handle_t ioh, in AscSetEEPConfigOnce() argument
1370 if (*wbuf != AscWriteEEPWord(iot, ioh, s_addr, *wbuf)) in AscSetEEPConfigOnce()
1384 if (*wbuf != AscWriteEEPWord(iot, ioh, s_addr, *wbuf)) in AscSetEEPConfigOnce()
1389 if (sum != AscWriteEEPWord(iot, ioh, s_addr, sum)) in AscSetEEPConfigOnce()
1394 if (*wbuf != AscReadEEPWord(iot, ioh, s_addr)) in AscSetEEPConfigOnce()
1399 if (*wbuf != AscReadEEPWord(iot, ioh, s_addr)) in AscSetEEPConfigOnce()
1456 bus_space_tag_t iot = sc->sc_iot; in AscISR() local
1469 ctrl_reg = ASC_GET_CHIP_CONTROL(iot, ioh); in AscISR()
1472 chipstat = ASC_GET_CHIP_STATUS(iot, ioh); in AscISR()
1479 while (ASC_GET_CHIP_STATUS(iot, ioh) & ASC_CSW_SCSI_RESET_ACTIVE); in AscISR()
1481 ASC_SET_CHIP_CONTROL(iot, ioh, (ASC_CC_CHIP_RESET | ASC_CC_HALT)); in AscISR()
1482 ASC_SET_CHIP_CONTROL(iot, ioh, ASC_CC_HALT); in AscISR()
1483 ASC_SET_CHIP_STATUS(iot, ioh, ASC_CIW_CLR_SCSI_RESET_INT); in AscISR()
1484 ASC_SET_CHIP_STATUS(iot, ioh, 0); in AscISR()
1485 chipstat = ASC_GET_CHIP_STATUS(iot, ioh); in AscISR()
1488 saved_ram_addr = ASC_GET_CHIP_LRAM_ADDR(iot, ioh); in AscISR()
1489 host_flag = AscReadLramByte(iot, ioh, ASCV_HOST_FLAG_B) & in AscISR()
1491 AscWriteLramByte(iot, ioh, ASCV_HOST_FLAG_B, in AscISR()
1495 AscAckInterrupt(iot, ioh); in AscISR()
1516 AscWriteLramByte(iot, ioh, ASCV_HOST_FLAG_B, host_flag); in AscISR()
1517 ASC_SET_CHIP_LRAM_ADDR(iot, ioh, saved_ram_addr); in AscISR()
1518 ASC_SET_CHIP_CONTROL(iot, ioh, saved_ctrl_reg); in AscISR()
1537 bus_space_tag_t iot = sc->sc_iot; in AscIsrQDone() local
1547 done_q_tail = ASC_GET_VAR_DONE_QTAIL(iot, ioh); in AscIsrQDone()
1549 next_qp = AscReadLramByte(iot, ioh, (q_addr + ASC_SCSIQ_B_FWD)); in AscIsrQDone()
1552 ASC_PUT_VAR_DONE_QTAIL(iot, ioh, next_qp); in AscIsrQDone()
1554 sg_queue_cnt = _AscCopyLramScsiDoneQ(iot, ioh, q_addr, scsiq, in AscIsrQDone()
1556 AscWriteLramByte(iot, ioh, (q_addr + ASC_SCSIQ_B_STATUS), in AscIsrQDone()
1564 sg_list_qp = AscReadLramByte(iot, ioh, in AscIsrQDone()
1573 AscWriteLramByte(iot, ioh, in AscIsrQDone()
1577 ASC_PUT_VAR_DONE_QTAIL(iot, ioh, sg_list_qp); in AscIsrQDone()
1580 cur_target_qng = AscReadLramByte(iot, ioh, in AscIsrQDone()
1584 scsi_busy = AscReadLramByte(iot, ioh, ASCV_SCSIBUSY_B); in AscIsrQDone()
1586 AscWriteLramByte(iot, ioh, ASCV_SCSIBUSY_B, scsi_busy); in AscIsrQDone()
1614 AscStopChip(iot, ioh); in AscIsrQDone()
1615 ASC_SET_CHIP_CONTROL(iot, ioh, (ASC_CC_SCSI_RESET | ASC_CC_HALT)); in AscIsrQDone()
1617 ASC_SET_CHIP_CONTROL(iot, ioh, ASC_CC_HALT); in AscIsrQDone()
1618 ASC_SET_CHIP_STATUS(iot, ioh, ASC_CIW_CLR_SCSI_RESET_INT); in AscIsrQDone()
1619 ASC_SET_CHIP_STATUS(iot, ioh, 0); in AscIsrQDone()
1620 ASC_SET_CHIP_CONTROL(iot, ioh, 0); in AscIsrQDone()
1644 bus_space_tag_t iot = sc->sc_iot; in AscIsrChipHalted() local
1663 int_halt_code = AscReadLramWord(iot, ioh, ASCV_HALTCODE_W); in AscIsrChipHalted()
1665 halt_qp = AscReadLramByte(iot, ioh, ASCV_CURCDB_B); in AscIsrChipHalted()
1667 target_ix = AscReadLramByte(iot, ioh, halt_q_addr + ASC_SCSIQ_B_TARGET_IX); in AscIsrChipHalted()
1668 q_cntl = AscReadLramByte(iot, ioh, halt_q_addr + ASC_SCSIQ_B_CNTL); in AscIsrChipHalted()
1680 AscSetChipSDTR(iot, ioh, 0, tid_no); in AscIsrChipHalted()
1683 AscWriteLramWord(iot, ioh, ASCV_HALTCODE_W, 0); in AscIsrChipHalted()
1686 AscSetChipSDTR(iot, ioh, asyn_sdtr, tid_no); in AscIsrChipHalted()
1689 AscWriteLramWord(iot, ioh, ASCV_HALTCODE_W, 0); in AscIsrChipHalted()
1693 AscWriteLramWord(iot, ioh, ASCV_HALTCODE_W, 0); in AscIsrChipHalted()
1700 sdtr_data = ASC_GET_MCODE_INIT_SDTR_AT_ID(iot, ioh, tid_no); in AscIsrChipHalted()
1706 AscWriteLramByte(iot, ioh, halt_q_addr + ASC_SCSIQ_B_CNTL, q_cntl); in AscIsrChipHalted()
1708 tag_code = AscReadLramByte(iot, ioh, halt_q_addr + ASC_SCSIQ_B_TAG_CODE); in AscIsrChipHalted()
1716 AscWriteLramByte(iot, ioh, halt_q_addr + ASC_SCSIQ_B_TAG_CODE, tag_code); in AscIsrChipHalted()
1718 q_status = AscReadLramByte(iot, ioh, halt_q_addr + ASC_SCSIQ_B_STATUS); in AscIsrChipHalted()
1721 AscWriteLramByte(iot, ioh, halt_q_addr + ASC_SCSIQ_B_STATUS, q_status); in AscIsrChipHalted()
1723 scsi_busy = AscReadLramByte(iot, ioh, ASCV_SCSIBUSY_B); in AscIsrChipHalted()
1725 AscWriteLramByte(iot, ioh, ASCV_SCSIBUSY_B, scsi_busy); in AscIsrChipHalted()
1727 AscWriteLramWord(iot, ioh, ASCV_HALTCODE_W, 0); in AscIsrChipHalted()
1729 AscMemWordCopyFromLram(iot, ioh, ASCV_MSGOUT_BEG, in AscIsrChipHalted()
1737 AscSetChipSDTR(iot, ioh, asyn_sdtr, tid_no); in AscIsrChipHalted()
1741 AscWriteLramByte(iot, ioh, halt_q_addr + ASC_SCSIQ_B_CNTL, q_cntl); in AscIsrChipHalted()
1742 AscWriteLramWord(iot, ioh, ASCV_HALTCODE_W, 0); in AscIsrChipHalted()
1744 scsi_status = AscReadLramByte(iot, ioh, in AscIsrChipHalted()
1746 cur_dvc_qng = AscReadLramByte(iot, ioh, target_ix + ASC_QADR_BEG); in AscIsrChipHalted()
1749 scsi_busy = AscReadLramByte(iot, ioh, ASCV_SCSIBUSY_B); in AscIsrChipHalted()
1751 AscWriteLramByte(iot, ioh, ASCV_SCSIBUSY_B, scsi_busy); in AscIsrChipHalted()
1759 AscWriteLramByte(iot, ioh, in AscIsrChipHalted()
1771 AscWriteLramWord(iot, ioh, ASCV_HALTCODE_W, 0); in AscIsrChipHalted()
1809 _AscCopyLramScsiDoneQ(bus_space_tag_t iot, bus_space_handle_t ioh, in _AscCopyLramScsiDoneQ() argument
1815 AscGetQDoneInfo(iot, ioh, q_addr + ASC_SCSIQ_DONE_INFO_BEG, scsiq); in _AscCopyLramScsiDoneQ()
1817 _val = AscReadLramWord(iot, ioh, q_addr + ASC_SCSIQ_B_STATUS); in _AscCopyLramScsiDoneQ()
1820 _val = AscReadLramWord(iot, ioh, q_addr + ASC_SCSIQ_B_CNTL); in _AscCopyLramScsiDoneQ()
1823 _val = AscReadLramWord(iot, ioh, q_addr + ASC_SCSIQ_B_SENSE_LEN); in _AscCopyLramScsiDoneQ()
1826 scsiq->remain_bytes = AscReadLramWord(iot, ioh, in _AscCopyLramScsiDoneQ()
1835 AscGetQDoneInfo(bus_space_tag_t iot, bus_space_handle_t ioh, in AscGetQDoneInfo() argument
1840 ASC_SET_CHIP_LRAM_ADDR(iot, ioh, addr); in AscGetQDoneInfo()
1842 val = ASC_GET_CHIP_LRAM_DATA(iot, ioh); in AscGetQDoneInfo()
1843 scsiq->d2.ccb_ptr = MAKELONG(val, ASC_GET_CHIP_LRAM_DATA(iot, ioh)); in AscGetQDoneInfo()
1844 val = ASC_GET_CHIP_LRAM_DATA(iot, ioh); in AscGetQDoneInfo()
1847 val = ASC_GET_CHIP_LRAM_DATA(iot, ioh); in AscGetQDoneInfo()
1850 scsiq->d2.vm_id = ASC_GET_CHIP_LRAM_DATA(iot, ioh); in AscGetQDoneInfo()
1852 val = ASC_GET_CHIP_LRAM_DATA(iot, ioh); in AscGetQDoneInfo()
1855 val = ASC_GET_CHIP_LRAM_DATA(iot, ioh); in AscGetQDoneInfo()
1862 AscToggleIRQAct(bus_space_tag_t iot, bus_space_handle_t ioh) in AscToggleIRQAct() argument
1865 ASC_SET_CHIP_STATUS(iot, ioh, ASC_CIW_IRQ_ACT); in AscToggleIRQAct()
1866 ASC_SET_CHIP_STATUS(iot, ioh, 0); in AscToggleIRQAct()
1871 AscDisableInterrupt(bus_space_tag_t iot, bus_space_handle_t ioh) in AscDisableInterrupt() argument
1875 cfg = ASC_GET_CHIP_CFG_LSW(iot, ioh); in AscDisableInterrupt()
1876 ASC_SET_CHIP_CFG_LSW(iot, ioh, cfg & (~ASC_CFG0_HOST_INT_ON)); in AscDisableInterrupt()
1881 AscEnableInterrupt(bus_space_tag_t iot, bus_space_handle_t ioh) in AscEnableInterrupt() argument
1885 cfg = ASC_GET_CHIP_CFG_LSW(iot, ioh); in AscEnableInterrupt()
1886 ASC_SET_CHIP_CFG_LSW(iot, ioh, cfg | ASC_CFG0_HOST_INT_ON); in AscEnableInterrupt()
1891 AscGetChipIRQ(bus_space_tag_t iot, bus_space_handle_t ioh, u_int16_t bus_type) in AscGetChipIRQ() argument
1899 cfg_lsw = AscGetEisaChipCfg(iot, ioh); in AscGetChipIRQ()
1907 cfg_lsw = ASC_GET_CHIP_CFG_LSW(iot, ioh); in AscGetChipIRQ()
1916 cfg_lsw = ASC_GET_CHIP_CFG_LSW(iot, ioh); in AscGetChipIRQ()
1925 AscSetChipIRQ(bus_space_tag_t iot, bus_space_handle_t ioh, in AscSetChipIRQ() argument
1939 cfg_lsw = ASC_GET_CHIP_CFG_LSW(iot, ioh) & 0xFFE3; in AscSetChipIRQ()
1941 ASC_SET_CHIP_CFG_LSW(iot, ioh, cfg_lsw); in AscSetChipIRQ()
1942 AscToggleIRQAct(iot, ioh); in AscSetChipIRQ()
1943 cfg_lsw = ASC_GET_CHIP_CFG_LSW(iot, ioh) & 0xFFE0; in AscSetChipIRQ()
1945 ASC_SET_CHIP_CFG_LSW(iot, ioh, cfg_lsw); in AscSetChipIRQ()
1946 AscToggleIRQAct(iot, ioh); in AscSetChipIRQ()
1948 return (AscGetChipIRQ(iot, ioh, bus_type)); in AscSetChipIRQ()
1954 cfg_lsw = ASC_GET_CHIP_CFG_LSW(iot, ioh) & 0xFFF3; in AscSetChipIRQ()
1956 ASC_SET_CHIP_CFG_LSW(iot, ioh, cfg_lsw); in AscSetChipIRQ()
1958 return (AscGetChipIRQ(iot, ioh, bus_type)); in AscSetChipIRQ()
1965 AscAckInterrupt(bus_space_tag_t iot, bus_space_handle_t ioh) in AscAckInterrupt() argument
1974 risc_flag = AscReadLramByte(iot, ioh, ASCV_RISC_FLAG_B); in AscAckInterrupt()
1979 host_flag = AscReadLramByte(iot, ioh, ASCV_HOST_FLAG_B) & in AscAckInterrupt()
1981 AscWriteLramByte(iot, ioh, ASCV_HOST_FLAG_B, in AscAckInterrupt()
1983 ASC_SET_CHIP_STATUS(iot, ioh, ASC_CIW_INT_ACK); in AscAckInterrupt()
1986 while (ASC_GET_CHIP_STATUS(iot, ioh) & ASC_CSW_INT_PENDING) { in AscAckInterrupt()
1987 ASC_SET_CHIP_STATUS(iot, ioh, ASC_CIW_INT_ACK); in AscAckInterrupt()
1992 AscWriteLramByte(iot, ioh, ASCV_HOST_FLAG_B, host_flag); in AscAckInterrupt()
2008 AscGetIsaDmaChannel(bus_space_tag_t iot, bus_space_handle_t ioh) in AscGetIsaDmaChannel() argument
2012 channel = ASC_GET_CHIP_CFG_LSW(iot, ioh) & 0x0003; in AscGetIsaDmaChannel()
2022 AscSetIsaDmaChannel(bus_space_tag_t iot, bus_space_handle_t ioh, in AscSetIsaDmaChannel() argument
2033 cfg_lsw = ASC_GET_CHIP_CFG_LSW(iot, ioh) & 0xFFFC; in AscSetIsaDmaChannel()
2035 ASC_SET_CHIP_CFG_LSW(iot, ioh, cfg_lsw); in AscSetIsaDmaChannel()
2036 return (AscGetIsaDmaChannel(iot, ioh)); in AscSetIsaDmaChannel()
2043 AscGetIsaDmaSpeed(bus_space_tag_t iot, bus_space_handle_t ioh) in AscGetIsaDmaSpeed() argument
2047 AscSetBank(iot, ioh, 1); in AscGetIsaDmaSpeed()
2048 speed_value = ASC_READ_CHIP_DMA_SPEED(iot, ioh); in AscGetIsaDmaSpeed()
2050 AscSetBank(iot, ioh, 0); in AscGetIsaDmaSpeed()
2056 AscSetIsaDmaSpeed(bus_space_tag_t iot, bus_space_handle_t ioh, in AscSetIsaDmaSpeed() argument
2060 AscSetBank(iot, ioh, 1); in AscSetIsaDmaSpeed()
2061 ASC_WRITE_CHIP_DMA_SPEED(iot, ioh, speed_value); in AscSetIsaDmaSpeed()
2062 AscSetBank(iot, ioh, 0); in AscSetIsaDmaSpeed()
2063 return (AscGetIsaDmaSpeed(iot, ioh)); in AscSetIsaDmaSpeed()
2076 bus_space_tag_t iot = sc->sc_iot; in AscHandleExtMsgIn() local
2083 AscMemWordCopyFromLram(iot, ioh, ASCV_MSGIN_BEG, in AscHandleExtMsgIn()
2109 AscSetChipSDTR(iot, ioh, asyn_sdtr, tid_no); in AscHandleExtMsgIn()
2117 AscSetChipSDTR(iot, ioh, asyn_sdtr, tid_no); in AscHandleExtMsgIn()
2126 AscSetChipSDTR(iot, ioh, sdtr_data, tid_no); in AscHandleExtMsgIn()
2135 AscSetChipSDTR(iot, ioh, sdtr_data, tid_no); in AscHandleExtMsgIn()
2145 AscMemWordCopyToLram(iot, ioh, ASCV_MSGOUT_BEG, in AscHandleExtMsgIn()
2150 AscMemWordCopyToLram(iot, ioh, ASCV_MSGOUT_BEG, in AscHandleExtMsgIn()
2155 AscWriteLramByte(iot, ioh, halt_q_addr + ASC_SCSIQ_B_CNTL, q_cntl); in AscHandleExtMsgIn()
2162 bus_space_tag_t iot = sc->sc_iot; in AscMsgOutSDTR() local
2176 AscMemWordCopyToLram(iot, ioh, ASCV_MSGOUT_BEG, in AscMsgOutSDTR()
2181 AscMemWordCopyToLram(iot, ioh, ASCV_MSGOUT_BEG, in AscMsgOutSDTR()
2194 AscSetChipSDTR(bus_space_tag_t iot, bus_space_handle_t ioh, in AscSetChipSDTR() argument
2197 AscSetChipSynRegAtID(iot, ioh, tid_no, sdtr_data); in AscSetChipSDTR()
2198 AscWriteLramByte(iot, ioh, tid_no + ASCV_SDTR_DONE_BEG, sdtr_data); in AscSetChipSDTR()
2250 bus_space_tag_t iot = sc->sc_iot; in AscExeScsiQueue() local
2280 sdtr_data = ASC_GET_MCODE_INIT_SDTR_AT_ID(iot, ioh, tid_no); in AscExeScsiQueue()
2399 bus_space_tag_t iot = sc->sc_iot; in AscSendScsiQueue() local
2411 free_q_head = ASC_GET_VAR_FREE_QHEAD(iot, ioh); in AscSendScsiQueue()
2413 if ((next_qp = AscAllocMultipleFreeQueue(iot, ioh, free_q_head, n_q_required)) in AscSendScsiQueue()
2422 ASC_PUT_VAR_FREE_QHEAD(iot, ioh, next_qp); in AscSendScsiQueue()
2434 bus_space_tag_t iot = sc->sc_iot; in AscPutReadySgListQueue() local
2489 next_qp = AscReadLramByte(iot, ioh, q_addr + ASC_SCSIQ_B_FWD); in AscPutReadySgListQueue()
2496 AscMemWordCopyToLram(iot, ioh, q_addr + ASC_SCSIQ_SGHD_CPY_BEG, in AscPutReadySgListQueue()
2502 AscMemDWordCopyToLram(iot, ioh, q_addr + ASC_SGQ_LIST_BEG, in AscPutReadySgListQueue()
2519 bus_space_tag_t iot = sc->sc_iot; in AscPutReadyQueue() local
2531 sdtr_data = ASC_GET_MCODE_INIT_SDTR_AT_ID(iot, ioh, tid_no); in AscPutReadyQueue()
2543 AscMemWordCopyToLram(iot, ioh, q_addr + ASC_SCSIQ_CDB_BEG, in AscPutReadyQueue()
2546 AscPutSCSIQ(iot, ioh, q_addr + ASC_SCSIQ_CPY_BEG, scsiq); in AscPutReadyQueue()
2551 AscWriteLramWord(iot, ioh, q_addr + ASC_SCSIQ_B_STATUS, in AscPutReadyQueue()
2559 AscPutSCSIQ(bus_space_tag_t iot, bus_space_handle_t ioh, in AscPutSCSIQ() argument
2565 ASC_SET_CHIP_LRAM_ADDR(iot, ioh, addr); in AscPutSCSIQ()
2569 ASC_SET_CHIP_LRAM_DATA(iot, ioh, val); in AscPutSCSIQ()
2571 ASC_SET_CHIP_LRAM_DATA(iot, ioh, val); in AscPutSCSIQ()
2573 ASC_SET_CHIP_LRAM_DATA(iot, ioh, val); in AscPutSCSIQ()
2575 ASC_SET_CHIP_LRAM_DATA(iot, ioh, val); in AscPutSCSIQ()
2577 ASC_SET_CHIP_LRAM_DATA(iot, ioh, val); in AscPutSCSIQ()
2579 ASC_SET_CHIP_LRAM_DATA(iot, ioh, val); in AscPutSCSIQ()
2581 ASC_SET_CHIP_LRAM_DATA(iot, ioh, val); in AscPutSCSIQ()
2583 ASC_SET_CHIP_LRAM_DATA(iot, ioh, val); in AscPutSCSIQ()
2585 ASC_SET_CHIP_LRAM_DATA(iot, ioh, val); in AscPutSCSIQ()
2589 ASC_SET_CHIP_LRAM_DATA(iot, ioh, val); in AscPutSCSIQ()
2591 ASC_SET_CHIP_LRAM_DATA(iot, ioh, val); in AscPutSCSIQ()
2593 ASC_SET_CHIP_LRAM_DATA(iot, ioh, val); in AscPutSCSIQ()
2595 ASC_SET_CHIP_LRAM_DATA(iot, ioh, val); in AscPutSCSIQ()
2596 ASC_SET_CHIP_LRAM_DATA(iot, ioh, scsiq->q2.vm_id); in AscPutSCSIQ()
2642 AscAllocFreeQueue(bus_space_tag_t iot, bus_space_handle_t ioh, in AscAllocFreeQueue() argument
2651 q_status = AscReadLramByte(iot, ioh, q_addr + ASC_SCSIQ_B_STATUS); in AscAllocFreeQueue()
2652 next_qp = AscReadLramByte(iot, ioh, q_addr + ASC_SCSIQ_B_FWD); in AscAllocFreeQueue()
2661 AscAllocMultipleFreeQueue(bus_space_tag_t iot, bus_space_handle_t ioh, in AscAllocMultipleFreeQueue() argument
2667 free_q_head = AscAllocFreeQueue(iot, ioh, free_q_head); in AscAllocMultipleFreeQueue()
2677 AscStopQueueExe(bus_space_tag_t iot, bus_space_handle_t ioh) in AscStopQueueExe() argument
2681 if (AscReadLramByte(iot, ioh, ASCV_STOP_CODE_B) == 0) { in AscStopQueueExe()
2682 AscWriteLramByte(iot, ioh, ASCV_STOP_CODE_B, ASC_STOP_REQ_RISC_STOP); in AscStopQueueExe()
2684 if (AscReadLramByte(iot, ioh, ASCV_STOP_CODE_B) & in AscStopQueueExe()
2696 AscStartQueueExe(bus_space_tag_t iot, bus_space_handle_t ioh) in AscStartQueueExe() argument
2699 if (AscReadLramByte(iot, ioh, ASCV_STOP_CODE_B) != 0) in AscStartQueueExe()
2700 AscWriteLramByte(iot, ioh, ASCV_STOP_CODE_B, 0); in AscStartQueueExe()
2705 AscCleanUpBusyQueue(bus_space_tag_t iot, bus_space_handle_t ioh) in AscCleanUpBusyQueue() argument
2711 if (AscReadLramByte(iot, ioh, ASCV_STOP_CODE_B) != 0) { in AscCleanUpBusyQueue()
2712 AscWriteLramByte(iot, ioh, ASCV_STOP_CODE_B, ASC_STOP_CLEAN_UP_BUSY_Q); in AscCleanUpBusyQueue()
2714 stop_code = AscReadLramByte(iot, ioh, ASCV_STOP_CODE_B); in AscCleanUpBusyQueue()
2725 _AscWaitQDone(bus_space_tag_t iot, bus_space_handle_t ioh, ASC_SCSI_Q *scsiq) in _AscWaitQDone() argument
2735 q_status = AscReadLramByte(iot, ioh, q_addr + ASC_SCSIQ_B_STATUS); in _AscWaitQDone()
2747 AscCleanUpDiscQueue(bus_space_tag_t iot, bus_space_handle_t ioh) in AscCleanUpDiscQueue() argument
2753 if (AscReadLramByte(iot, ioh, ASCV_STOP_CODE_B) != 0) { in AscCleanUpDiscQueue()
2754 AscWriteLramByte(iot, ioh, ASCV_STOP_CODE_B, ASC_STOP_CLEAN_UP_DISC_Q); in AscCleanUpDiscQueue()
2756 stop_code = AscReadLramByte(iot, ioh, ASCV_STOP_CODE_B); in AscCleanUpDiscQueue()
2775 bus_space_tag_t iot = sc->sc_iot; in AscAbortCCB() local
2785 if (AscStopQueueExe(iot, ioh) == 1) { in AscAbortCCB()
2788 AscCleanUpBusyQueue(iot, ioh); in AscAbortCCB()
2789 AscStartQueueExe(iot, ioh); in AscAbortCCB()
2792 AscStartQueueExe(iot, ioh); in AscAbortCCB()
2804 bus_space_tag_t iot = sc->sc_iot; in AscRiscHaltedAbortCCB() local
2817 scsiq->d2.ccb_ptr = AscReadLramDWord(iot, ioh, in AscRiscHaltedAbortCCB()
2820 _AscCopyLramScsiDoneQ(iot, ioh, q_addr, scsiq, sc->max_dma_count); in AscRiscHaltedAbortCCB()
2826 AscWriteLramDWord(iot, ioh, q_addr + ASC_SCSIQ_D_CCBPTR, 0L); in AscRiscHaltedAbortCCB()
2827 AscWriteLramByte(iot, ioh, q_addr + ASC_SCSIQ_B_STATUS, in AscRiscHaltedAbortCCB()
2843 bus_space_tag_t iot = sc->sc_iot; in AscRiscHaltedAbortTIX() local
2855 _AscCopyLramScsiDoneQ(iot, ioh, q_addr, scsiq, sc->max_dma_count); in AscRiscHaltedAbortTIX()
2862 AscWriteLramDWord(iot, ioh, q_addr + ASC_SCSIQ_D_CCBPTR, 0L); in AscRiscHaltedAbortTIX()
2863 AscWriteLramByte(iot, ioh, q_addr + ASC_SCSIQ_B_STATUS, in AscRiscHaltedAbortTIX()
2882 bus_space_tag_t iot = sc->sc_iot; in AscResetDevice() local
2902 if (AscStopQueueExe(iot, ioh) == 1) { in AscResetDevice()
2904 AscCleanUpBusyQueue(iot, ioh); in AscResetDevice()
2905 AscStartQueueExe(iot, ioh); in AscResetDevice()
2919 AscWriteLramByte(iot, ioh, ASCV_MSGOUT_BEG, M1_BUS_DVC_RESET); in AscResetDevice()
2925 _AscWaitQDone(iot, ioh, (ASC_SCSI_Q *) scsiq); in AscResetDevice()
2926 if (AscStopQueueExe(iot, ioh) == ASC_NOERROR) { in AscResetDevice()
2927 AscCleanUpDiscQueue(iot, ioh); in AscResetDevice()
2928 AscStartQueueExe(iot, ioh); in AscResetDevice()
2930 AscSetRunChipSynRegAtID(iot, ioh, tid_no, in AscResetDevice()
2939 AscStartQueueExe(iot, ioh); in AscResetDevice()
2950 bus_space_tag_t iot = sc->sc_iot; in AscResetBus() local
2960 AscStopQueueExe(iot, ioh); in AscResetBus()
2962 AscResetChipAndScsiBus(iot, ioh); in AscResetBus()
2968 AscSetChipSynRegAtID(iot, ioh, i, ASYN_SDTR_DATA_FIX_PCI_REV_AB); in AscResetBus()
2971 ASC_SET_PC_ADDR(iot, ioh, ASC_MCODE_START_ADDR); in AscResetBus()
2972 if (ASC_GET_PC_ADDR(iot, ioh) != ASC_MCODE_START_ADDR) in AscResetBus()
2975 if (AscStartChip(iot, ioh) == 0) in AscResetBus()
2978 AscStartQueueExe(iot, ioh); in AscResetBus()
3012 bus_space_tag_t iot = sc->sc_iot; in AscInquiryHandling() local
3035 AscWriteLramByte(iot, ioh, ASCV_DISC_ENABLE_B, in AscInquiryHandling()
3037 AscWriteLramByte(iot, ioh, ASCV_USE_TAGGED_QNG_B, in AscInquiryHandling()
3039 AscWriteLramByte(iot, ioh, ASCV_CAN_TAGGED_QNG_B, in AscInquiryHandling()
3044 AscWriteLramByte(iot, ioh, ASCV_MAX_DVC_QNG_BEG + tid_no, in AscInquiryHandling()