Lines Matching refs:iop_base
488 PortAddr iop_base; member
1807 AdvPortAddr iop_base; /* I/O port address */ member
1878 #define AdvReadByteRegister(iop_base, reg_off) \ argument
1879 (ADV_MEM_READB((iop_base) + (reg_off)))
1882 #define AdvWriteByteRegister(iop_base, reg_off, byte) \ argument
1883 (ADV_MEM_WRITEB((iop_base) + (reg_off), (byte)))
1886 #define AdvReadWordRegister(iop_base, reg_off) \ argument
1887 (ADV_MEM_READW((iop_base) + (reg_off)))
1890 #define AdvWriteWordRegister(iop_base, reg_off, word) \ argument
1891 (ADV_MEM_WRITEW((iop_base) + (reg_off), (word)))
1894 #define AdvWriteDWordRegister(iop_base, reg_off, dword) \ argument
1895 (ADV_MEM_WRITEDW((iop_base) + (reg_off), (dword)))
1898 #define AdvReadByteLram(iop_base, addr, byte) \ argument
1900 ADV_MEM_WRITEW((iop_base) + IOPW_RAM_ADDR, (addr)); \
1901 (byte) = ADV_MEM_READB((iop_base) + IOPB_RAM_DATA); \
1905 #define AdvWriteByteLram(iop_base, addr, byte) \ argument
1906 (ADV_MEM_WRITEW((iop_base) + IOPW_RAM_ADDR, (addr)), \
1907 ADV_MEM_WRITEB((iop_base) + IOPB_RAM_DATA, (byte)))
1910 #define AdvReadWordLram(iop_base, addr, word) \ argument
1912 ADV_MEM_WRITEW((iop_base) + IOPW_RAM_ADDR, (addr)); \
1913 (word) = (ADV_MEM_READW((iop_base) + IOPW_RAM_DATA)); \
1917 #define AdvWriteWordLram(iop_base, addr, word) \ argument
1918 (ADV_MEM_WRITEW((iop_base) + IOPW_RAM_ADDR, (addr)), \
1919 ADV_MEM_WRITEW((iop_base) + IOPW_RAM_DATA, (word)))
1923 #define AdvWriteDWordLramNoSwap(iop_base, addr, dword) \ argument
1924 ((ADV_MEM_WRITEW((iop_base) + IOPW_RAM_ADDR, (addr)), \
1925 ADV_MEM_WRITEW((iop_base) + IOPW_RAM_DATA, \
1927 (ADV_MEM_WRITEW((iop_base) + IOPW_RAM_ADDR, (addr) + 2), \
1928 ADV_MEM_WRITEW((iop_base) + IOPW_RAM_DATA, \
1932 #define AdvReadWordAutoIncLram(iop_base) \ argument
1933 (ADV_MEM_READW((iop_base) + IOPW_RAM_DATA))
1936 #define AdvWriteWordAutoIncLram(iop_base, word) \ argument
1937 (ADV_MEM_WRITEW((iop_base) + IOPW_RAM_DATA, (word)))
1945 #define AdvFindSignature(iop_base) \ argument
1946 (((AdvReadByteRegister((iop_base), IOPB_CHIP_ID_1) == \
1948 (AdvReadWordRegister((iop_base), IOPW_CHIP_ID_0) == \
1956 #define AdvGetChipVersion(iop_base, bus_type) \ argument
1957 AdvReadByteRegister((iop_base), IOPB_CHIP_TYPE_REV)
2300 "%d,\n", h->iop_base, h->err_code, h->dvc_cntl, h->bug_fix_cntl); in asc_prt_asc_dvc_var()
2356 (ulong)h->iop_base, h->err_code, (unsigned)h->ultra_able); in asc_prt_adv_dvc_var()
2670 ASC_VERSION, widename, (ulong)adv_dvc_varp->iop_base, in advansys_info()
2671 (ulong)adv_dvc_varp->iop_base + boardp->asc_n_io_port - 1, boardp->irq); in advansys_info()
3300 AdvPortAddr iop_base; in asc_prt_adv_board_info() local
3312 iop_base = v->iop_base; in asc_prt_adv_board_info()
3321 v->iop_base, in asc_prt_adv_board_info()
3322 AdvReadWordRegister(iop_base,IOPW_SCSI_CFG1) & CABLE_DETECT, in asc_prt_adv_board_info()
3329 AdvReadWordLram(iop_base, ASC_MC_TAGQNG_ABLE, tagqng_able); in asc_prt_adv_board_info()
3349 AdvReadByteLram(iop_base, ASC_MC_NUMBER_OF_MAX_CMD + i, in asc_prt_adv_board_info()
3362 AdvReadByteLram(iop_base, ASC_MC_NUMBER_OF_QUEUED_CMD + i, in asc_prt_adv_board_info()
3369 AdvReadWordLram(iop_base, ASC_MC_WDTR_ABLE, wdtr_able); in asc_prt_adv_board_info()
3383 AdvReadWordLram(iop_base, ASC_MC_WDTR_DONE, wdtr_done); in asc_prt_adv_board_info()
3391 AdvReadWordLram(iop_base, in asc_prt_adv_board_info()
3406 AdvReadWordLram(iop_base, ASC_MC_SDTR_ABLE, sdtr_able); in asc_prt_adv_board_info()
3420 AdvReadWordLram(iop_base, ASC_MC_SDTR_DONE, sdtr_done); in asc_prt_adv_board_info()
3423 AdvReadWordLram(iop_base, in asc_prt_adv_board_info()
3607 static void AscSetBank(PortAddr iop_base, uchar bank) in AscSetBank() argument
3611 val = AscGetChipControl(iop_base) & in AscSetBank()
3622 AscSetChipControl(iop_base, val); in AscSetBank()
3625 static void AscSetChipIH(PortAddr iop_base, ushort ins_code) in AscSetChipIH() argument
3627 AscSetBank(iop_base, 1); in AscSetChipIH()
3628 AscWriteChipIH(iop_base, ins_code); in AscSetChipIH()
3629 AscSetBank(iop_base, 0); in AscSetChipIH()
3632 static int AscStartChip(PortAddr iop_base) in AscStartChip() argument
3634 AscSetChipControl(iop_base, 0); in AscStartChip()
3635 if ((AscGetChipStatus(iop_base) & CSW_HALTED) != 0) { in AscStartChip()
3641 static bool AscStopChip(PortAddr iop_base) in AscStopChip() argument
3646 AscGetChipControl(iop_base) & in AscStopChip()
3648 AscSetChipControl(iop_base, (uchar)(cc_val | CC_HALT)); in AscStopChip()
3649 AscSetChipIH(iop_base, INS_HALT); in AscStopChip()
3650 AscSetChipIH(iop_base, INS_RFLAG_WTM); in AscStopChip()
3651 if ((AscGetChipStatus(iop_base) & CSW_HALTED) == 0) { in AscStopChip()
3657 static bool AscIsChipHalted(PortAddr iop_base) in AscIsChipHalted() argument
3659 if ((AscGetChipStatus(iop_base) & CSW_HALTED) != 0) { in AscIsChipHalted()
3660 if ((AscGetChipControl(iop_base) & CC_HALT) != 0) { in AscIsChipHalted()
3669 PortAddr iop_base; in AscResetChipAndScsiBus() local
3672 iop_base = asc_dvc->iop_base; in AscResetChipAndScsiBus()
3673 while ((AscGetChipStatus(iop_base) & CSW_SCSI_RESET_ACTIVE) in AscResetChipAndScsiBus()
3677 AscStopChip(iop_base); in AscResetChipAndScsiBus()
3678 AscSetChipControl(iop_base, CC_CHIP_RESET | CC_SCSI_RESET | CC_HALT); in AscResetChipAndScsiBus()
3680 AscSetChipIH(iop_base, INS_RFLAG_WTM); in AscResetChipAndScsiBus()
3681 AscSetChipIH(iop_base, INS_HALT); in AscResetChipAndScsiBus()
3682 AscSetChipControl(iop_base, CC_CHIP_RESET | CC_HALT); in AscResetChipAndScsiBus()
3683 AscSetChipControl(iop_base, CC_HALT); in AscResetChipAndScsiBus()
3685 AscSetChipStatus(iop_base, CIW_CLR_SCSI_RESET_INT); in AscResetChipAndScsiBus()
3686 AscSetChipStatus(iop_base, 0); in AscResetChipAndScsiBus()
3687 return (AscIsChipHalted(iop_base)); in AscResetChipAndScsiBus()
3690 static int AscFindSignature(PortAddr iop_base) in AscFindSignature() argument
3695 iop_base, AscGetChipSignatureByte(iop_base)); in AscFindSignature()
3696 if (AscGetChipSignatureByte(iop_base) == (uchar)ASC_1000_ID1B) { in AscFindSignature()
3698 iop_base, AscGetChipSignatureWord(iop_base)); in AscFindSignature()
3699 sig_word = AscGetChipSignatureWord(iop_base); in AscFindSignature()
3708 static void AscEnableInterrupt(PortAddr iop_base) in AscEnableInterrupt() argument
3712 cfg = AscGetChipCfgLsw(iop_base); in AscEnableInterrupt()
3713 AscSetChipCfgLsw(iop_base, cfg | ASC_CFG0_HOST_INT_ON); in AscEnableInterrupt()
3716 static void AscDisableInterrupt(PortAddr iop_base) in AscDisableInterrupt() argument
3720 cfg = AscGetChipCfgLsw(iop_base); in AscDisableInterrupt()
3721 AscSetChipCfgLsw(iop_base, cfg & (~ASC_CFG0_HOST_INT_ON)); in AscDisableInterrupt()
3724 static uchar AscReadLramByte(PortAddr iop_base, ushort addr) in AscReadLramByte() argument
3730 AscSetChipLramAddr(iop_base, addr - 1); in AscReadLramByte()
3731 word_data = AscGetChipLramData(iop_base); in AscReadLramByte()
3734 AscSetChipLramAddr(iop_base, addr); in AscReadLramByte()
3735 word_data = AscGetChipLramData(iop_base); in AscReadLramByte()
3741 static ushort AscReadLramWord(PortAddr iop_base, ushort addr) in AscReadLramWord() argument
3745 AscSetChipLramAddr(iop_base, addr); in AscReadLramWord()
3746 word_data = AscGetChipLramData(iop_base); in AscReadLramWord()
3751 AscMemWordSetLram(PortAddr iop_base, ushort s_addr, ushort set_wval, int words) in AscMemWordSetLram() argument
3755 AscSetChipLramAddr(iop_base, s_addr); in AscMemWordSetLram()
3757 AscSetChipLramData(iop_base, set_wval); in AscMemWordSetLram()
3761 static void AscWriteLramWord(PortAddr iop_base, ushort addr, ushort word_val) in AscWriteLramWord() argument
3763 AscSetChipLramAddr(iop_base, addr); in AscWriteLramWord()
3764 AscSetChipLramData(iop_base, word_val); in AscWriteLramWord()
3767 static void AscWriteLramByte(PortAddr iop_base, ushort addr, uchar byte_val) in AscWriteLramByte() argument
3773 word_data = AscReadLramWord(iop_base, addr); in AscWriteLramByte()
3777 word_data = AscReadLramWord(iop_base, addr); in AscWriteLramByte()
3781 AscWriteLramWord(iop_base, addr, word_data); in AscWriteLramByte()
3791 AscMemWordCopyPtrToLram(PortAddr iop_base, ushort s_addr, in AscMemWordCopyPtrToLram() argument
3796 AscSetChipLramAddr(iop_base, s_addr); in AscMemWordCopyPtrToLram()
3806 outpw(iop_base + IOP_RAM_DATA, in AscMemWordCopyPtrToLram()
3818 AscMemDWordCopyPtrToLram(PortAddr iop_base, in AscMemDWordCopyPtrToLram() argument
3823 AscSetChipLramAddr(iop_base, s_addr); in AscMemDWordCopyPtrToLram()
3825 outpw(iop_base + IOP_RAM_DATA, ((ushort)s_buffer[i + 1] << 8) | s_buffer[i]); /* LSW */ in AscMemDWordCopyPtrToLram()
3826 outpw(iop_base + IOP_RAM_DATA, ((ushort)s_buffer[i + 3] << 8) | s_buffer[i + 2]); /* MSW */ in AscMemDWordCopyPtrToLram()
3837 AscMemWordCopyPtrFromLram(PortAddr iop_base, in AscMemWordCopyPtrFromLram() argument
3843 AscSetChipLramAddr(iop_base, s_addr); in AscMemWordCopyPtrFromLram()
3845 word = inpw(iop_base + IOP_RAM_DATA); in AscMemWordCopyPtrFromLram()
3851 static u32 AscMemSumLramWord(PortAddr iop_base, ushort s_addr, int words) in AscMemSumLramWord() argument
3857 sum += AscReadLramWord(iop_base, s_addr); in AscMemSumLramWord()
3866 PortAddr iop_base; in AscInitLram() local
3868 iop_base = asc_dvc->iop_base; in AscInitLram()
3869 AscMemWordSetLram(iop_base, ASC_QADR_BEG, 0, in AscInitLram()
3874 AscWriteLramByte(iop_base, (ushort)(s_addr + ASC_SCSIQ_B_FWD), in AscInitLram()
3876 AscWriteLramByte(iop_base, (ushort)(s_addr + ASC_SCSIQ_B_BWD), in AscInitLram()
3878 AscWriteLramByte(iop_base, (ushort)(s_addr + ASC_SCSIQ_B_QNO), in AscInitLram()
3883 AscWriteLramByte(iop_base, (ushort)(s_addr + ASC_SCSIQ_B_FWD), in AscInitLram()
3885 AscWriteLramByte(iop_base, (ushort)(s_addr + ASC_SCSIQ_B_BWD), in AscInitLram()
3887 AscWriteLramByte(iop_base, (ushort)(s_addr + ASC_SCSIQ_B_QNO), in AscInitLram()
3890 AscWriteLramByte(iop_base, (ushort)(s_addr + ASC_SCSIQ_B_FWD), in AscInitLram()
3892 AscWriteLramByte(iop_base, (ushort)(s_addr + ASC_SCSIQ_B_BWD), in AscInitLram()
3894 AscWriteLramByte(iop_base, (ushort)(s_addr + ASC_SCSIQ_B_QNO), in AscInitLram()
3900 AscWriteLramByte(iop_base, in AscInitLram()
3902 AscWriteLramByte(iop_base, in AscInitLram()
3904 AscWriteLramByte(iop_base, in AscInitLram()
3910 AscLoadMicroCode(PortAddr iop_base, ushort s_addr, in AscLoadMicroCode() argument
3919 AscMemWordSetLram(iop_base, s_addr, 0, mcode_word_size); in AscLoadMicroCode()
3920 AscMemWordCopyPtrToLram(iop_base, s_addr, mcode_buf, mcode_word_size); in AscLoadMicroCode()
3922 chksum = AscMemSumLramWord(iop_base, s_addr, mcode_word_size); in AscLoadMicroCode()
3924 mcode_chksum = (ushort)AscMemSumLramWord(iop_base, in AscLoadMicroCode()
3931 AscWriteLramWord(iop_base, ASCV_MCODE_CHKSUM_W, mcode_chksum); in AscLoadMicroCode()
3932 AscWriteLramWord(iop_base, ASCV_MCODE_SIZE_W, mcode_size); in AscLoadMicroCode()
3938 PortAddr iop_base; in AscInitQLinkVar() local
3942 iop_base = asc_dvc->iop_base; in AscInitQLinkVar()
3943 AscPutRiscVarFreeQHead(iop_base, 1); in AscInitQLinkVar()
3944 AscPutRiscVarDoneQTail(iop_base, asc_dvc->max_total_qng); in AscInitQLinkVar()
3945 AscPutVarFreeQHead(iop_base, 1); in AscInitQLinkVar()
3946 AscPutVarDoneQTail(iop_base, asc_dvc->max_total_qng); in AscInitQLinkVar()
3947 AscWriteLramByte(iop_base, ASCV_BUSY_QHEAD_B, in AscInitQLinkVar()
3949 AscWriteLramByte(iop_base, ASCV_DISC1_QHEAD_B, in AscInitQLinkVar()
3951 AscWriteLramByte(iop_base, (ushort)ASCV_TOTAL_READY_Q_B, in AscInitQLinkVar()
3953 AscWriteLramWord(iop_base, ASCV_ASCDVC_ERR_CODE_W, 0); in AscInitQLinkVar()
3954 AscWriteLramWord(iop_base, ASCV_HALTCODE_W, 0); in AscInitQLinkVar()
3955 AscWriteLramByte(iop_base, ASCV_STOP_CODE_B, 0); in AscInitQLinkVar()
3956 AscWriteLramByte(iop_base, ASCV_SCSIBUSY_B, 0); in AscInitQLinkVar()
3957 AscWriteLramByte(iop_base, ASCV_WTM_FLAG_B, 0); in AscInitQLinkVar()
3958 AscPutQDoneInProgress(iop_base, 0); in AscInitQLinkVar()
3961 AscWriteLramWord(iop_base, lram_addr, 0); in AscInitQLinkVar()
3969 PortAddr iop_base; in AscInitMicroCodeVar() local
3974 iop_base = asc_dvc->iop_base; in AscInitMicroCodeVar()
3977 AscPutMCodeInitSDTRAtID(iop_base, i, in AscInitMicroCodeVar()
3982 AscWriteLramByte(iop_base, ASCV_DISC_ENABLE_B, in AscInitMicroCodeVar()
3984 AscWriteLramByte(iop_base, ASCV_HOSTSCSI_ID_B, in AscInitMicroCodeVar()
3996 AscMemDWordCopyPtrToLram(iop_base, ASCV_OVERRUN_PADDR_D, in AscInitMicroCodeVar()
3999 AscMemDWordCopyPtrToLram(iop_base, ASCV_OVERRUN_BSIZE_D, in AscInitMicroCodeVar()
4003 AscReadLramWord(iop_base, (ushort)ASCV_MC_DATE_W); in AscInitMicroCodeVar()
4005 AscReadLramWord(iop_base, (ushort)ASCV_MC_VER_W); in AscInitMicroCodeVar()
4007 AscSetPCAddr(iop_base, ASC_MCODE_START_ADDR); in AscInitMicroCodeVar()
4008 if (AscGetPCAddr(iop_base) != ASC_MCODE_START_ADDR) { in AscInitMicroCodeVar()
4013 if (AscStartChip(iop_base) != 1) { in AscInitMicroCodeVar()
4036 PortAddr iop_base; in AscInitAsc1000Driver() local
4038 iop_base = asc_dvc->iop_base; in AscInitAsc1000Driver()
4048 if (!AscFindSignature(asc_dvc->iop_base)) { in AscInitAsc1000Driver()
4052 AscDisableInterrupt(iop_base); in AscInitAsc1000Driver()
4072 if (AscLoadMicroCode(iop_base, 0, &fw->data[4], in AscInitAsc1000Driver()
4083 AscEnableInterrupt(iop_base); in AscInitAsc1000Driver()
4109 static int AdvLoadMicrocode(AdvPortAddr iop_base, const unsigned char *buf, in AdvLoadMicrocode() argument
4115 AdvWriteWordRegister(iop_base, IOPW_RAM_ADDR, 0); in AdvLoadMicrocode()
4121 AdvWriteWordAutoIncLram(iop_base, word); in AdvLoadMicrocode()
4127 AdvWriteWordAutoIncLram(iop_base, word); in AdvLoadMicrocode()
4133 AdvWriteWordAutoIncLram(iop_base, word); in AdvLoadMicrocode()
4141 AdvWriteWordAutoIncLram(iop_base, 0); in AdvLoadMicrocode()
4147 AdvWriteWordRegister(iop_base, IOPW_RAM_ADDR, 0); in AdvLoadMicrocode()
4150 sum += AdvReadWordAutoIncLram(iop_base); in AdvLoadMicrocode()
4246 AdvPortAddr iop_base; in AdvSendIdleCmd() local
4248 iop_base = asc_dvc->iop_base; in AdvSendIdleCmd()
4255 AdvWriteWordLram(iop_base, ASC_MC_IDLE_CMD_STATUS, (ushort)0); in AdvSendIdleCmd()
4263 AdvWriteDWordLramNoSwap(iop_base, ASC_MC_IDLE_CMD_PARAMETER, in AdvSendIdleCmd()
4265 AdvWriteWordLram(iop_base, ASC_MC_IDLE_CMD, idle_cmd); in AdvSendIdleCmd()
4270 AdvWriteByteRegister(iop_base, IOPB_TICKLE, ADV_TICKLE_B); in AdvSendIdleCmd()
4277 AdvWriteByteRegister(iop_base, IOPB_TICKLE, ADV_TICKLE_NOP); in AdvSendIdleCmd()
4284 AdvReadWordLram(iop_base, ASC_MC_IDLE_CMD_STATUS, in AdvSendIdleCmd()
4354 AdvPortAddr iop_base; in AdvInitAsc3550Driver() local
4382 iop_base = asc_dvc->iop_base; in AdvInitAsc3550Driver()
4393 AdvReadWordLram(iop_base, ASC_MC_BIOSMEM + (2 * i), in AdvInitAsc3550Driver()
4409 AdvReadWordLram(iop_base, 0x120, wdtr_able); in AdvInitAsc3550Driver()
4411 AdvReadWordLram(iop_base, ASC_MC_WDTR_ABLE, wdtr_able); in AdvInitAsc3550Driver()
4414 AdvReadWordLram(iop_base, ASC_MC_SDTR_ABLE, sdtr_able); in AdvInitAsc3550Driver()
4415 AdvReadWordLram(iop_base, ASC_MC_TAGQNG_ABLE, tagqng_able); in AdvInitAsc3550Driver()
4417 AdvReadByteLram(iop_base, ASC_MC_NUMBER_OF_MAX_CMD + tid, in AdvInitAsc3550Driver()
4437 asc_dvc->err_code = AdvLoadMicrocode(iop_base, &fw->data[4], in AdvInitAsc3550Driver()
4448 AdvWriteWordLram(iop_base, ASC_MC_BIOSMEM + (2 * i), in AdvInitAsc3550Driver()
4456 AdvReadWordLram(iop_base, ASC_MC_CODE_BEGIN_ADDR, begin_addr); in AdvInitAsc3550Driver()
4457 AdvReadWordLram(iop_base, ASC_MC_CODE_END_ADDR, end_addr); in AdvInitAsc3550Driver()
4459 AdvWriteWordRegister(iop_base, IOPW_RAM_ADDR, begin_addr); in AdvInitAsc3550Driver()
4461 code_sum += AdvReadWordAutoIncLram(iop_base); in AdvInitAsc3550Driver()
4463 AdvWriteWordLram(iop_base, ASC_MC_CODE_CHK_SUM, code_sum); in AdvInitAsc3550Driver()
4468 AdvReadWordLram(iop_base, ASC_MC_VERSION_DATE, in AdvInitAsc3550Driver()
4470 AdvReadWordLram(iop_base, ASC_MC_VERSION_NUM, in AdvInitAsc3550Driver()
4476 AdvWriteWordLram(iop_base, ASC_MC_CHIP_TYPE, ADV_CHIP_ASC3550); in AdvInitAsc3550Driver()
4485 AdvReadWordLram(iop_base, ASC_MC_CONTROL_FLAG, word); in AdvInitAsc3550Driver()
4487 AdvWriteWordLram(iop_base, ASC_MC_CONTROL_FLAG, word); in AdvInitAsc3550Driver()
4494 AdvWriteByteRegister(iop_base, IOPB_DMA_CFG0, in AdvInitAsc3550Driver()
4510 AdvWriteWordLram(iop_base, ASC_MC_WDTR_ABLE, in AdvInitAsc3550Driver()
4512 AdvWriteWordLram(iop_base, ASC_MC_SDTR_ABLE, in AdvInitAsc3550Driver()
4548 AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED1, word); in AdvInitAsc3550Driver()
4551 AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED2, word); in AdvInitAsc3550Driver()
4554 AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED3, word); in AdvInitAsc3550Driver()
4557 AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED4, word); in AdvInitAsc3550Driver()
4565 AdvWriteWordLram(iop_base, ASC_MC_DISC_ENABLE, in AdvInitAsc3550Driver()
4574 AdvWriteWordLram(iop_base, ASC_MC_DEFAULT_SCSI_CFG0, in AdvInitAsc3550Driver()
4586 scsi_cfg1 = AdvReadWordRegister(iop_base, IOPW_SCSI_CFG1); in AdvInitAsc3550Driver()
4602 if ((AdvReadWordRegister(iop_base, IOPW_SCSI_CTRL) & 0x3F07) == 0x3F07) { in AdvInitAsc3550Driver()
4680 AdvWriteWordLram(iop_base, ASC_MC_DEFAULT_SCSI_CFG1, in AdvInitAsc3550Driver()
4694 AdvWriteWordLram(iop_base, ASC_MC_DEFAULT_MEM_CFG, in AdvInitAsc3550Driver()
4703 AdvWriteWordLram(iop_base, ASC_MC_DEFAULT_SEL_MASK, in AdvInitAsc3550Driver()
4721 AdvWriteDWordLramNoSwap(iop_base, ASC_MC_ICQ, asc_dvc->icq_sp->carr_pa); in AdvInitAsc3550Driver()
4735 AdvWriteDWordLramNoSwap(iop_base, ASC_MC_IRQ, asc_dvc->irq_sp->carr_pa); in AdvInitAsc3550Driver()
4738 AdvWriteByteRegister(iop_base, IOPB_INTR_ENABLES, in AdvInitAsc3550Driver()
4742 AdvReadWordLram(iop_base, ASC_MC_CODE_BEGIN_ADDR, word); in AdvInitAsc3550Driver()
4743 AdvWriteWordRegister(iop_base, IOPW_PC, word); in AdvInitAsc3550Driver()
4746 AdvWriteWordRegister(iop_base, IOPW_RISC_CSR, ADV_RISC_CSR_RUN); in AdvInitAsc3550Driver()
4764 AdvWriteWordLram(iop_base, ASC_MC_WDTR_ABLE, wdtr_able); in AdvInitAsc3550Driver()
4765 AdvWriteWordLram(iop_base, ASC_MC_SDTR_ABLE, sdtr_able); in AdvInitAsc3550Driver()
4766 AdvWriteWordLram(iop_base, ASC_MC_TAGQNG_ABLE, in AdvInitAsc3550Driver()
4769 AdvWriteByteLram(iop_base, in AdvInitAsc3550Driver()
4797 AdvPortAddr iop_base; in AdvInitAsc38C0800Driver() local
4826 iop_base = asc_dvc->iop_base; in AdvInitAsc38C0800Driver()
4837 AdvReadWordLram(iop_base, ASC_MC_BIOSMEM + (2 * i), in AdvInitAsc38C0800Driver()
4844 AdvReadWordLram(iop_base, ASC_MC_WDTR_ABLE, wdtr_able); in AdvInitAsc38C0800Driver()
4845 AdvReadWordLram(iop_base, ASC_MC_SDTR_ABLE, sdtr_able); in AdvInitAsc38C0800Driver()
4846 AdvReadWordLram(iop_base, ASC_MC_TAGQNG_ABLE, tagqng_able); in AdvInitAsc38C0800Driver()
4848 AdvReadByteLram(iop_base, ASC_MC_NUMBER_OF_MAX_CMD + tid, in AdvInitAsc38C0800Driver()
4882 AdvWriteByteRegister(iop_base, IOPB_RAM_BIST, PRE_TEST_MODE); in AdvInitAsc38C0800Driver()
4884 byte = AdvReadByteRegister(iop_base, IOPB_RAM_BIST); in AdvInitAsc38C0800Driver()
4891 AdvWriteByteRegister(iop_base, IOPB_RAM_BIST, NORMAL_MODE); in AdvInitAsc38C0800Driver()
4893 if (AdvReadByteRegister(iop_base, IOPB_RAM_BIST) in AdvInitAsc38C0800Driver()
4907 AdvWriteByteRegister(iop_base, IOPB_RAM_BIST, RAM_TEST_MODE); in AdvInitAsc38C0800Driver()
4910 byte = AdvReadByteRegister(iop_base, IOPB_RAM_BIST); in AdvInitAsc38C0800Driver()
4919 AdvWriteByteRegister(iop_base, IOPB_RAM_BIST, NORMAL_MODE); in AdvInitAsc38C0800Driver()
4937 asc_dvc->err_code = AdvLoadMicrocode(iop_base, &fw->data[4], in AdvInitAsc38C0800Driver()
4948 AdvWriteWordLram(iop_base, ASC_MC_BIOSMEM + (2 * i), in AdvInitAsc38C0800Driver()
4956 AdvReadWordLram(iop_base, ASC_MC_CODE_BEGIN_ADDR, begin_addr); in AdvInitAsc38C0800Driver()
4957 AdvReadWordLram(iop_base, ASC_MC_CODE_END_ADDR, end_addr); in AdvInitAsc38C0800Driver()
4959 AdvWriteWordRegister(iop_base, IOPW_RAM_ADDR, begin_addr); in AdvInitAsc38C0800Driver()
4961 code_sum += AdvReadWordAutoIncLram(iop_base); in AdvInitAsc38C0800Driver()
4963 AdvWriteWordLram(iop_base, ASC_MC_CODE_CHK_SUM, code_sum); in AdvInitAsc38C0800Driver()
4968 AdvReadWordLram(iop_base, ASC_MC_VERSION_DATE, in AdvInitAsc38C0800Driver()
4970 AdvReadWordLram(iop_base, ASC_MC_VERSION_NUM, in AdvInitAsc38C0800Driver()
4976 AdvWriteWordLram(iop_base, ASC_MC_CHIP_TYPE, ADV_CHIP_ASC38C0800); in AdvInitAsc38C0800Driver()
4986 scsi_cfg1 = AdvReadWordRegister(iop_base, IOPW_SCSI_CFG1); in AdvInitAsc38C0800Driver()
4987 AdvWriteWordRegister(iop_base, IOPW_SCSI_CFG1, in AdvInitAsc38C0800Driver()
4997 AdvReadWordLram(iop_base, ASC_MC_CONTROL_FLAG, word); in AdvInitAsc38C0800Driver()
4999 AdvWriteWordLram(iop_base, ASC_MC_CONTROL_FLAG, word); in AdvInitAsc38C0800Driver()
5010 AdvWriteByteRegister(iop_base, IOPB_DMA_CFG0, in AdvInitAsc38C0800Driver()
5027 AdvWriteWordLram(iop_base, ASC_MC_WDTR_ABLE, in AdvInitAsc38C0800Driver()
5029 AdvWriteWordLram(iop_base, ASC_MC_SDTR_ABLE, in AdvInitAsc38C0800Driver()
5042 AdvWriteWordLram(iop_base, ASC_MC_DISC_ENABLE, in AdvInitAsc38C0800Driver()
5044 AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED1, asc_dvc->sdtr_speed1); in AdvInitAsc38C0800Driver()
5045 AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED2, asc_dvc->sdtr_speed2); in AdvInitAsc38C0800Driver()
5046 AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED3, asc_dvc->sdtr_speed3); in AdvInitAsc38C0800Driver()
5047 AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED4, asc_dvc->sdtr_speed4); in AdvInitAsc38C0800Driver()
5055 AdvWriteWordLram(iop_base, ASC_MC_DEFAULT_SCSI_CFG0, in AdvInitAsc38C0800Driver()
5067 scsi_cfg1 = AdvReadWordRegister(iop_base, IOPW_SCSI_CFG1); in AdvInitAsc38C0800Driver()
5074 if ((AdvReadWordRegister(iop_base, IOPW_SCSI_CTRL) & 0x3F07) == 0x3F07) { in AdvInitAsc38C0800Driver()
5162 AdvWriteWordLram(iop_base, ASC_MC_DEFAULT_SCSI_CFG1, scsi_cfg1); in AdvInitAsc38C0800Driver()
5175 AdvWriteWordLram(iop_base, ASC_MC_DEFAULT_MEM_CFG, in AdvInitAsc38C0800Driver()
5184 AdvWriteWordLram(iop_base, ASC_MC_DEFAULT_SEL_MASK, in AdvInitAsc38C0800Driver()
5204 AdvWriteDWordLramNoSwap(iop_base, ASC_MC_ICQ, asc_dvc->icq_sp->carr_pa); in AdvInitAsc38C0800Driver()
5221 AdvWriteDWordLramNoSwap(iop_base, ASC_MC_IRQ, asc_dvc->irq_sp->carr_pa); in AdvInitAsc38C0800Driver()
5224 AdvWriteByteRegister(iop_base, IOPB_INTR_ENABLES, in AdvInitAsc38C0800Driver()
5228 AdvReadWordLram(iop_base, ASC_MC_CODE_BEGIN_ADDR, word); in AdvInitAsc38C0800Driver()
5229 AdvWriteWordRegister(iop_base, IOPW_PC, word); in AdvInitAsc38C0800Driver()
5232 AdvWriteWordRegister(iop_base, IOPW_RISC_CSR, ADV_RISC_CSR_RUN); in AdvInitAsc38C0800Driver()
5250 AdvWriteWordLram(iop_base, ASC_MC_WDTR_ABLE, wdtr_able); in AdvInitAsc38C0800Driver()
5251 AdvWriteWordLram(iop_base, ASC_MC_SDTR_ABLE, sdtr_able); in AdvInitAsc38C0800Driver()
5252 AdvWriteWordLram(iop_base, ASC_MC_TAGQNG_ABLE, in AdvInitAsc38C0800Driver()
5255 AdvWriteByteLram(iop_base, in AdvInitAsc38C0800Driver()
5283 AdvPortAddr iop_base; in AdvInitAsc38C1600Driver() local
5313 iop_base = asc_dvc->iop_base; in AdvInitAsc38C1600Driver()
5324 AdvReadWordLram(iop_base, ASC_MC_BIOSMEM + (2 * i), in AdvInitAsc38C1600Driver()
5331 AdvReadWordLram(iop_base, ASC_MC_WDTR_ABLE, wdtr_able); in AdvInitAsc38C1600Driver()
5332 AdvReadWordLram(iop_base, ASC_MC_SDTR_ABLE, sdtr_able); in AdvInitAsc38C1600Driver()
5333 AdvReadWordLram(iop_base, ASC_MC_PPR_ABLE, ppr_able); in AdvInitAsc38C1600Driver()
5334 AdvReadWordLram(iop_base, ASC_MC_TAGQNG_ABLE, tagqng_able); in AdvInitAsc38C1600Driver()
5336 AdvReadByteLram(iop_base, ASC_MC_NUMBER_OF_MAX_CMD + tid, in AdvInitAsc38C1600Driver()
5370 AdvWriteByteRegister(iop_base, IOPB_RAM_BIST, PRE_TEST_MODE); in AdvInitAsc38C1600Driver()
5372 byte = AdvReadByteRegister(iop_base, IOPB_RAM_BIST); in AdvInitAsc38C1600Driver()
5379 AdvWriteByteRegister(iop_base, IOPB_RAM_BIST, NORMAL_MODE); in AdvInitAsc38C1600Driver()
5381 if (AdvReadByteRegister(iop_base, IOPB_RAM_BIST) in AdvInitAsc38C1600Driver()
5395 AdvWriteByteRegister(iop_base, IOPB_RAM_BIST, RAM_TEST_MODE); in AdvInitAsc38C1600Driver()
5398 byte = AdvReadByteRegister(iop_base, IOPB_RAM_BIST); in AdvInitAsc38C1600Driver()
5407 AdvWriteByteRegister(iop_base, IOPB_RAM_BIST, NORMAL_MODE); in AdvInitAsc38C1600Driver()
5425 asc_dvc->err_code = AdvLoadMicrocode(iop_base, &fw->data[4], in AdvInitAsc38C1600Driver()
5436 AdvWriteWordLram(iop_base, ASC_MC_BIOSMEM + (2 * i), in AdvInitAsc38C1600Driver()
5444 AdvReadWordLram(iop_base, ASC_MC_CODE_BEGIN_ADDR, begin_addr); in AdvInitAsc38C1600Driver()
5445 AdvReadWordLram(iop_base, ASC_MC_CODE_END_ADDR, end_addr); in AdvInitAsc38C1600Driver()
5447 AdvWriteWordRegister(iop_base, IOPW_RAM_ADDR, begin_addr); in AdvInitAsc38C1600Driver()
5449 code_sum += AdvReadWordAutoIncLram(iop_base); in AdvInitAsc38C1600Driver()
5451 AdvWriteWordLram(iop_base, ASC_MC_CODE_CHK_SUM, code_sum); in AdvInitAsc38C1600Driver()
5456 AdvReadWordLram(iop_base, ASC_MC_VERSION_DATE, in AdvInitAsc38C1600Driver()
5458 AdvReadWordLram(iop_base, ASC_MC_VERSION_NUM, in AdvInitAsc38C1600Driver()
5464 AdvWriteWordLram(iop_base, ASC_MC_CHIP_TYPE, ADV_CHIP_ASC38C1600); in AdvInitAsc38C1600Driver()
5474 scsi_cfg1 = AdvReadWordRegister(iop_base, IOPW_SCSI_CFG1); in AdvInitAsc38C1600Driver()
5475 AdvWriteWordRegister(iop_base, IOPW_SCSI_CFG1, in AdvInitAsc38C1600Driver()
5485 AdvReadWordLram(iop_base, ASC_MC_CONTROL_FLAG, word); in AdvInitAsc38C1600Driver()
5487 AdvWriteWordLram(iop_base, ASC_MC_CONTROL_FLAG, word); in AdvInitAsc38C1600Driver()
5497 AdvReadWordLram(iop_base, ASC_MC_CONTROL_FLAG, word); in AdvInitAsc38C1600Driver()
5499 AdvWriteWordLram(iop_base, ASC_MC_CONTROL_FLAG, word); in AdvInitAsc38C1600Driver()
5506 AdvWriteByteRegister(iop_base, IOPB_DMA_CFG0, in AdvInitAsc38C1600Driver()
5522 AdvWriteWordLram(iop_base, ASC_MC_WDTR_ABLE, in AdvInitAsc38C1600Driver()
5524 AdvWriteWordLram(iop_base, ASC_MC_SDTR_ABLE, in AdvInitAsc38C1600Driver()
5537 AdvWriteWordLram(iop_base, ASC_MC_DISC_ENABLE, in AdvInitAsc38C1600Driver()
5539 AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED1, asc_dvc->sdtr_speed1); in AdvInitAsc38C1600Driver()
5540 AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED2, asc_dvc->sdtr_speed2); in AdvInitAsc38C1600Driver()
5541 AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED3, asc_dvc->sdtr_speed3); in AdvInitAsc38C1600Driver()
5542 AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED4, asc_dvc->sdtr_speed4); in AdvInitAsc38C1600Driver()
5550 AdvWriteWordLram(iop_base, ASC_MC_DEFAULT_SCSI_CFG0, in AdvInitAsc38C1600Driver()
5563 scsi_cfg1 = AdvReadWordRegister(iop_base, IOPW_SCSI_CFG1); in AdvInitAsc38C1600Driver()
5570 if ((AdvReadWordRegister(iop_base, IOPW_SCSI_CTRL) & 0x3F07) == 0x3F07) { in AdvInitAsc38C1600Driver()
5651 AdvWriteWordLram(iop_base, ASC_MC_DEFAULT_SCSI_CFG1, scsi_cfg1); in AdvInitAsc38C1600Driver()
5672 AdvWriteWordLram(iop_base, ASC_MC_DEFAULT_MEM_CFG, in AdvInitAsc38C1600Driver()
5681 AdvWriteWordLram(iop_base, ASC_MC_DEFAULT_SEL_MASK, in AdvInitAsc38C1600Driver()
5700 AdvWriteDWordLramNoSwap(iop_base, ASC_MC_ICQ, asc_dvc->icq_sp->carr_pa); in AdvInitAsc38C1600Driver()
5701 AdvWriteDWordRegister(iop_base, IOPDW_COMMA, in AdvInitAsc38C1600Driver()
5716 AdvWriteDWordLramNoSwap(iop_base, ASC_MC_IRQ, asc_dvc->irq_sp->carr_pa); in AdvInitAsc38C1600Driver()
5719 AdvWriteByteRegister(iop_base, IOPB_INTR_ENABLES, in AdvInitAsc38C1600Driver()
5722 AdvReadWordLram(iop_base, ASC_MC_CODE_BEGIN_ADDR, word); in AdvInitAsc38C1600Driver()
5723 AdvWriteWordRegister(iop_base, IOPW_PC, word); in AdvInitAsc38C1600Driver()
5726 AdvWriteWordRegister(iop_base, IOPW_RISC_CSR, ADV_RISC_CSR_RUN); in AdvInitAsc38C1600Driver()
5743 AdvWriteWordLram(iop_base, ASC_MC_WDTR_ABLE, wdtr_able); in AdvInitAsc38C1600Driver()
5744 AdvWriteWordLram(iop_base, ASC_MC_SDTR_ABLE, sdtr_able); in AdvInitAsc38C1600Driver()
5745 AdvWriteWordLram(iop_base, ASC_MC_PPR_ABLE, ppr_able); in AdvInitAsc38C1600Driver()
5746 AdvWriteWordLram(iop_base, ASC_MC_TAGQNG_ABLE, in AdvInitAsc38C1600Driver()
5749 AdvWriteByteLram(iop_base, in AdvInitAsc38C1600Driver()
5776 AdvPortAddr iop_base; in AdvResetChipAndSB() local
5779 iop_base = asc_dvc->iop_base; in AdvResetChipAndSB()
5784 AdvReadWordLram(iop_base, ASC_MC_WDTR_ABLE, wdtr_able); in AdvResetChipAndSB()
5785 AdvReadWordLram(iop_base, ASC_MC_SDTR_ABLE, sdtr_able); in AdvResetChipAndSB()
5787 AdvReadWordLram(iop_base, ASC_MC_PPR_ABLE, ppr_able); in AdvResetChipAndSB()
5789 AdvReadWordLram(iop_base, ASC_MC_TAGQNG_ABLE, tagqng_able); in AdvResetChipAndSB()
5791 AdvReadByteLram(iop_base, ASC_MC_NUMBER_OF_MAX_CMD + tid, in AdvResetChipAndSB()
5801 AdvReadWordLram(iop_base, ASC_MC_BIOS_SIGNATURE, bios_sig); in AdvResetChipAndSB()
5802 AdvWriteWordLram(iop_base, ASC_MC_BIOS_SIGNATURE, 0); in AdvResetChipAndSB()
5807 AdvWriteWordRegister(iop_base, IOPW_RISC_CSR, ADV_RISC_CSR_STOP); in AdvResetChipAndSB()
5808 AdvWriteWordRegister(iop_base, IOPW_CTRL_REG, ADV_CTRL_REG_CMD_RESET); in AdvResetChipAndSB()
5810 AdvWriteWordRegister(iop_base, IOPW_CTRL_REG, in AdvResetChipAndSB()
5836 AdvWriteWordLram(iop_base, ASC_MC_BIOS_SIGNATURE, bios_sig); in AdvResetChipAndSB()
5841 AdvWriteWordLram(iop_base, ASC_MC_WDTR_ABLE, wdtr_able); in AdvResetChipAndSB()
5842 AdvWriteWordLram(iop_base, ASC_MC_SDTR_ABLE, sdtr_able); in AdvResetChipAndSB()
5844 AdvWriteWordLram(iop_base, ASC_MC_PPR_ABLE, ppr_able); in AdvResetChipAndSB()
5846 AdvWriteWordLram(iop_base, ASC_MC_TAGQNG_ABLE, tagqng_able); in AdvResetChipAndSB()
5848 AdvWriteByteLram(iop_base, ASC_MC_NUMBER_OF_MAX_CMD + tid, in AdvResetChipAndSB()
6048 AdvPortAddr iop_base; in AdvISR() local
6055 iop_base = asc_dvc->iop_base; in AdvISR()
6058 int_stat = AdvReadByteRegister(iop_base, IOPB_INTR_STATUS_REG); in AdvISR()
6073 AdvReadByteLram(iop_base, ASC_MC_INTRB_CODE, intrb_code); in AdvISR()
6079 AdvWriteByteRegister(iop_base, IOPB_TICKLE, in AdvISR()
6082 AdvWriteByteRegister(iop_base, in AdvISR()
6161 AscWriteLramWord(asc_dvc->iop_base, ASCV_ASCDVC_ERR_CODE_W, in AscSetLibErrorCode()
6167 static void AscAckInterrupt(PortAddr iop_base) in AscAckInterrupt() argument
6175 risc_flag = AscReadLramByte(iop_base, ASCV_RISC_FLAG_B); in AscAckInterrupt()
6181 AscReadLramByte(iop_base, in AscAckInterrupt()
6183 AscWriteLramByte(iop_base, ASCV_HOST_FLAG_B, in AscAckInterrupt()
6185 AscSetChipStatus(iop_base, CIW_INT_ACK); in AscAckInterrupt()
6187 while (AscGetChipStatus(iop_base) & CSW_INT_PENDING) { in AscAckInterrupt()
6188 AscSetChipStatus(iop_base, CIW_INT_ACK); in AscAckInterrupt()
6193 AscWriteLramByte(iop_base, ASCV_HOST_FLAG_B, host_flag); in AscAckInterrupt()
6221 PortAddr iop_base = asc_dvc->iop_base; in AscMsgOutSDTR() local
6233 AscMemWordCopyPtrToLram(iop_base, ASCV_MSGOUT_BEG, in AscMsgOutSDTR()
6239 AscMemWordCopyPtrToLram(iop_base, ASCV_MSGOUT_BEG, in AscMsgOutSDTR()
6259 static bool AscSetChipSynRegAtID(PortAddr iop_base, uchar id, uchar sdtr_data) in AscSetChipSynRegAtID() argument
6265 AscSetBank(iop_base, 1); in AscSetChipSynRegAtID()
6266 org_id = AscReadChipDvcID(iop_base); in AscSetChipSynRegAtID()
6272 AscWriteChipDvcID(iop_base, id); in AscSetChipSynRegAtID()
6273 if (AscReadChipDvcID(iop_base) == (0x01 << id)) { in AscSetChipSynRegAtID()
6274 AscSetBank(iop_base, 0); in AscSetChipSynRegAtID()
6275 AscSetChipSyn(iop_base, sdtr_data); in AscSetChipSynRegAtID()
6276 if (AscGetChipSyn(iop_base) != sdtr_data) { in AscSetChipSynRegAtID()
6282 AscSetBank(iop_base, 1); in AscSetChipSynRegAtID()
6283 AscWriteChipDvcID(iop_base, org_id); in AscSetChipSynRegAtID()
6284 AscSetBank(iop_base, 0); in AscSetChipSynRegAtID()
6288 static void AscSetChipSDTR(PortAddr iop_base, uchar sdtr_data, uchar tid_no) in AscSetChipSDTR() argument
6290 AscSetChipSynRegAtID(iop_base, tid_no, sdtr_data); in AscSetChipSDTR()
6291 AscPutMCodeSDTRDoneAtID(iop_base, tid_no, sdtr_data); in AscSetChipSDTR()
6303 PortAddr iop_base; in AscIsrChipHalted() local
6318 iop_base = asc_dvc->iop_base; in AscIsrChipHalted()
6319 int_halt_code = AscReadLramWord(iop_base, ASCV_HALTCODE_W); in AscIsrChipHalted()
6321 halt_qp = AscReadLramByte(iop_base, ASCV_CURCDB_B); in AscIsrChipHalted()
6323 target_ix = AscReadLramByte(iop_base, in AscIsrChipHalted()
6326 q_cntl = AscReadLramByte(iop_base, in AscIsrChipHalted()
6337 AscSetChipSDTR(iop_base, 0, tid_no); in AscIsrChipHalted()
6340 AscWriteLramWord(iop_base, ASCV_HALTCODE_W, 0); in AscIsrChipHalted()
6344 AscSetChipSDTR(iop_base, asyn_sdtr, tid_no); in AscIsrChipHalted()
6347 AscWriteLramWord(iop_base, ASCV_HALTCODE_W, 0); in AscIsrChipHalted()
6350 AscMemWordCopyPtrFromLram(iop_base, in AscIsrChipHalted()
6383 AscSetChipSDTR(iop_base, asyn_sdtr, in AscIsrChipHalted()
6393 AscSetChipSDTR(iop_base, asyn_sdtr, tid_no); in AscIsrChipHalted()
6406 AscSetChipSDTR(iop_base, sdtr_data, in AscIsrChipHalted()
6421 AscSetChipSDTR(iop_base, sdtr_data, in AscIsrChipHalted()
6429 AscWriteLramByte(iop_base, in AscIsrChipHalted()
6433 AscWriteLramWord(iop_base, ASCV_HALTCODE_W, 0); in AscIsrChipHalted()
6440 AscMemWordCopyPtrToLram(iop_base, in AscIsrChipHalted()
6445 AscWriteLramByte(iop_base, in AscIsrChipHalted()
6449 AscWriteLramWord(iop_base, ASCV_HALTCODE_W, 0); in AscIsrChipHalted()
6454 AscMemWordCopyPtrToLram(iop_base, in AscIsrChipHalted()
6459 AscWriteLramByte(iop_base, in AscIsrChipHalted()
6463 AscWriteLramWord(iop_base, ASCV_HALTCODE_W, 0); in AscIsrChipHalted()
6474 sdtr_data = AscGetMCodeInitSDTRAtID(iop_base, tid_no); in AscIsrChipHalted()
6486 AscWriteLramByte(iop_base, in AscIsrChipHalted()
6490 tag_code = AscReadLramByte(iop_base, in AscIsrChipHalted()
6502 AscWriteLramByte(iop_base, in AscIsrChipHalted()
6507 q_status = AscReadLramByte(iop_base, in AscIsrChipHalted()
6511 AscWriteLramByte(iop_base, in AscIsrChipHalted()
6516 scsi_busy = AscReadLramByte(iop_base, (ushort)ASCV_SCSIBUSY_B); in AscIsrChipHalted()
6518 AscWriteLramByte(iop_base, (ushort)ASCV_SCSIBUSY_B, scsi_busy); in AscIsrChipHalted()
6520 AscWriteLramWord(iop_base, ASCV_HALTCODE_W, 0); in AscIsrChipHalted()
6524 AscMemWordCopyPtrFromLram(iop_base, in AscIsrChipHalted()
6535 AscSetChipSDTR(iop_base, asyn_sdtr, tid_no); in AscIsrChipHalted()
6539 AscWriteLramByte(iop_base, in AscIsrChipHalted()
6542 AscWriteLramWord(iop_base, ASCV_HALTCODE_W, 0); in AscIsrChipHalted()
6546 scsi_status = AscReadLramByte(iop_base, in AscIsrChipHalted()
6551 AscReadLramByte(iop_base, in AscIsrChipHalted()
6556 scsi_busy = AscReadLramByte(iop_base, in AscIsrChipHalted()
6559 AscWriteLramByte(iop_base, in AscIsrChipHalted()
6569 AscWriteLramByte(iop_base, in AscIsrChipHalted()
6587 AscWriteLramWord(iop_base, ASCV_HALTCODE_W, 0); in AscIsrChipHalted()
6604 DvcGetQinfo(PortAddr iop_base, ushort s_addr, uchar *inbuf, int words) in DvcGetQinfo() argument
6609 AscSetChipLramAddr(iop_base, s_addr); in DvcGetQinfo()
6614 word = inpw(iop_base + IOP_RAM_DATA); in DvcGetQinfo()
6622 _AscCopyLramScsiDoneQ(PortAddr iop_base, in _AscCopyLramScsiDoneQ() argument
6629 DvcGetQinfo(iop_base, in _AscCopyLramScsiDoneQ()
6634 _val = AscReadLramWord(iop_base, in _AscCopyLramScsiDoneQ()
6638 _val = AscReadLramWord(iop_base, in _AscCopyLramScsiDoneQ()
6642 _val = AscReadLramWord(iop_base, in _AscCopyLramScsiDoneQ()
6651 scsiq->remain_bytes = (((u32)AscReadLramWord(iop_base, in _AscCopyLramScsiDoneQ()
6659 scsiq->remain_bytes += AscReadLramWord(iop_base, in _AscCopyLramScsiDoneQ()
6775 PortAddr iop_base; in AscIsrQDone() local
6783 iop_base = asc_dvc->iop_base; in AscIsrQDone()
6786 done_q_tail = (uchar)AscGetVarDoneQTail(iop_base); in AscIsrQDone()
6788 next_qp = AscReadLramByte(iop_base, in AscIsrQDone()
6791 AscPutVarDoneQTail(iop_base, next_qp); in AscIsrQDone()
6793 sg_queue_cnt = _AscCopyLramScsiDoneQ(iop_base, q_addr, scsiq, in AscIsrQDone()
6795 AscWriteLramByte(iop_base, in AscIsrQDone()
6807 sg_list_qp = AscReadLramByte(iop_base, in AscIsrQDone()
6820 AscWriteLramByte(iop_base, in AscIsrQDone()
6826 AscPutVarDoneQTail(iop_base, sg_list_qp); in AscIsrQDone()
6829 cur_target_qng = AscReadLramByte(iop_base, in AscIsrQDone()
6836 scsi_busy = AscReadLramByte(iop_base, (ushort) in AscIsrQDone()
6839 AscWriteLramByte(iop_base, in AscIsrQDone()
6885 AscStopChip(iop_base); in AscIsrQDone()
6886 AscSetChipControl(iop_base, in AscIsrQDone()
6890 AscSetChipControl(iop_base, CC_HALT); in AscIsrQDone()
6891 AscSetChipStatus(iop_base, in AscIsrQDone()
6893 AscSetChipStatus(iop_base, 0); in AscIsrQDone()
6894 AscSetChipControl(iop_base, 0); in AscIsrQDone()
6900 if ((AscReadLramByte(iop_base, in AscIsrQDone()
6927 PortAddr iop_base; in AscISR() local
6935 iop_base = asc_dvc->iop_base; in AscISR()
6938 if (AscIsIntPending(iop_base) == 0) in AscISR()
6953 ctrl_reg = AscGetChipControl(iop_base); in AscISR()
6956 chipstat = AscGetChipStatus(iop_base); in AscISR()
6963 while ((AscGetChipStatus(iop_base) & in AscISR()
6967 AscSetChipControl(iop_base, (CC_CHIP_RESET | CC_HALT)); in AscISR()
6968 AscSetChipControl(iop_base, CC_HALT); in AscISR()
6969 AscSetChipStatus(iop_base, CIW_CLR_SCSI_RESET_INT); in AscISR()
6970 AscSetChipStatus(iop_base, 0); in AscISR()
6971 chipstat = AscGetChipStatus(iop_base); in AscISR()
6974 saved_ram_addr = AscGetChipLramAddr(iop_base); in AscISR()
6975 host_flag = AscReadLramByte(iop_base, in AscISR()
6978 AscWriteLramByte(iop_base, ASCV_HOST_FLAG_B, in AscISR()
6981 AscAckInterrupt(iop_base); in AscISR()
7003 AscWriteLramByte(iop_base, ASCV_HOST_FLAG_B, host_flag); in AscISR()
7004 AscSetChipLramAddr(iop_base, saved_ram_addr); in AscISR()
7005 AscSetChipControl(iop_base, saved_ctrl_reg); in AscISR()
7164 static bool AscHostReqRiscHalt(PortAddr iop_base) in AscHostReqRiscHalt() argument
7170 if (AscIsChipHalted(iop_base)) in AscHostReqRiscHalt()
7172 saved_stop_code = AscReadLramByte(iop_base, ASCV_STOP_CODE_B); in AscHostReqRiscHalt()
7173 AscWriteLramByte(iop_base, ASCV_STOP_CODE_B, in AscHostReqRiscHalt()
7176 if (AscIsChipHalted(iop_base)) { in AscHostReqRiscHalt()
7182 AscWriteLramByte(iop_base, ASCV_STOP_CODE_B, saved_stop_code); in AscHostReqRiscHalt()
7187 AscSetRunChipSynRegAtID(PortAddr iop_base, uchar tid_no, uchar sdtr_data) in AscSetRunChipSynRegAtID() argument
7191 if (AscHostReqRiscHalt(iop_base)) { in AscSetRunChipSynRegAtID()
7192 sta = AscSetChipSynRegAtID(iop_base, tid_no, sdtr_data); in AscSetRunChipSynRegAtID()
7193 AscStartChip(iop_base); in AscSetRunChipSynRegAtID()
7217 AscSetRunChipSynRegAtID(asc_dvc->iop_base, sdev->id, in AscAsyncFix()
7257 AscWriteLramByte(asc_dvc->iop_base, ASCV_DISC_ENABLE_B, in advansys_narrow_slave_configure()
7259 AscWriteLramByte(asc_dvc->iop_base, ASCV_USE_TAGGED_QNG_B, in advansys_narrow_slave_configure()
7261 AscWriteLramByte(asc_dvc->iop_base, ASCV_CAN_TAGGED_QNG_B, in advansys_narrow_slave_configure()
7266 AscWriteLramByte(asc_dvc->iop_base, in advansys_narrow_slave_configure()
7280 advansys_wide_enable_wdtr(AdvPortAddr iop_base, unsigned short tidmask) in advansys_wide_enable_wdtr() argument
7283 AdvReadWordLram(iop_base, ASC_MC_WDTR_ABLE, cfg_word); in advansys_wide_enable_wdtr()
7288 AdvWriteWordLram(iop_base, ASC_MC_WDTR_ABLE, cfg_word); in advansys_wide_enable_wdtr()
7296 AdvReadWordLram(iop_base, ASC_MC_SDTR_DONE, cfg_word); in advansys_wide_enable_wdtr()
7298 AdvWriteWordLram(iop_base, ASC_MC_SDTR_DONE, cfg_word); in advansys_wide_enable_wdtr()
7299 AdvReadWordLram(iop_base, ASC_MC_WDTR_DONE, cfg_word); in advansys_wide_enable_wdtr()
7301 AdvWriteWordLram(iop_base, ASC_MC_WDTR_DONE, cfg_word); in advansys_wide_enable_wdtr()
7312 advansys_wide_enable_sdtr(AdvPortAddr iop_base, unsigned short tidmask) in advansys_wide_enable_sdtr() argument
7315 AdvReadWordLram(iop_base, ASC_MC_SDTR_ABLE, cfg_word); in advansys_wide_enable_sdtr()
7320 AdvWriteWordLram(iop_base, ASC_MC_SDTR_ABLE, cfg_word); in advansys_wide_enable_sdtr()
7326 AdvReadWordLram(iop_base, ASC_MC_SDTR_DONE, cfg_word); in advansys_wide_enable_sdtr()
7328 AdvWriteWordLram(iop_base, ASC_MC_SDTR_DONE, cfg_word); in advansys_wide_enable_sdtr()
7340 AdvPortAddr iop_base, unsigned short tidmask) in advansys_wide_enable_ppr() argument
7342 AdvReadWordLram(iop_base, ASC_MC_PPR_ABLE, adv_dvc->ppr_able); in advansys_wide_enable_ppr()
7344 AdvWriteWordLram(iop_base, ASC_MC_PPR_ABLE, adv_dvc->ppr_able); in advansys_wide_enable_ppr()
7350 AdvPortAddr iop_base = adv_dvc->iop_base; in advansys_wide_slave_configure() local
7361 advansys_wide_enable_wdtr(iop_base, tidmask); in advansys_wide_slave_configure()
7363 advansys_wide_enable_sdtr(iop_base, tidmask); in advansys_wide_slave_configure()
7365 advansys_wide_enable_ppr(adv_dvc, iop_base, tidmask); in advansys_wide_slave_configure()
7376 AdvReadWordLram(iop_base, ASC_MC_TAGQNG_ABLE, cfg_word); in advansys_wide_slave_configure()
7378 AdvWriteWordLram(iop_base, ASC_MC_TAGQNG_ABLE, in advansys_wide_slave_configure()
7380 AdvWriteByteLram(iop_base, in advansys_wide_slave_configure()
7816 static uchar AscAllocFreeQueue(PortAddr iop_base, uchar free_q_head) in AscAllocFreeQueue() argument
7823 q_status = (uchar)AscReadLramByte(iop_base, in AscAllocFreeQueue()
7826 next_qp = AscReadLramByte(iop_base, (ushort)(q_addr + ASC_SCSIQ_B_FWD)); in AscAllocFreeQueue()
7833 AscAllocMultipleFreeQueue(PortAddr iop_base, uchar free_q_head, uchar n_free_q) in AscAllocMultipleFreeQueue() argument
7838 free_q_head = AscAllocFreeQueue(iop_base, free_q_head); in AscAllocMultipleFreeQueue()
7856 DvcPutScsiQ(PortAddr iop_base, ushort s_addr, uchar *outbuf, int words) in DvcPutScsiQ() argument
7861 AscSetChipLramAddr(iop_base, s_addr); in DvcPutScsiQ()
7866 outpw(iop_base + IOP_RAM_DATA, in DvcPutScsiQ()
7878 PortAddr iop_base; in AscPutReadyQueue() local
7880 iop_base = asc_dvc->iop_base; in AscPutReadyQueue()
7884 sdtr_data = AscGetMCodeInitSDTRAtID(iop_base, tid_no); in AscPutReadyQueue()
7898 AscMemWordCopyPtrToLram(iop_base, in AscPutReadyQueue()
7902 DvcPutScsiQ(iop_base, in AscPutReadyQueue()
7906 AscWriteLramWord(iop_base, in AscPutReadyQueue()
7922 PortAddr iop_base; in AscPutReadySgListQueue() local
7929 iop_base = asc_dvc->iop_base; in AscPutReadySgListQueue()
7980 next_qp = AscReadLramByte(iop_base, in AscPutReadySgListQueue()
7985 AscMemWordCopyPtrToLram(iop_base, in AscPutReadySgListQueue()
7989 AscMemDWordCopyPtrToLram(iop_base, in AscPutReadySgListQueue()
8009 PortAddr iop_base; in AscSendScsiQueue() local
8016 iop_base = asc_dvc->iop_base; in AscSendScsiQueue()
8020 free_q_head = (uchar)AscGetVarFreeQHead(iop_base); in AscSendScsiQueue()
8022 next_qp = AscAllocMultipleFreeQueue(iop_base, free_q_head, in AscSendScsiQueue()
8032 next_qp = AscAllocFreeQueue(iop_base, free_q_head); in AscSendScsiQueue()
8039 AscPutVarFreeQHead(iop_base, next_qp); in AscSendScsiQueue()
8068 PortAddr iop_base; in AscExeScsiQueue() local
8085 iop_base = asc_dvc->iop_base; in AscExeScsiQueue()
8100 sdtr_data = AscGetMCodeInitSDTRAtID(iop_base, tid_no); in AscExeScsiQueue()
8296 AdvPortAddr iop_base; in AdvExeScsiQueue() local
8309 iop_base = asc_dvc->iop_base; in AdvExeScsiQueue()
8354 AdvWriteByteRegister(iop_base, IOPB_TICKLE, ADV_TICKLE_A); in AdvExeScsiQueue()
8361 AdvWriteByteRegister(iop_base, IOPB_TICKLE, in AdvExeScsiQueue()
8369 AdvWriteDWordRegister(iop_base, IOPDW_COMMA, in AdvExeScsiQueue()
8491 static ushort AscGetEisaChipCfg(PortAddr iop_base) in DEF_SCSI_QCMD()
8493 PortAddr eisa_cfg_iop = (PortAddr) ASC_GET_EISA_SLOT(iop_base) | in DEF_SCSI_QCMD()
8502 static unsigned short AscGetChipBiosAddress(PortAddr iop_base, in AscGetChipBiosAddress() argument
8517 cfg_lsw = AscGetEisaChipCfg(iop_base); in AscGetChipBiosAddress()
8523 cfg_lsw = AscGetChipCfgLsw(iop_base); in AscGetChipBiosAddress()
8528 static uchar AscSetChipScsiID(PortAddr iop_base, uchar new_host_id) in AscSetChipScsiID() argument
8532 if (AscGetChipScsiID(iop_base) == new_host_id) { in AscSetChipScsiID()
8535 cfg_lsw = AscGetChipCfgLsw(iop_base); in AscSetChipScsiID()
8538 AscSetChipCfgLsw(iop_base, cfg_lsw); in AscSetChipScsiID()
8539 return (AscGetChipScsiID(iop_base)); in AscSetChipScsiID()
8542 static unsigned char AscGetChipScsiCtrl(PortAddr iop_base) in AscGetChipScsiCtrl() argument
8546 AscSetBank(iop_base, 1); in AscGetChipScsiCtrl()
8547 sc = inp(iop_base + IOP_REG_SC); in AscGetChipScsiCtrl()
8548 AscSetBank(iop_base, 0); in AscGetChipScsiCtrl()
8552 static unsigned char AscGetChipVersion(PortAddr iop_base, in AscGetChipVersion() argument
8558 eisa_iop = (PortAddr) ASC_GET_EISA_SLOT(iop_base) | in AscGetChipVersion()
8563 return AscGetChipVerNo(iop_base); in AscGetChipVersion()
8566 static int AscStopQueueExe(PortAddr iop_base) in AscStopQueueExe() argument
8570 if (AscReadLramByte(iop_base, ASCV_STOP_CODE_B) == 0) { in AscStopQueueExe()
8571 AscWriteLramByte(iop_base, ASCV_STOP_CODE_B, in AscStopQueueExe()
8574 if (AscReadLramByte(iop_base, ASCV_STOP_CODE_B) & in AscStopQueueExe()
8594 PortAddr iop_base; in AscInitAscDvcVar() local
8597 iop_base = asc_dvc->iop_base; in AscInitAscDvcVar()
8603 AscSetChipControl(iop_base, CC_HALT); in AscInitAscDvcVar()
8604 AscSetChipStatus(iop_base, 0); in AscInitAscDvcVar()
8632 chip_version = AscGetChipVersion(iop_base, asc_dvc->bus_type); in AscInitAscDvcVar()
8642 AscSetExtraControl(iop_base, in AscInitAscDvcVar()
8645 AscSetExtraControl(iop_base, in AscInitAscDvcVar()
8651 AscSetExtraControl(iop_base, in AscInitAscDvcVar()
8664 static int AscWriteEEPCmdReg(PortAddr iop_base, uchar cmd_reg) in AscWriteEEPCmdReg() argument
8670 AscSetChipEEPCmd(iop_base, cmd_reg); in AscWriteEEPCmdReg()
8672 read_back = AscGetChipEEPCmd(iop_base); in AscWriteEEPCmdReg()
8684 static ushort AscReadEEPWord(PortAddr iop_base, uchar addr) in AscReadEEPWord() argument
8689 AscWriteEEPCmdReg(iop_base, ASC_EEP_CMD_WRITE_DISABLE); in AscReadEEPWord()
8692 AscWriteEEPCmdReg(iop_base, cmd_reg); in AscReadEEPWord()
8694 read_wval = AscGetChipEEPData(iop_base); in AscReadEEPWord()
8699 static ushort AscGetEEPConfig(PortAddr iop_base, ASCEEP_CONFIG *cfg_buf, in AscGetEEPConfig() argument
8714 *wbuf = AscReadEEPWord(iop_base, (uchar)s_addr); in AscGetEEPConfig()
8725 wval = AscReadEEPWord(iop_base, (uchar)s_addr); in AscGetEEPConfig()
8742 *wbuf = AscReadEEPWord(iop_base, (uchar)s_addr); in AscGetEEPConfig()
8748 PortAddr iop_base; in AscTestExternalLram() local
8753 iop_base = asc_dvc->iop_base; in AscTestExternalLram()
8756 saved_word = AscReadLramWord(iop_base, q_addr); in AscTestExternalLram()
8757 AscSetChipLramAddr(iop_base, q_addr); in AscTestExternalLram()
8758 AscSetChipLramData(iop_base, 0x55AA); in AscTestExternalLram()
8760 AscSetChipLramAddr(iop_base, q_addr); in AscTestExternalLram()
8761 if (AscGetChipLramData(iop_base) == 0x55AA) { in AscTestExternalLram()
8763 AscWriteLramWord(iop_base, q_addr, saved_word); in AscTestExternalLram()
8773 static int AscWriteEEPDataReg(PortAddr iop_base, ushort data_reg) in AscWriteEEPDataReg() argument
8780 AscSetChipEEPData(iop_base, data_reg); in AscWriteEEPDataReg()
8782 read_back = AscGetChipEEPData(iop_base); in AscWriteEEPDataReg()
8792 static ushort AscWriteEEPWord(PortAddr iop_base, uchar addr, ushort word_val) in AscWriteEEPWord() argument
8796 read_wval = AscReadEEPWord(iop_base, addr); in AscWriteEEPWord()
8798 AscWriteEEPCmdReg(iop_base, ASC_EEP_CMD_WRITE_ABLE); in AscWriteEEPWord()
8800 AscWriteEEPDataReg(iop_base, word_val); in AscWriteEEPWord()
8802 AscWriteEEPCmdReg(iop_base, in AscWriteEEPWord()
8805 AscWriteEEPCmdReg(iop_base, ASC_EEP_CMD_WRITE_DISABLE); in AscWriteEEPWord()
8807 return (AscReadEEPWord(iop_base, addr)); in AscWriteEEPWord()
8812 static int AscSetEEPConfigOnce(PortAddr iop_base, ASCEEP_CONFIG *cfg_buf, in AscSetEEPConfigOnce() argument
8830 if (*wbuf != AscWriteEEPWord(iop_base, (uchar)s_addr, *wbuf)) { in AscSetEEPConfigOnce()
8849 AscWriteEEPWord(iop_base, (uchar)s_addr, word)) { in AscSetEEPConfigOnce()
8855 AscWriteEEPWord(iop_base, (uchar)s_addr, *wbuf)) { in AscSetEEPConfigOnce()
8863 if (sum != AscWriteEEPWord(iop_base, (uchar)s_addr, sum)) { in AscSetEEPConfigOnce()
8873 if (*wbuf != AscReadEEPWord(iop_base, (uchar)s_addr)) { in AscSetEEPConfigOnce()
8892 (iop_base, (uchar)s_addr)); in AscSetEEPConfigOnce()
8895 word = AscReadEEPWord(iop_base, (uchar)s_addr); in AscSetEEPConfigOnce()
8902 if (AscReadEEPWord(iop_base, (uchar)s_addr) != sum) { in AscSetEEPConfigOnce()
8908 static int AscSetEEPConfig(PortAddr iop_base, ASCEEP_CONFIG *cfg_buf, in AscSetEEPConfig() argument
8916 if ((n_error = AscSetEEPConfigOnce(iop_base, cfg_buf, in AscSetEEPConfig()
8931 PortAddr iop_base; in AscInitFromEEP() local
8938 iop_base = asc_dvc->iop_base; in AscInitFromEEP()
8940 AscWriteLramWord(iop_base, ASCV_HALTCODE_W, 0x00FE); in AscInitFromEEP()
8941 AscStopQueueExe(iop_base); in AscInitFromEEP()
8942 if ((AscStopChip(iop_base)) || in AscInitFromEEP()
8943 (AscGetChipScsiCtrl(iop_base) != 0)) { in AscInitFromEEP()
8948 if (!AscIsChipHalted(iop_base)) { in AscInitFromEEP()
8952 AscSetPCAddr(iop_base, ASC_MCODE_START_ADDR); in AscInitFromEEP()
8953 if (AscGetPCAddr(iop_base) != ASC_MCODE_START_ADDR) { in AscInitFromEEP()
8958 cfg_msw = AscGetChipCfgMsw(iop_base); in AscInitFromEEP()
8959 cfg_lsw = AscGetChipCfgLsw(iop_base); in AscInitFromEEP()
8963 AscSetChipCfgMsw(iop_base, cfg_msw); in AscInitFromEEP()
8965 chksum = AscGetEEPConfig(iop_base, eep_config, asc_dvc->bus_type); in AscInitFromEEP()
8970 if (AscGetChipStatus(iop_base) & CSW_AUTO_CONFIG) { in AscInitFromEEP()
8976 AscGetChipCfgLsw(iop_base); in AscInitFromEEP()
8981 AscGetChipCfgMsw(iop_base); in AscInitFromEEP()
8989 if (AscGetChipVersion(iop_base, asc_dvc->bus_type) == in AscInitFromEEP()
9037 AscSetChipCfgMsw(iop_base, cfg_msw); in AscInitFromEEP()
9076 eep_config->cfg_msw = AscGetChipCfgMsw(iop_base); in AscInitFromEEP()
9078 if ((i = AscSetEEPConfig(iop_base, eep_config, in AscInitFromEEP()
9101 if (AscFindSignature(asc_dvc->iop_base)) { in AscInitGetConfig()
9149 PortAddr iop_base = asc_dvc->iop_base; in AscInitSetConfig() local
9156 if (!AscFindSignature(asc_dvc->iop_base)) { in AscInitSetConfig()
9161 cfg_msw = AscGetChipCfgMsw(iop_base); in AscInitSetConfig()
9165 AscSetChipCfgMsw(iop_base, cfg_msw); in AscInitSetConfig()
9172 if (AscGetChipStatus(iop_base) & CSW_AUTO_CONFIG) { in AscInitSetConfig()
9178 AscSetChipCfgMsw(iop_base, cfg_msw); in AscInitSetConfig()
9190 if (AscSetChipScsiID(iop_base, asc_dvc->cfg->chip_scsi_id) != in AscInitSetConfig()
9587 static void AdvWaitEEPCmd(AdvPortAddr iop_base) in AdvWaitEEPCmd() argument
9592 if (AdvReadWordRegister(iop_base, IOPW_EE_CMD) & in AdvWaitEEPCmd()
9598 if ((AdvReadWordRegister(iop_base, IOPW_EE_CMD) & ASC_EEP_CMD_DONE) == in AdvWaitEEPCmd()
9606 static ushort AdvReadEEPWord(AdvPortAddr iop_base, int eep_word_addr) in AdvReadEEPWord() argument
9608 AdvWriteWordRegister(iop_base, IOPW_EE_CMD, in AdvReadEEPWord()
9610 AdvWaitEEPCmd(iop_base); in AdvReadEEPWord()
9611 return AdvReadWordRegister(iop_base, IOPW_EE_DATA); in AdvReadEEPWord()
9617 static void AdvSet3550EEPConfig(AdvPortAddr iop_base, in AdvSet3550EEPConfig() argument
9628 AdvWriteWordRegister(iop_base, IOPW_EE_CMD, ASC_EEP_CMD_WRITE_ABLE); in AdvSet3550EEPConfig()
9629 AdvWaitEEPCmd(iop_base); in AdvSet3550EEPConfig()
9644 AdvWriteWordRegister(iop_base, IOPW_EE_DATA, word); in AdvSet3550EEPConfig()
9645 AdvWriteWordRegister(iop_base, IOPW_EE_CMD, in AdvSet3550EEPConfig()
9647 AdvWaitEEPCmd(iop_base); in AdvSet3550EEPConfig()
9654 AdvWriteWordRegister(iop_base, IOPW_EE_DATA, chksum); in AdvSet3550EEPConfig()
9655 AdvWriteWordRegister(iop_base, IOPW_EE_CMD, ASC_EEP_CMD_WRITE | addr); in AdvSet3550EEPConfig()
9656 AdvWaitEEPCmd(iop_base); in AdvSet3550EEPConfig()
9672 AdvWriteWordRegister(iop_base, IOPW_EE_DATA, word); in AdvSet3550EEPConfig()
9673 AdvWriteWordRegister(iop_base, IOPW_EE_CMD, in AdvSet3550EEPConfig()
9675 AdvWaitEEPCmd(iop_base); in AdvSet3550EEPConfig()
9677 AdvWriteWordRegister(iop_base, IOPW_EE_CMD, ASC_EEP_CMD_WRITE_DISABLE); in AdvSet3550EEPConfig()
9678 AdvWaitEEPCmd(iop_base); in AdvSet3550EEPConfig()
9684 static void AdvSet38C0800EEPConfig(AdvPortAddr iop_base, in AdvSet38C0800EEPConfig() argument
9695 AdvWriteWordRegister(iop_base, IOPW_EE_CMD, ASC_EEP_CMD_WRITE_ABLE); in AdvSet38C0800EEPConfig()
9696 AdvWaitEEPCmd(iop_base); in AdvSet38C0800EEPConfig()
9711 AdvWriteWordRegister(iop_base, IOPW_EE_DATA, word); in AdvSet38C0800EEPConfig()
9712 AdvWriteWordRegister(iop_base, IOPW_EE_CMD, in AdvSet38C0800EEPConfig()
9714 AdvWaitEEPCmd(iop_base); in AdvSet38C0800EEPConfig()
9721 AdvWriteWordRegister(iop_base, IOPW_EE_DATA, chksum); in AdvSet38C0800EEPConfig()
9722 AdvWriteWordRegister(iop_base, IOPW_EE_CMD, ASC_EEP_CMD_WRITE | addr); in AdvSet38C0800EEPConfig()
9723 AdvWaitEEPCmd(iop_base); in AdvSet38C0800EEPConfig()
9739 AdvWriteWordRegister(iop_base, IOPW_EE_DATA, word); in AdvSet38C0800EEPConfig()
9740 AdvWriteWordRegister(iop_base, IOPW_EE_CMD, in AdvSet38C0800EEPConfig()
9742 AdvWaitEEPCmd(iop_base); in AdvSet38C0800EEPConfig()
9744 AdvWriteWordRegister(iop_base, IOPW_EE_CMD, ASC_EEP_CMD_WRITE_DISABLE); in AdvSet38C0800EEPConfig()
9745 AdvWaitEEPCmd(iop_base); in AdvSet38C0800EEPConfig()
9751 static void AdvSet38C1600EEPConfig(AdvPortAddr iop_base, in AdvSet38C1600EEPConfig() argument
9762 AdvWriteWordRegister(iop_base, IOPW_EE_CMD, ASC_EEP_CMD_WRITE_ABLE); in AdvSet38C1600EEPConfig()
9763 AdvWaitEEPCmd(iop_base); in AdvSet38C1600EEPConfig()
9778 AdvWriteWordRegister(iop_base, IOPW_EE_DATA, word); in AdvSet38C1600EEPConfig()
9779 AdvWriteWordRegister(iop_base, IOPW_EE_CMD, in AdvSet38C1600EEPConfig()
9781 AdvWaitEEPCmd(iop_base); in AdvSet38C1600EEPConfig()
9788 AdvWriteWordRegister(iop_base, IOPW_EE_DATA, chksum); in AdvSet38C1600EEPConfig()
9789 AdvWriteWordRegister(iop_base, IOPW_EE_CMD, ASC_EEP_CMD_WRITE | addr); in AdvSet38C1600EEPConfig()
9790 AdvWaitEEPCmd(iop_base); in AdvSet38C1600EEPConfig()
9806 AdvWriteWordRegister(iop_base, IOPW_EE_DATA, word); in AdvSet38C1600EEPConfig()
9807 AdvWriteWordRegister(iop_base, IOPW_EE_CMD, in AdvSet38C1600EEPConfig()
9809 AdvWaitEEPCmd(iop_base); in AdvSet38C1600EEPConfig()
9811 AdvWriteWordRegister(iop_base, IOPW_EE_CMD, ASC_EEP_CMD_WRITE_DISABLE); in AdvSet38C1600EEPConfig()
9812 AdvWaitEEPCmd(iop_base); in AdvSet38C1600EEPConfig()
9820 static ushort AdvGet3550EEPConfig(AdvPortAddr iop_base, in AdvGet3550EEPConfig() argument
9834 wval = AdvReadEEPWord(iop_base, eep_addr); in AdvGet3550EEPConfig()
9843 *wbuf = AdvReadEEPWord(iop_base, eep_addr); in AdvGet3550EEPConfig()
9850 *wbuf = AdvReadEEPWord(iop_base, eep_addr); in AdvGet3550EEPConfig()
9863 static ushort AdvGet38C0800EEPConfig(AdvPortAddr iop_base, in AdvGet38C0800EEPConfig() argument
9877 wval = AdvReadEEPWord(iop_base, eep_addr); in AdvGet38C0800EEPConfig()
9886 *wbuf = AdvReadEEPWord(iop_base, eep_addr); in AdvGet38C0800EEPConfig()
9893 *wbuf = AdvReadEEPWord(iop_base, eep_addr); in AdvGet38C0800EEPConfig()
9906 static ushort AdvGet38C1600EEPConfig(AdvPortAddr iop_base, in AdvGet38C1600EEPConfig() argument
9920 wval = AdvReadEEPWord(iop_base, eep_addr); in AdvGet38C1600EEPConfig()
9929 *wbuf = AdvReadEEPWord(iop_base, eep_addr); in AdvGet38C1600EEPConfig()
9936 *wbuf = AdvReadEEPWord(iop_base, eep_addr); in AdvGet38C1600EEPConfig()
9958 AdvPortAddr iop_base; in AdvInitFrom3550EEP() local
9962 iop_base = asc_dvc->iop_base; in AdvInitFrom3550EEP()
9971 if (AdvGet3550EEPConfig(iop_base, &eep_config) != eep_config.check_sum) { in AdvInitFrom3550EEP()
9985 AdvReadEEPWord(iop_base, ADV_EEP_DVC_CFG_END - 1); in AdvInitFrom3550EEP()
9988 AdvReadEEPWord(iop_base, ADV_EEP_DVC_CFG_END - 2); in AdvInitFrom3550EEP()
9991 AdvReadEEPWord(iop_base, ADV_EEP_DVC_CFG_END - 3); in AdvInitFrom3550EEP()
9993 AdvSet3550EEPConfig(iop_base, &eep_config); in AdvInitFrom3550EEP()
10108 AdvPortAddr iop_base; in AdvInitFrom38C0800EEP() local
10114 iop_base = asc_dvc->iop_base; in AdvInitFrom38C0800EEP()
10123 if (AdvGet38C0800EEPConfig(iop_base, &eep_config) != in AdvInitFrom38C0800EEP()
10138 AdvReadEEPWord(iop_base, ADV_EEP_DVC_CFG_END - 1); in AdvInitFrom38C0800EEP()
10141 AdvReadEEPWord(iop_base, ADV_EEP_DVC_CFG_END - 2); in AdvInitFrom38C0800EEP()
10144 AdvReadEEPWord(iop_base, ADV_EEP_DVC_CFG_END - 3); in AdvInitFrom38C0800EEP()
10146 AdvSet38C0800EEPConfig(iop_base, &eep_config); in AdvInitFrom38C0800EEP()
10307 AdvPortAddr iop_base; in AdvInitFrom38C1600EEP() local
10313 iop_base = asc_dvc->iop_base; in AdvInitFrom38C1600EEP()
10322 if (AdvGet38C1600EEPConfig(iop_base, &eep_config) != in AdvInitFrom38C1600EEP()
10354 AdvWriteByteRegister(iop_base, IOPB_GPIO_CNTL, 0); in AdvInitFrom38C1600EEP()
10355 ints = AdvReadByteRegister(iop_base, IOPB_GPIO_DATA); in AdvInitFrom38C1600EEP()
10365 AdvReadEEPWord(iop_base, ADV_EEP_DVC_CFG_END - 1); in AdvInitFrom38C1600EEP()
10367 AdvReadEEPWord(iop_base, ADV_EEP_DVC_CFG_END - 2); in AdvInitFrom38C1600EEP()
10369 AdvReadEEPWord(iop_base, ADV_EEP_DVC_CFG_END - 3); in AdvInitFrom38C1600EEP()
10371 AdvSet38C1600EEPConfig(iop_base, &eep_config); in AdvInitFrom38C1600EEP()
10530 AdvPortAddr iop_base = asc_dvc->iop_base; in AdvInitGetConfig() local
10548 AdvGetChipVersion(iop_base, asc_dvc->bus_type); in AdvInitGetConfig()
10551 (ushort)AdvReadByteRegister(iop_base, IOPB_CHIP_ID_1), in AdvInitGetConfig()
10555 (ushort)AdvReadWordRegister(iop_base, IOPW_CHIP_ID_0), in AdvInitGetConfig()
10561 if (AdvFindSignature(iop_base) == 0) { in AdvInitGetConfig()
10578 AdvWriteWordRegister(iop_base, IOPW_CTRL_REG, in AdvInitGetConfig()
10581 AdvWriteWordRegister(iop_base, IOPW_CTRL_REG, in AdvInitGetConfig()
10733 asc_dvc_varp->iop_base = iop; in advansys_board_found()
10760 adv_dvc_varp->iop_base = (AdvPortAddr)boardp->ioremap_addr; in advansys_board_found()
10761 ASC_DBG(1, "iop_base: 0x%p\n", adv_dvc_varp->iop_base); in advansys_board_found()
10978 shost->io_port = asc_dvc_varp->iop_base; in advansys_board_found()
11035 shost->base = AscGetChipBiosAddress(asc_dvc_varp->iop_base, in advansys_board_found()
11042 AdvReadWordLram(adv_dvc_varp->iop_base, in advansys_board_found()
11044 AdvReadWordLram(adv_dvc_varp->iop_base, in advansys_board_found()
11046 AdvReadWordLram(adv_dvc_varp->iop_base, in advansys_board_found()
11048 AdvReadWordLram(adv_dvc_varp->iop_base, in advansys_board_found()
11208 static unsigned int advansys_vlb_irq_no(PortAddr iop_base) in advansys_vlb_irq_no() argument
11210 unsigned short cfg_lsw = AscGetChipCfgLsw(iop_base); in advansys_vlb_irq_no()
11220 PortAddr iop_base = _asc_def_iop_base[id]; in advansys_vlb_probe() local
11224 if (!request_region(iop_base, ASC_IOADR_GAP, DRV_NAME)) { in advansys_vlb_probe()
11225 ASC_DBG(1, "I/O port 0x%x busy\n", iop_base); in advansys_vlb_probe()
11228 ASC_DBG(1, "probing I/O port 0x%x\n", iop_base); in advansys_vlb_probe()
11229 if (!AscFindSignature(iop_base)) in advansys_vlb_probe()
11236 if (AscGetChipVersion(iop_base, ASC_IS_VL) > ASC_CHIP_MAX_VER_VL) in advansys_vlb_probe()
11245 board->irq = advansys_vlb_irq_no(iop_base); in advansys_vlb_probe()
11249 err = advansys_board_found(shost, iop_base, ASC_IS_VL); in advansys_vlb_probe()
11259 release_region(iop_base, ASC_IOADR_GAP); in advansys_vlb_probe()