asc_dvc 1984 drivers/scsi/advansys.c #define AdvAbortQueue(asc_dvc, srb_tag) \ asc_dvc 1985 drivers/scsi/advansys.c AdvSendIdleCmd((asc_dvc), (ushort) IDLE_CMD_ABORT, \ asc_dvc 1999 drivers/scsi/advansys.c #define AdvResetDevice(asc_dvc, target_id) \ asc_dvc 2000 drivers/scsi/advansys.c AdvSendIdleCmd((asc_dvc), (ushort) IDLE_CMD_DEVICE_RESET, \ asc_dvc 2293 drivers/scsi/advansys.c #define asc_dvc_to_board(asc_dvc) container_of(asc_dvc, struct asc_board, \ asc_dvc 3716 drivers/scsi/advansys.c static bool AscResetChipAndScsiBus(ASC_DVC_VAR *asc_dvc) asc_dvc 3721 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 3911 drivers/scsi/advansys.c static void AscInitLram(ASC_DVC_VAR *asc_dvc) asc_dvc 3917 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 3919 drivers/scsi/advansys.c (ushort)(((int)(asc_dvc->max_total_qng + 2 + 1) * asc_dvc 3926 drivers/scsi/advansys.c (uchar)(asc_dvc->max_total_qng)); asc_dvc 3931 drivers/scsi/advansys.c for (; i < asc_dvc->max_total_qng; i++, s_addr += ASC_QBLK_SIZE) { asc_dvc 3942 drivers/scsi/advansys.c (uchar)(asc_dvc->max_total_qng - 1)); asc_dvc 3944 drivers/scsi/advansys.c (uchar)asc_dvc->max_total_qng); asc_dvc 3947 drivers/scsi/advansys.c for (; i <= (uchar)(asc_dvc->max_total_qng + 3); asc_dvc 3985 drivers/scsi/advansys.c static void AscInitQLinkVar(ASC_DVC_VAR *asc_dvc) asc_dvc 3991 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 3993 drivers/scsi/advansys.c AscPutRiscVarDoneQTail(iop_base, asc_dvc->max_total_qng); asc_dvc 3995 drivers/scsi/advansys.c AscPutVarDoneQTail(iop_base, asc_dvc->max_total_qng); asc_dvc 3997 drivers/scsi/advansys.c (uchar)((int)asc_dvc->max_total_qng + 1)); asc_dvc 3999 drivers/scsi/advansys.c (uchar)((int)asc_dvc->max_total_qng + 2)); asc_dvc 4001 drivers/scsi/advansys.c asc_dvc->max_total_qng); asc_dvc 4014 drivers/scsi/advansys.c static int AscInitMicroCodeVar(ASC_DVC_VAR *asc_dvc) asc_dvc 4021 drivers/scsi/advansys.c struct asc_board *board = asc_dvc_to_board(asc_dvc); asc_dvc 4023 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 4027 drivers/scsi/advansys.c asc_dvc->cfg->sdtr_period_offset[i]); asc_dvc 4030 drivers/scsi/advansys.c AscInitQLinkVar(asc_dvc); asc_dvc 4032 drivers/scsi/advansys.c asc_dvc->cfg->disc_enable); asc_dvc 4034 drivers/scsi/advansys.c ASC_TID_TO_TARGET_ID(asc_dvc->cfg->chip_scsi_id)); asc_dvc 4037 drivers/scsi/advansys.c BUG_ON((unsigned long)asc_dvc->overrun_buf & 7); asc_dvc 4038 drivers/scsi/advansys.c asc_dvc->overrun_dma = dma_map_single(board->dev, asc_dvc->overrun_buf, asc_dvc 4040 drivers/scsi/advansys.c if (dma_mapping_error(board->dev, asc_dvc->overrun_dma)) { asc_dvc 4044 drivers/scsi/advansys.c phy_addr = cpu_to_le32(asc_dvc->overrun_dma); asc_dvc 4051 drivers/scsi/advansys.c asc_dvc->cfg->mcode_date = asc_dvc 4053 drivers/scsi/advansys.c asc_dvc->cfg->mcode_version = asc_dvc 4058 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_SET_PC_ADDR; asc_dvc 4063 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_START_STOP_CHIP; asc_dvc 4071 drivers/scsi/advansys.c dma_unmap_single(board->dev, asc_dvc->overrun_dma, asc_dvc 4074 drivers/scsi/advansys.c asc_dvc->overrun_dma = 0; asc_dvc 4078 drivers/scsi/advansys.c static int AscInitAsc1000Driver(ASC_DVC_VAR *asc_dvc) asc_dvc 4087 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 4089 drivers/scsi/advansys.c if ((asc_dvc->dvc_cntl & ASC_CNTL_RESET_SCSI) && asc_dvc 4090 drivers/scsi/advansys.c !(asc_dvc->init_state & ASC_INIT_RESET_SCSI_DONE)) { asc_dvc 4091 drivers/scsi/advansys.c AscResetChipAndScsiBus(asc_dvc); asc_dvc 4092 drivers/scsi/advansys.c mdelay(asc_dvc->scsi_reset_wait * 1000); /* XXX: msleep? */ asc_dvc 4094 drivers/scsi/advansys.c asc_dvc->init_state |= ASC_INIT_STATE_BEG_LOAD_MC; asc_dvc 4095 drivers/scsi/advansys.c if (asc_dvc->err_code != 0) asc_dvc 4097 drivers/scsi/advansys.c if (!AscFindSignature(asc_dvc->iop_base)) { asc_dvc 4098 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_BAD_SIGNATURE; asc_dvc 4102 drivers/scsi/advansys.c AscInitLram(asc_dvc); asc_dvc 4104 drivers/scsi/advansys.c err = request_firmware(&fw, fwname, asc_dvc->drv_ptr->dev); asc_dvc 4108 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_MCODE_CHKSUM; asc_dvc 4115 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_MCODE_CHKSUM; asc_dvc 4123 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_MCODE_CHKSUM; asc_dvc 4128 drivers/scsi/advansys.c warn_code |= AscInitMicroCodeVar(asc_dvc); asc_dvc 4129 drivers/scsi/advansys.c if (!asc_dvc->overrun_dma) asc_dvc 4131 drivers/scsi/advansys.c asc_dvc->init_state |= ASC_INIT_STATE_END_LOAD_MC; asc_dvc 4291 drivers/scsi/advansys.c AdvSendIdleCmd(ADV_DVC_VAR *asc_dvc, asc_dvc 4297 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 4320 drivers/scsi/advansys.c if (asc_dvc->chip_type == ADV_CHIP_ASC3550) { asc_dvc 4354 drivers/scsi/advansys.c static int AdvResetSB(ADV_DVC_VAR *asc_dvc) asc_dvc 4362 drivers/scsi/advansys.c status = AdvSendIdleCmd(asc_dvc, (ushort)IDLE_CMD_SCSI_RESET_START, 0L); asc_dvc 4379 drivers/scsi/advansys.c status = AdvSendIdleCmd(asc_dvc, (ushort)IDLE_CMD_SCSI_RESET_END, 0L); asc_dvc 4384 drivers/scsi/advansys.c mdelay(asc_dvc->scsi_reset_wait * 1000); /* XXX: msleep? */ asc_dvc 4399 drivers/scsi/advansys.c static int AdvInitAsc3550Driver(ADV_DVC_VAR *asc_dvc) asc_dvc 4419 drivers/scsi/advansys.c if (asc_dvc->err_code != 0) asc_dvc 4425 drivers/scsi/advansys.c if (asc_dvc->chip_type != ADV_CHIP_ASC3550) { asc_dvc 4426 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_BAD_CHIPTYPE; asc_dvc 4431 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 4470 drivers/scsi/advansys.c err = request_firmware(&fw, fwname, asc_dvc->drv_ptr->dev); asc_dvc 4474 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_MCODE_CHKSUM; asc_dvc 4481 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_MCODE_CHKSUM; asc_dvc 4486 drivers/scsi/advansys.c asc_dvc->err_code = AdvLoadMicrocode(iop_base, &fw->data[4], asc_dvc 4490 drivers/scsi/advansys.c if (asc_dvc->err_code) asc_dvc 4518 drivers/scsi/advansys.c asc_dvc->cfg->mcode_date); asc_dvc 4520 drivers/scsi/advansys.c asc_dvc->cfg->mcode_version); asc_dvc 4533 drivers/scsi/advansys.c if (asc_dvc->cfg->control_flag & CONTROL_FLAG_IGNORE_PERR) { asc_dvc 4558 drivers/scsi/advansys.c if ((asc_dvc->bios_ctrl & BIOS_CTRL_RESET_SCSI_BUS) == 0) { asc_dvc 4560 drivers/scsi/advansys.c asc_dvc->wdtr_able); asc_dvc 4562 drivers/scsi/advansys.c asc_dvc->sdtr_able); asc_dvc 4589 drivers/scsi/advansys.c if (ADV_TID_TO_TIDMASK(tid) & asc_dvc->ultra_able) { asc_dvc 4615 drivers/scsi/advansys.c asc_dvc->cfg->disc_enable); asc_dvc 4625 drivers/scsi/advansys.c asc_dvc->chip_scsi_id); asc_dvc 4642 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_ILLEGAL_CONNECTION; asc_dvc 4652 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_REVERSED_CABLE; asc_dvc 4661 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_SINGLE_END_DEVICE; asc_dvc 4673 drivers/scsi/advansys.c if (asc_dvc->cfg->termination == 0) { asc_dvc 4678 drivers/scsi/advansys.c asc_dvc->cfg->termination |= TERM_CTL_SEL; asc_dvc 4688 drivers/scsi/advansys.c asc_dvc->cfg->termination |= (TERM_CTL_H | TERM_CTL_L); asc_dvc 4697 drivers/scsi/advansys.c asc_dvc->cfg->termination |= TERM_CTL_H; asc_dvc 4718 drivers/scsi/advansys.c scsi_cfg1 |= (TERM_CTL_SEL | (~asc_dvc->cfg->termination & TERM_CTL)); asc_dvc 4753 drivers/scsi/advansys.c ADV_TID_TO_TIDMASK(asc_dvc->chip_scsi_id)); asc_dvc 4755 drivers/scsi/advansys.c AdvBuildCarrierFreelist(asc_dvc); asc_dvc 4761 drivers/scsi/advansys.c asc_dvc->icq_sp = adv_get_next_carrier(asc_dvc); asc_dvc 4762 drivers/scsi/advansys.c if (!asc_dvc->icq_sp) { asc_dvc 4763 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_NO_CARRIER; asc_dvc 4770 drivers/scsi/advansys.c AdvWriteDWordLramNoSwap(iop_base, ASC_MC_ICQ, asc_dvc->icq_sp->carr_pa); asc_dvc 4775 drivers/scsi/advansys.c asc_dvc->irq_sp = adv_get_next_carrier(asc_dvc); asc_dvc 4776 drivers/scsi/advansys.c if (!asc_dvc->irq_sp) { asc_dvc 4777 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_NO_CARRIER; asc_dvc 4784 drivers/scsi/advansys.c AdvWriteDWordLramNoSwap(iop_base, ASC_MC_IRQ, asc_dvc->irq_sp->carr_pa); asc_dvc 4785 drivers/scsi/advansys.c asc_dvc->carr_pending_cnt = 0; asc_dvc 4802 drivers/scsi/advansys.c if (asc_dvc->bios_ctrl & BIOS_CTRL_RESET_SCSI_BUS) { asc_dvc 4823 drivers/scsi/advansys.c if (AdvResetSB(asc_dvc) != ADV_TRUE) { asc_dvc 4842 drivers/scsi/advansys.c static int AdvInitAsc38C0800Driver(ADV_DVC_VAR *asc_dvc) asc_dvc 4863 drivers/scsi/advansys.c if (asc_dvc->err_code != 0) asc_dvc 4869 drivers/scsi/advansys.c if (asc_dvc->chip_type != ADV_CHIP_ASC38C0800) { asc_dvc 4870 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_BAD_CHIPTYPE; asc_dvc 4875 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 4936 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_BIST_PRE_TEST; asc_dvc 4944 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_BIST_PRE_TEST; asc_dvc 4962 drivers/scsi/advansys.c asc_dvc->bist_err_code = byte; /* for BIOS display message */ asc_dvc 4963 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_BIST_RAM_TEST; asc_dvc 4970 drivers/scsi/advansys.c err = request_firmware(&fw, fwname, asc_dvc->drv_ptr->dev); asc_dvc 4974 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_MCODE_CHKSUM; asc_dvc 4981 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_MCODE_CHKSUM; asc_dvc 4986 drivers/scsi/advansys.c asc_dvc->err_code = AdvLoadMicrocode(iop_base, &fw->data[4], asc_dvc 4990 drivers/scsi/advansys.c if (asc_dvc->err_code) asc_dvc 5018 drivers/scsi/advansys.c asc_dvc->cfg->mcode_date); asc_dvc 5020 drivers/scsi/advansys.c asc_dvc->cfg->mcode_version); asc_dvc 5045 drivers/scsi/advansys.c if (asc_dvc->cfg->control_flag & CONTROL_FLAG_IGNORE_PERR) { asc_dvc 5075 drivers/scsi/advansys.c if ((asc_dvc->bios_ctrl & BIOS_CTRL_RESET_SCSI_BUS) == 0) { asc_dvc 5077 drivers/scsi/advansys.c asc_dvc->wdtr_able); asc_dvc 5079 drivers/scsi/advansys.c asc_dvc->sdtr_able); asc_dvc 5092 drivers/scsi/advansys.c asc_dvc->cfg->disc_enable); asc_dvc 5093 drivers/scsi/advansys.c AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED1, asc_dvc->sdtr_speed1); asc_dvc 5094 drivers/scsi/advansys.c AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED2, asc_dvc->sdtr_speed2); asc_dvc 5095 drivers/scsi/advansys.c AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED3, asc_dvc->sdtr_speed3); asc_dvc 5096 drivers/scsi/advansys.c AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED4, asc_dvc->sdtr_speed4); asc_dvc 5106 drivers/scsi/advansys.c asc_dvc->chip_scsi_id); asc_dvc 5124 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_REVERSED_CABLE; asc_dvc 5140 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_HVD_DEVICE; asc_dvc 5152 drivers/scsi/advansys.c if ((asc_dvc->cfg->termination & TERM_SE) == 0) { asc_dvc 5159 drivers/scsi/advansys.c asc_dvc->cfg->termination |= TERM_SE; asc_dvc 5164 drivers/scsi/advansys.c asc_dvc->cfg->termination |= TERM_SE_HI; asc_dvc 5169 drivers/scsi/advansys.c if ((asc_dvc->cfg->termination & TERM_LVD) == 0) { asc_dvc 5176 drivers/scsi/advansys.c asc_dvc->cfg->termination |= TERM_LVD; asc_dvc 5193 drivers/scsi/advansys.c scsi_cfg1 |= (~asc_dvc->cfg->termination & 0xF0); asc_dvc 5234 drivers/scsi/advansys.c ADV_TID_TO_TIDMASK(asc_dvc->chip_scsi_id)); asc_dvc 5236 drivers/scsi/advansys.c AdvBuildCarrierFreelist(asc_dvc); asc_dvc 5242 drivers/scsi/advansys.c asc_dvc->icq_sp = adv_get_next_carrier(asc_dvc); asc_dvc 5243 drivers/scsi/advansys.c if (!asc_dvc->icq_sp) { asc_dvc 5245 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_NO_CARRIER; asc_dvc 5253 drivers/scsi/advansys.c AdvWriteDWordLramNoSwap(iop_base, ASC_MC_ICQ, asc_dvc->icq_sp->carr_pa); asc_dvc 5258 drivers/scsi/advansys.c asc_dvc->irq_sp = adv_get_next_carrier(asc_dvc); asc_dvc 5259 drivers/scsi/advansys.c if (!asc_dvc->irq_sp) { asc_dvc 5261 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_NO_CARRIER; asc_dvc 5270 drivers/scsi/advansys.c AdvWriteDWordLramNoSwap(iop_base, ASC_MC_IRQ, asc_dvc->irq_sp->carr_pa); asc_dvc 5271 drivers/scsi/advansys.c asc_dvc->carr_pending_cnt = 0; asc_dvc 5288 drivers/scsi/advansys.c if (asc_dvc->bios_ctrl & BIOS_CTRL_RESET_SCSI_BUS) { asc_dvc 5309 drivers/scsi/advansys.c if (AdvResetSB(asc_dvc) != ADV_TRUE) { asc_dvc 5328 drivers/scsi/advansys.c static int AdvInitAsc38C1600Driver(ADV_DVC_VAR *asc_dvc) asc_dvc 5349 drivers/scsi/advansys.c if (asc_dvc->err_code != 0) { asc_dvc 5356 drivers/scsi/advansys.c if (asc_dvc->chip_type != ADV_CHIP_ASC38C1600) { asc_dvc 5357 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_BAD_CHIPTYPE; asc_dvc 5362 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 5424 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_BIST_PRE_TEST; asc_dvc 5432 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_BIST_PRE_TEST; asc_dvc 5450 drivers/scsi/advansys.c asc_dvc->bist_err_code = byte; /* for BIOS display message */ asc_dvc 5451 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_BIST_RAM_TEST; asc_dvc 5458 drivers/scsi/advansys.c err = request_firmware(&fw, fwname, asc_dvc->drv_ptr->dev); asc_dvc 5462 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_MCODE_CHKSUM; asc_dvc 5469 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_MCODE_CHKSUM; asc_dvc 5474 drivers/scsi/advansys.c asc_dvc->err_code = AdvLoadMicrocode(iop_base, &fw->data[4], asc_dvc 5478 drivers/scsi/advansys.c if (asc_dvc->err_code) asc_dvc 5506 drivers/scsi/advansys.c asc_dvc->cfg->mcode_date); asc_dvc 5508 drivers/scsi/advansys.c asc_dvc->cfg->mcode_version); asc_dvc 5533 drivers/scsi/advansys.c if (asc_dvc->cfg->control_flag & CONTROL_FLAG_IGNORE_PERR) { asc_dvc 5545 drivers/scsi/advansys.c if ((asc_dvc->bios_ctrl & BIOS_CTRL_AIPP_DIS) == 0) { asc_dvc 5570 drivers/scsi/advansys.c if ((asc_dvc->bios_ctrl & BIOS_CTRL_RESET_SCSI_BUS) == 0) { asc_dvc 5572 drivers/scsi/advansys.c asc_dvc->wdtr_able); asc_dvc 5574 drivers/scsi/advansys.c asc_dvc->sdtr_able); asc_dvc 5587 drivers/scsi/advansys.c asc_dvc->cfg->disc_enable); asc_dvc 5588 drivers/scsi/advansys.c AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED1, asc_dvc->sdtr_speed1); asc_dvc 5589 drivers/scsi/advansys.c AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED2, asc_dvc->sdtr_speed2); asc_dvc 5590 drivers/scsi/advansys.c AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED3, asc_dvc->sdtr_speed3); asc_dvc 5591 drivers/scsi/advansys.c AdvWriteWordLram(iop_base, ASC_MC_SDTR_SPEED4, asc_dvc->sdtr_speed4); asc_dvc 5601 drivers/scsi/advansys.c asc_dvc->chip_scsi_id); asc_dvc 5620 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_REVERSED_CABLE; asc_dvc 5633 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_HVD_DEVICE; asc_dvc 5650 drivers/scsi/advansys.c if ((asc_dvc->cfg->termination & TERM_SE) == 0) { asc_dvc 5651 drivers/scsi/advansys.c struct pci_dev *pdev = adv_dvc_to_pdev(asc_dvc); asc_dvc 5658 drivers/scsi/advansys.c asc_dvc->cfg->termination |= TERM_SE; asc_dvc 5666 drivers/scsi/advansys.c asc_dvc->cfg->termination |= TERM_SE_HI; asc_dvc 5680 drivers/scsi/advansys.c scsi_cfg1 |= (~asc_dvc->cfg->termination & TERM_SE); asc_dvc 5731 drivers/scsi/advansys.c ADV_TID_TO_TIDMASK(asc_dvc->chip_scsi_id)); asc_dvc 5733 drivers/scsi/advansys.c AdvBuildCarrierFreelist(asc_dvc); asc_dvc 5738 drivers/scsi/advansys.c asc_dvc->icq_sp = adv_get_next_carrier(asc_dvc); asc_dvc 5739 drivers/scsi/advansys.c if (!asc_dvc->icq_sp) { asc_dvc 5740 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_NO_CARRIER; asc_dvc 5749 drivers/scsi/advansys.c AdvWriteDWordLramNoSwap(iop_base, ASC_MC_ICQ, asc_dvc->icq_sp->carr_pa); asc_dvc 5751 drivers/scsi/advansys.c le32_to_cpu(asc_dvc->icq_sp->carr_pa)); asc_dvc 5756 drivers/scsi/advansys.c asc_dvc->irq_sp = adv_get_next_carrier(asc_dvc); asc_dvc 5757 drivers/scsi/advansys.c if (!asc_dvc->irq_sp) { asc_dvc 5758 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_NO_CARRIER; asc_dvc 5765 drivers/scsi/advansys.c AdvWriteDWordLramNoSwap(iop_base, ASC_MC_IRQ, asc_dvc->irq_sp->carr_pa); asc_dvc 5766 drivers/scsi/advansys.c asc_dvc->carr_pending_cnt = 0; asc_dvc 5782 drivers/scsi/advansys.c if (asc_dvc->bios_ctrl & BIOS_CTRL_RESET_SCSI_BUS) { asc_dvc 5803 drivers/scsi/advansys.c if (AdvResetSB(asc_dvc) != ADV_TRUE) { asc_dvc 5819 drivers/scsi/advansys.c static int AdvResetChipAndSB(ADV_DVC_VAR *asc_dvc) asc_dvc 5828 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 5835 drivers/scsi/advansys.c if (asc_dvc->chip_type == ADV_CHIP_ASC38C1600) { asc_dvc 5866 drivers/scsi/advansys.c asc_dvc->err_code = 0; asc_dvc 5867 drivers/scsi/advansys.c if (asc_dvc->chip_type == ADV_CHIP_ASC38C1600) { asc_dvc 5868 drivers/scsi/advansys.c status = AdvInitAsc38C1600Driver(asc_dvc); asc_dvc 5869 drivers/scsi/advansys.c } else if (asc_dvc->chip_type == ADV_CHIP_ASC38C0800) { asc_dvc 5870 drivers/scsi/advansys.c status = AdvInitAsc38C0800Driver(asc_dvc); asc_dvc 5872 drivers/scsi/advansys.c status = AdvInitAsc3550Driver(asc_dvc); asc_dvc 5892 drivers/scsi/advansys.c if (asc_dvc->chip_type == ADV_CHIP_ASC38C1600) { asc_dvc 6110 drivers/scsi/advansys.c static int AdvISR(ADV_DVC_VAR *asc_dvc) asc_dvc 6120 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 6140 drivers/scsi/advansys.c if (asc_dvc->chip_type == ADV_CHIP_ASC3550 || asc_dvc 6141 drivers/scsi/advansys.c asc_dvc->chip_type == ADV_CHIP_ASC38C0800) { asc_dvc 6143 drivers/scsi/advansys.c asc_dvc->carr_pending_cnt != 0) { asc_dvc 6146 drivers/scsi/advansys.c if (asc_dvc->chip_type == ADV_CHIP_ASC3550) { asc_dvc 6154 drivers/scsi/advansys.c adv_async_callback(asc_dvc, intrb_code); asc_dvc 6161 drivers/scsi/advansys.c le32_to_cpu(asc_dvc->irq_sp->next_vpa)) & ADV_RQ_DONE) != 0) { asc_dvc 6171 drivers/scsi/advansys.c u32 pa_offset = le32_to_cpu(asc_dvc->irq_sp->areq_vpa); asc_dvc 6173 drivers/scsi/advansys.c asc_dvc->irq_sp, pa_offset); asc_dvc 6174 drivers/scsi/advansys.c reqp = adv_get_reqp(asc_dvc, pa_offset); asc_dvc 6193 drivers/scsi/advansys.c free_carrp = asc_dvc->irq_sp; asc_dvc 6194 drivers/scsi/advansys.c asc_dvc->irq_sp = adv_get_carrier(asc_dvc, asc_dvc 6197 drivers/scsi/advansys.c free_carrp->next_vpa = asc_dvc->carr_freelist->carr_va; asc_dvc 6198 drivers/scsi/advansys.c asc_dvc->carr_freelist = free_carrp; asc_dvc 6199 drivers/scsi/advansys.c asc_dvc->carr_pending_cnt--; asc_dvc 6212 drivers/scsi/advansys.c adv_isr_callback(asc_dvc, scsiq); asc_dvc 6224 drivers/scsi/advansys.c static int AscSetLibErrorCode(ASC_DVC_VAR *asc_dvc, ushort err_code) asc_dvc 6226 drivers/scsi/advansys.c if (asc_dvc->err_code == 0) { asc_dvc 6227 drivers/scsi/advansys.c asc_dvc->err_code = err_code; asc_dvc 6228 drivers/scsi/advansys.c AscWriteLramWord(asc_dvc->iop_base, ASCV_ASCDVC_ERR_CODE_W, asc_dvc 6263 drivers/scsi/advansys.c static uchar AscGetSynPeriodIndex(ASC_DVC_VAR *asc_dvc, uchar syn_time) asc_dvc 6270 drivers/scsi/advansys.c period_table = asc_dvc->sdtr_period_tbl; asc_dvc 6271 drivers/scsi/advansys.c max_index = (int)asc_dvc->max_sdtr_index; asc_dvc 6272 drivers/scsi/advansys.c min_index = (int)asc_dvc->min_sdtr_index; asc_dvc 6286 drivers/scsi/advansys.c AscMsgOutSDTR(ASC_DVC_VAR *asc_dvc, uchar sdtr_period, uchar sdtr_offset) asc_dvc 6288 drivers/scsi/advansys.c PortAddr iop_base = asc_dvc->iop_base; asc_dvc 6289 drivers/scsi/advansys.c uchar sdtr_period_index = AscGetSynPeriodIndex(asc_dvc, sdtr_period); asc_dvc 6299 drivers/scsi/advansys.c if (sdtr_period_index <= asc_dvc->max_sdtr_index) { asc_dvc 6314 drivers/scsi/advansys.c AscCalSDTRData(ASC_DVC_VAR *asc_dvc, uchar sdtr_period, uchar syn_offset) asc_dvc 6319 drivers/scsi/advansys.c sdtr_period_ix = AscGetSynPeriodIndex(asc_dvc, sdtr_period); asc_dvc 6320 drivers/scsi/advansys.c if (sdtr_period_ix > asc_dvc->max_sdtr_index) asc_dvc 6361 drivers/scsi/advansys.c static void AscIsrChipHalted(ASC_DVC_VAR *asc_dvc) asc_dvc 6382 drivers/scsi/advansys.c BUG_ON(!asc_dvc->drv_ptr); asc_dvc 6383 drivers/scsi/advansys.c boardp = asc_dvc->drv_ptr; asc_dvc 6385 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 6397 drivers/scsi/advansys.c if (asc_dvc->pci_fix_asyn_xfer & target_id) { asc_dvc 6403 drivers/scsi/advansys.c if (asc_dvc->pci_fix_asyn_xfer & target_id) { asc_dvc 6410 drivers/scsi/advansys.c if (asc_dvc->pci_fix_asyn_xfer & target_id) { asc_dvc 6432 drivers/scsi/advansys.c asc_dvc->sdtr_period_tbl[asc_dvc->min_sdtr_index]) asc_dvc 6434 drivers/scsi/advansys.c asc_dvc->sdtr_period_tbl[asc_dvc-> asc_dvc 6438 drivers/scsi/advansys.c asc_dvc->sdtr_period_tbl[asc_dvc-> asc_dvc 6443 drivers/scsi/advansys.c AscCalSDTRData(asc_dvc, ext_msg.xfer_period, asc_dvc 6448 drivers/scsi/advansys.c asc_dvc->init_sdtr &= ~target_id; asc_dvc 6449 drivers/scsi/advansys.c asc_dvc->sdtr_done &= ~target_id; asc_dvc 6458 drivers/scsi/advansys.c asc_dvc->init_sdtr &= ~target_id; asc_dvc 6459 drivers/scsi/advansys.c asc_dvc->sdtr_done &= ~target_id; asc_dvc 6464 drivers/scsi/advansys.c asc_dvc->sdtr_done |= target_id; asc_dvc 6465 drivers/scsi/advansys.c asc_dvc->init_sdtr |= target_id; asc_dvc 6466 drivers/scsi/advansys.c asc_dvc->pci_fix_asyn_xfer &= asc_dvc 6469 drivers/scsi/advansys.c AscCalSDTRData(asc_dvc, asc_dvc 6478 drivers/scsi/advansys.c AscMsgOutSDTR(asc_dvc, asc_dvc 6481 drivers/scsi/advansys.c asc_dvc->pci_fix_asyn_xfer &= asc_dvc 6484 drivers/scsi/advansys.c AscCalSDTRData(asc_dvc, asc_dvc 6491 drivers/scsi/advansys.c asc_dvc->sdtr_done |= target_id; asc_dvc 6492 drivers/scsi/advansys.c asc_dvc->init_sdtr |= target_id; asc_dvc 6537 drivers/scsi/advansys.c if ((asc_dvc->init_sdtr & target_id) != 0) { asc_dvc 6539 drivers/scsi/advansys.c asc_dvc->sdtr_done &= ~target_id; asc_dvc 6543 drivers/scsi/advansys.c AscMsgOutSDTR(asc_dvc, asc_dvc 6544 drivers/scsi/advansys.c asc_dvc-> asc_dvc 6546 drivers/scsi/advansys.c (uchar)(asc_dvc-> asc_dvc 6561 drivers/scsi/advansys.c if ((asc_dvc->pci_fix_asyn_xfer & target_id) asc_dvc 6562 drivers/scsi/advansys.c && !(asc_dvc->pci_fix_asyn_xfer_always & target_id) asc_dvc 6600 drivers/scsi/advansys.c asc_dvc->init_sdtr &= ~target_id; asc_dvc 6601 drivers/scsi/advansys.c asc_dvc->sdtr_done &= ~target_id; asc_dvc 6621 drivers/scsi/advansys.c if ((cur_dvc_qng > 0) && (asc_dvc->cur_dvc_qng[tid_no] > 0)) { asc_dvc 6628 drivers/scsi/advansys.c asc_dvc->queue_full_or_busy |= target_id; asc_dvc 6633 drivers/scsi/advansys.c asc_dvc->max_dvc_qng[tid_no] = asc_dvc 6850 drivers/scsi/advansys.c static int AscIsrQDone(ASC_DVC_VAR *asc_dvc) asc_dvc 6869 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 6880 drivers/scsi/advansys.c asc_dvc->max_dma_count); asc_dvc 6899 drivers/scsi/advansys.c AscSetLibErrorCode(asc_dvc, asc_dvc 6914 drivers/scsi/advansys.c if (asc_dvc->queue_full_or_busy & target_id) { asc_dvc 6921 drivers/scsi/advansys.c if (cur_target_qng < asc_dvc->max_dvc_qng[tid_no]) { asc_dvc 6928 drivers/scsi/advansys.c asc_dvc->queue_full_or_busy &= ~target_id; asc_dvc 6931 drivers/scsi/advansys.c if (asc_dvc->cur_total_qng >= n_q_used) { asc_dvc 6932 drivers/scsi/advansys.c asc_dvc->cur_total_qng -= n_q_used; asc_dvc 6933 drivers/scsi/advansys.c if (asc_dvc->cur_dvc_qng[tid_no] != 0) { asc_dvc 6934 drivers/scsi/advansys.c asc_dvc->cur_dvc_qng[tid_no]--; asc_dvc 6937 drivers/scsi/advansys.c AscSetLibErrorCode(asc_dvc, ASCQ_ERR_CUR_QNG); asc_dvc 6984 drivers/scsi/advansys.c asc_isr_callback(asc_dvc, scsiq); asc_dvc 6990 drivers/scsi/advansys.c asc_dvc->unit_not_ready &= ~target_id; asc_dvc 6992 drivers/scsi/advansys.c asc_dvc->start_motor &= asc_dvc 6999 drivers/scsi/advansys.c AscSetLibErrorCode(asc_dvc, ASCQ_ERR_Q_STATUS); asc_dvc 7002 drivers/scsi/advansys.c asc_isr_callback(asc_dvc, scsiq); asc_dvc 7010 drivers/scsi/advansys.c static int AscISR(ASC_DVC_VAR *asc_dvc) asc_dvc 7021 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 7027 drivers/scsi/advansys.c if ((asc_dvc->init_state & ASC_INIT_STATE_END_LOAD_MC) == 0) { asc_dvc 7030 drivers/scsi/advansys.c if (asc_dvc->in_critical_cnt != 0) { asc_dvc 7031 drivers/scsi/advansys.c AscSetLibErrorCode(asc_dvc, ASCQ_ERR_ISR_ON_CRITICAL); asc_dvc 7034 drivers/scsi/advansys.c if (asc_dvc->is_in_int) { asc_dvc 7035 drivers/scsi/advansys.c AscSetLibErrorCode(asc_dvc, ASCQ_ERR_ISR_RE_ENTRY); asc_dvc 7038 drivers/scsi/advansys.c asc_dvc->is_in_int = true; asc_dvc 7044 drivers/scsi/advansys.c if (!(asc_dvc->bus_type & (ASC_IS_VL | ASC_IS_EISA))) { asc_dvc 7047 drivers/scsi/advansys.c asc_dvc->sdtr_done = 0; asc_dvc 7070 drivers/scsi/advansys.c AscIsrChipHalted(asc_dvc); asc_dvc 7073 drivers/scsi/advansys.c if ((asc_dvc->dvc_cntl & ASC_CNTL_INT_MULTI_Q) != 0) { asc_dvc 7075 drivers/scsi/advansys.c AscIsrQDone(asc_dvc)) & 0x01) != 0) { asc_dvc 7080 drivers/scsi/advansys.c AscIsrQDone(asc_dvc)) == 1) { asc_dvc 7092 drivers/scsi/advansys.c asc_dvc->is_in_int = false; asc_dvc 7120 drivers/scsi/advansys.c ASC_DVC_VAR *asc_dvc = &boardp->dvc_var.asc_dvc_var; asc_dvc 7124 drivers/scsi/advansys.c status = AscInitAsc1000Driver(asc_dvc); asc_dvc 7127 drivers/scsi/advansys.c if (asc_dvc->err_code || !asc_dvc->overrun_dma) { asc_dvc 7129 drivers/scsi/advansys.c "0x%x, status: 0x%x\n", asc_dvc->err_code, asc_dvc 7284 drivers/scsi/advansys.c static void AscAsyncFix(ASC_DVC_VAR *asc_dvc, struct scsi_device *sdev) asc_dvc 7289 drivers/scsi/advansys.c if (!(asc_dvc->bug_fix_cntl & ASC_BUG_FIX_ASYN_USE_SYN)) asc_dvc 7291 drivers/scsi/advansys.c if (asc_dvc->init_sdtr & tid_bits) asc_dvc 7295 drivers/scsi/advansys.c asc_dvc->pci_fix_asyn_xfer_always |= tid_bits; asc_dvc 7297 drivers/scsi/advansys.c asc_dvc->pci_fix_asyn_xfer |= tid_bits; asc_dvc 7300 drivers/scsi/advansys.c asc_dvc->pci_fix_asyn_xfer &= ~tid_bits; asc_dvc 7302 drivers/scsi/advansys.c if (asc_dvc->pci_fix_asyn_xfer & tid_bits) asc_dvc 7303 drivers/scsi/advansys.c AscSetRunChipSynRegAtID(asc_dvc->iop_base, sdev->id, asc_dvc 7308 drivers/scsi/advansys.c advansys_narrow_slave_configure(struct scsi_device *sdev, ASC_DVC_VAR *asc_dvc) asc_dvc 7311 drivers/scsi/advansys.c ASC_SCSI_BIT_ID_TYPE orig_use_tagged_qng = asc_dvc->use_tagged_qng; asc_dvc 7314 drivers/scsi/advansys.c ASC_SCSI_BIT_ID_TYPE orig_init_sdtr = asc_dvc->init_sdtr; asc_dvc 7315 drivers/scsi/advansys.c if ((asc_dvc->cfg->sdtr_enable & tid_bit) && sdev->sdtr) { asc_dvc 7316 drivers/scsi/advansys.c asc_dvc->init_sdtr |= tid_bit; asc_dvc 7318 drivers/scsi/advansys.c asc_dvc->init_sdtr &= ~tid_bit; asc_dvc 7321 drivers/scsi/advansys.c if (orig_init_sdtr != asc_dvc->init_sdtr) asc_dvc 7322 drivers/scsi/advansys.c AscAsyncFix(asc_dvc, sdev); asc_dvc 7326 drivers/scsi/advansys.c if (asc_dvc->cfg->cmd_qng_enabled & tid_bit) { asc_dvc 7328 drivers/scsi/advansys.c asc_dvc->cfg->can_tagged_qng |= tid_bit; asc_dvc 7329 drivers/scsi/advansys.c asc_dvc->use_tagged_qng |= tid_bit; asc_dvc 7332 drivers/scsi/advansys.c asc_dvc->max_dvc_qng[sdev->id]); asc_dvc 7336 drivers/scsi/advansys.c asc_dvc->cfg->can_tagged_qng &= ~tid_bit; asc_dvc 7337 drivers/scsi/advansys.c asc_dvc->use_tagged_qng &= ~tid_bit; asc_dvc 7342 drivers/scsi/advansys.c (orig_use_tagged_qng != asc_dvc->use_tagged_qng)) { asc_dvc 7343 drivers/scsi/advansys.c AscWriteLramByte(asc_dvc->iop_base, ASCV_DISC_ENABLE_B, asc_dvc 7344 drivers/scsi/advansys.c asc_dvc->cfg->disc_enable); asc_dvc 7345 drivers/scsi/advansys.c AscWriteLramByte(asc_dvc->iop_base, ASCV_USE_TAGGED_QNG_B, asc_dvc 7346 drivers/scsi/advansys.c asc_dvc->use_tagged_qng); asc_dvc 7347 drivers/scsi/advansys.c AscWriteLramByte(asc_dvc->iop_base, ASCV_CAN_TAGGED_QNG_B, asc_dvc 7348 drivers/scsi/advansys.c asc_dvc->cfg->can_tagged_qng); asc_dvc 7350 drivers/scsi/advansys.c asc_dvc->max_dvc_qng[sdev->id] = asc_dvc 7351 drivers/scsi/advansys.c asc_dvc->cfg->max_tag_qng[sdev->id]; asc_dvc 7352 drivers/scsi/advansys.c AscWriteLramByte(asc_dvc->iop_base, asc_dvc 7354 drivers/scsi/advansys.c asc_dvc->max_dvc_qng[sdev->id]); asc_dvc 7511 drivers/scsi/advansys.c struct asc_dvc_var *asc_dvc = &boardp->dvc_var.asc_dvc_var; asc_dvc 7549 drivers/scsi/advansys.c if ((asc_dvc->cur_dvc_qng[scp->device->id] > 0) && asc_dvc 7865 drivers/scsi/advansys.c AscGetNumOfFreeQueue(ASC_DVC_VAR *asc_dvc, uchar target_ix, uchar n_qs) asc_dvc 7874 drivers/scsi/advansys.c if ((asc_dvc->unit_not_ready & target_id) || asc_dvc 7875 drivers/scsi/advansys.c (asc_dvc->queue_full_or_busy & target_id)) { asc_dvc 7879 drivers/scsi/advansys.c cur_used_qs = (uint) asc_dvc->cur_total_qng + asc_dvc 7880 drivers/scsi/advansys.c (uint) asc_dvc->last_q_shortage + (uint) ASC_MIN_FREE_Q; asc_dvc 7882 drivers/scsi/advansys.c cur_used_qs = (uint) asc_dvc->cur_total_qng + asc_dvc 7885 drivers/scsi/advansys.c if ((uint) (cur_used_qs + n_qs) <= (uint) asc_dvc->max_total_qng) { asc_dvc 7886 drivers/scsi/advansys.c cur_free_qs = (uint) asc_dvc->max_total_qng - cur_used_qs; asc_dvc 7887 drivers/scsi/advansys.c if (asc_dvc->cur_dvc_qng[tid_no] >= asc_dvc 7888 drivers/scsi/advansys.c asc_dvc->max_dvc_qng[tid_no]) { asc_dvc 7894 drivers/scsi/advansys.c if ((n_qs > asc_dvc->last_q_shortage) asc_dvc 7895 drivers/scsi/advansys.c && (n_qs <= (asc_dvc->max_total_qng - ASC_MIN_FREE_Q))) { asc_dvc 7896 drivers/scsi/advansys.c asc_dvc->last_q_shortage = n_qs; asc_dvc 7957 drivers/scsi/advansys.c static int AscPutReadyQueue(ASC_DVC_VAR *asc_dvc, ASC_SCSI_Q *scsiq, uchar q_no) asc_dvc 7966 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 7967 drivers/scsi/advansys.c if (((asc_dvc->init_sdtr & scsiq->q1.target_id) != 0) && asc_dvc 7968 drivers/scsi/advansys.c ((asc_dvc->sdtr_done & scsiq->q1.target_id) == 0)) { asc_dvc 7972 drivers/scsi/advansys.c (sdtr_data >> 4) & (asc_dvc->max_sdtr_index - 1); asc_dvc 7974 drivers/scsi/advansys.c AscMsgOutSDTR(asc_dvc, asc_dvc 7975 drivers/scsi/advansys.c asc_dvc->sdtr_period_tbl[syn_period_ix], asc_dvc 7980 drivers/scsi/advansys.c if ((scsiq->q1.target_id & asc_dvc->use_tagged_qng) == 0) { asc_dvc 8000 drivers/scsi/advansys.c AscPutReadySgListQueue(ASC_DVC_VAR *asc_dvc, ASC_SCSI_Q *scsiq, uchar q_no) asc_dvc 8015 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 8086 drivers/scsi/advansys.c sta = AscPutReadyQueue(asc_dvc, scsiq, q_no); asc_dvc 8093 drivers/scsi/advansys.c AscSendScsiQueue(ASC_DVC_VAR *asc_dvc, ASC_SCSI_Q *scsiq, uchar n_q_required) asc_dvc 8102 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 8111 drivers/scsi/advansys.c asc_dvc->last_q_shortage = 0; asc_dvc 8114 drivers/scsi/advansys.c sta = AscPutReadySgListQueue(asc_dvc, scsiq, asc_dvc 8121 drivers/scsi/advansys.c sta = AscPutReadyQueue(asc_dvc, scsiq, free_q_head); asc_dvc 8126 drivers/scsi/advansys.c asc_dvc->cur_total_qng += n_q_required; asc_dvc 8127 drivers/scsi/advansys.c asc_dvc->cur_dvc_qng[tid_no]++; asc_dvc 8152 drivers/scsi/advansys.c static int AscExeScsiQueue(ASC_DVC_VAR *asc_dvc, ASC_SCSI_Q *scsiq) asc_dvc 8171 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 8173 drivers/scsi/advansys.c if (asc_dvc->err_code != 0) asc_dvc 8184 drivers/scsi/advansys.c if ((asc_dvc->init_sdtr & scsiq->q1.target_id) != 0) { asc_dvc 8185 drivers/scsi/advansys.c asc_dvc->sdtr_done &= ~scsiq->q1.target_id; asc_dvc 8187 drivers/scsi/advansys.c AscMsgOutSDTR(asc_dvc, asc_dvc 8188 drivers/scsi/advansys.c asc_dvc-> asc_dvc 8190 drivers/scsi/advansys.c (uchar)(asc_dvc-> asc_dvc 8198 drivers/scsi/advansys.c if (asc_dvc->in_critical_cnt != 0) { asc_dvc 8199 drivers/scsi/advansys.c AscSetLibErrorCode(asc_dvc, ASCQ_ERR_CRITICAL_RE_ENTRY); asc_dvc 8202 drivers/scsi/advansys.c asc_dvc->in_critical_cnt++; asc_dvc 8205 drivers/scsi/advansys.c asc_dvc->in_critical_cnt--; asc_dvc 8209 drivers/scsi/advansys.c asc_dvc->in_critical_cnt--; asc_dvc 8221 drivers/scsi/advansys.c if ((asc_dvc->pci_fix_asyn_xfer & scsiq->q1.target_id) && asc_dvc 8222 drivers/scsi/advansys.c !(asc_dvc->pci_fix_asyn_xfer_always & scsiq->q1.target_id)) { asc_dvc 8260 drivers/scsi/advansys.c if (asc_dvc->bug_fix_cntl) { asc_dvc 8261 drivers/scsi/advansys.c if (asc_dvc->bug_fix_cntl & ASC_BUG_FIX_IF_NOT_DWB) { asc_dvc 8301 drivers/scsi/advansys.c if ((AscGetNumOfFreeQueue(asc_dvc, target_ix, n_q_required) >= asc_dvc 8305 drivers/scsi/advansys.c AscSendScsiQueue(asc_dvc, scsiq, asc_dvc 8307 drivers/scsi/advansys.c asc_dvc->in_critical_cnt--; asc_dvc 8312 drivers/scsi/advansys.c if (asc_dvc->bug_fix_cntl) { asc_dvc 8313 drivers/scsi/advansys.c if (asc_dvc->bug_fix_cntl & ASC_BUG_FIX_IF_NOT_DWB) { asc_dvc 8346 drivers/scsi/advansys.c if ((AscGetNumOfFreeQueue(asc_dvc, target_ix, 1) >= 1) || asc_dvc 8348 drivers/scsi/advansys.c if ((sta = AscSendScsiQueue(asc_dvc, scsiq, asc_dvc 8350 drivers/scsi/advansys.c asc_dvc->in_critical_cnt--; asc_dvc 8355 drivers/scsi/advansys.c asc_dvc->in_critical_cnt--; asc_dvc 8380 drivers/scsi/advansys.c static int AdvExeScsiQueue(ADV_DVC_VAR *asc_dvc, adv_req_t *reqp) asc_dvc 8395 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 8401 drivers/scsi/advansys.c new_carrp = adv_get_next_carrier(asc_dvc); asc_dvc 8407 drivers/scsi/advansys.c asc_dvc->carr_pending_cnt++; asc_dvc 8413 drivers/scsi/advansys.c scsiq->carr_va = asc_dvc->icq_sp->carr_va; asc_dvc 8414 drivers/scsi/advansys.c scsiq->carr_pa = asc_dvc->icq_sp->carr_pa; asc_dvc 8421 drivers/scsi/advansys.c asc_dvc->icq_sp->areq_vpa = scsiq->scsiq_rptr; asc_dvc 8428 drivers/scsi/advansys.c asc_dvc->icq_sp->next_vpa = new_carrp->carr_pa; asc_dvc 8433 drivers/scsi/advansys.c asc_dvc->icq_sp = new_carrp; asc_dvc 8435 drivers/scsi/advansys.c if (asc_dvc->chip_type == ADV_CHIP_ASC3550 || asc_dvc 8436 drivers/scsi/advansys.c asc_dvc->chip_type == ADV_CHIP_ASC38C0800) { asc_dvc 8441 drivers/scsi/advansys.c if (asc_dvc->chip_type == ADV_CHIP_ASC3550) { asc_dvc 8450 drivers/scsi/advansys.c } else if (asc_dvc->chip_type == ADV_CHIP_ASC38C1600) { asc_dvc 8473 drivers/scsi/advansys.c ASC_DVC_VAR *asc_dvc = &boardp->dvc_var.asc_dvc_var; asc_dvc 8482 drivers/scsi/advansys.c ret = AscExeScsiQueue(asc_dvc, &asc_scsi_q); asc_dvc 8484 drivers/scsi/advansys.c err_code = asc_dvc->err_code; asc_dvc 8752 drivers/scsi/advansys.c static void AscInitAscDvcVar(ASC_DVC_VAR *asc_dvc) asc_dvc 8758 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 8759 drivers/scsi/advansys.c asc_dvc->err_code = 0; asc_dvc 8760 drivers/scsi/advansys.c if ((asc_dvc->bus_type & asc_dvc 8762 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_NO_BUS_TYPE; asc_dvc 8766 drivers/scsi/advansys.c asc_dvc->bug_fix_cntl = 0; asc_dvc 8767 drivers/scsi/advansys.c asc_dvc->pci_fix_asyn_xfer = 0; asc_dvc 8768 drivers/scsi/advansys.c asc_dvc->pci_fix_asyn_xfer_always = 0; asc_dvc 8770 drivers/scsi/advansys.c asc_dvc->sdtr_done = 0; asc_dvc 8771 drivers/scsi/advansys.c asc_dvc->cur_total_qng = 0; asc_dvc 8772 drivers/scsi/advansys.c asc_dvc->is_in_int = false; asc_dvc 8773 drivers/scsi/advansys.c asc_dvc->in_critical_cnt = 0; asc_dvc 8774 drivers/scsi/advansys.c asc_dvc->last_q_shortage = 0; asc_dvc 8775 drivers/scsi/advansys.c asc_dvc->use_tagged_qng = 0; asc_dvc 8776 drivers/scsi/advansys.c asc_dvc->no_scam = 0; asc_dvc 8777 drivers/scsi/advansys.c asc_dvc->unit_not_ready = 0; asc_dvc 8778 drivers/scsi/advansys.c asc_dvc->queue_full_or_busy = 0; asc_dvc 8779 drivers/scsi/advansys.c asc_dvc->redo_scam = 0; asc_dvc 8780 drivers/scsi/advansys.c asc_dvc->res2 = 0; asc_dvc 8781 drivers/scsi/advansys.c asc_dvc->min_sdtr_index = 0; asc_dvc 8782 drivers/scsi/advansys.c asc_dvc->cfg->can_tagged_qng = 0; asc_dvc 8783 drivers/scsi/advansys.c asc_dvc->cfg->cmd_qng_enabled = 0; asc_dvc 8784 drivers/scsi/advansys.c asc_dvc->dvc_cntl = ASC_DEF_DVC_CNTL; asc_dvc 8785 drivers/scsi/advansys.c asc_dvc->init_sdtr = 0; asc_dvc 8786 drivers/scsi/advansys.c asc_dvc->max_total_qng = ASC_DEF_MAX_TOTAL_QNG; asc_dvc 8787 drivers/scsi/advansys.c asc_dvc->scsi_reset_wait = 3; asc_dvc 8788 drivers/scsi/advansys.c asc_dvc->start_motor = ASC_SCSI_WIDTH_BIT_SET; asc_dvc 8789 drivers/scsi/advansys.c asc_dvc->max_dma_count = AscGetMaxDmaCount(asc_dvc->bus_type); asc_dvc 8790 drivers/scsi/advansys.c asc_dvc->cfg->sdtr_enable = ASC_SCSI_WIDTH_BIT_SET; asc_dvc 8791 drivers/scsi/advansys.c asc_dvc->cfg->disc_enable = ASC_SCSI_WIDTH_BIT_SET; asc_dvc 8792 drivers/scsi/advansys.c asc_dvc->cfg->chip_scsi_id = ASC_DEF_CHIP_SCSI_ID; asc_dvc 8793 drivers/scsi/advansys.c chip_version = AscGetChipVersion(iop_base, asc_dvc->bus_type); asc_dvc 8794 drivers/scsi/advansys.c asc_dvc->cfg->chip_version = chip_version; asc_dvc 8795 drivers/scsi/advansys.c asc_dvc->sdtr_period_tbl = asc_syn_xfer_period; asc_dvc 8796 drivers/scsi/advansys.c asc_dvc->max_sdtr_index = 7; asc_dvc 8797 drivers/scsi/advansys.c if ((asc_dvc->bus_type & ASC_IS_PCI) && asc_dvc 8799 drivers/scsi/advansys.c asc_dvc->bus_type = ASC_IS_PCI_ULTRA; asc_dvc 8800 drivers/scsi/advansys.c asc_dvc->sdtr_period_tbl = asc_syn_ultra_xfer_period; asc_dvc 8801 drivers/scsi/advansys.c asc_dvc->max_sdtr_index = 15; asc_dvc 8811 drivers/scsi/advansys.c if (asc_dvc->bus_type == ASC_IS_PCI) { asc_dvc 8816 drivers/scsi/advansys.c asc_dvc->cfg->isa_dma_speed = ASC_DEF_ISA_DMA_SPEED; asc_dvc 8818 drivers/scsi/advansys.c if ((asc_dvc->bus_type & ASC_IS_ISA) != 0) { asc_dvc 8821 drivers/scsi/advansys.c asc_dvc->bus_type = ASC_IS_ISAPNP; asc_dvc 8823 drivers/scsi/advansys.c asc_dvc->cfg->isa_dma_channel = asc_dvc 8828 drivers/scsi/advansys.c asc_dvc->cur_dvc_qng[i] = 0; asc_dvc 8829 drivers/scsi/advansys.c asc_dvc->max_dvc_qng[i] = ASC_MAX_SCSI1_QNG; asc_dvc 8830 drivers/scsi/advansys.c asc_dvc->scsiq_busy_head[i] = (ASC_SCSI_Q *)0L; asc_dvc 8831 drivers/scsi/advansys.c asc_dvc->scsiq_busy_tail[i] = (ASC_SCSI_Q *)0L; asc_dvc 8832 drivers/scsi/advansys.c asc_dvc->cfg->max_tag_qng[i] = ASC_MAX_INRAM_TAG_QNG; asc_dvc 8918 drivers/scsi/advansys.c static int AscTestExternalLram(ASC_DVC_VAR *asc_dvc) asc_dvc 8925 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 9099 drivers/scsi/advansys.c static int AscInitFromEEP(ASC_DVC_VAR *asc_dvc) asc_dvc 9110 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 9116 drivers/scsi/advansys.c asc_dvc->init_state |= ASC_INIT_RESET_SCSI_DONE; asc_dvc 9117 drivers/scsi/advansys.c AscResetChipAndScsiBus(asc_dvc); asc_dvc 9118 drivers/scsi/advansys.c mdelay(asc_dvc->scsi_reset_wait * 1000); /* XXX: msleep? */ asc_dvc 9121 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_START_STOP_CHIP; asc_dvc 9126 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_SET_PC_ADDR; asc_dvc 9137 drivers/scsi/advansys.c chksum = AscGetEEPConfig(iop_base, eep_config, asc_dvc->bus_type); asc_dvc 9144 drivers/scsi/advansys.c if (asc_dvc->cfg->chip_version == 3) { asc_dvc 9161 drivers/scsi/advansys.c if (AscGetChipVersion(iop_base, asc_dvc->bus_type) == asc_dvc 9187 drivers/scsi/advansys.c asc_dvc->cfg->sdtr_enable = eep_config->init_sdtr; asc_dvc 9188 drivers/scsi/advansys.c asc_dvc->cfg->disc_enable = eep_config->disc_enable; asc_dvc 9189 drivers/scsi/advansys.c asc_dvc->cfg->cmd_qng_enabled = eep_config->use_cmd_qng; asc_dvc 9190 drivers/scsi/advansys.c asc_dvc->cfg->isa_dma_speed = ASC_EEP_GET_DMA_SPD(eep_config); asc_dvc 9191 drivers/scsi/advansys.c asc_dvc->start_motor = eep_config->start_motor; asc_dvc 9192 drivers/scsi/advansys.c asc_dvc->dvc_cntl = eep_config->cntl; asc_dvc 9193 drivers/scsi/advansys.c asc_dvc->no_scam = eep_config->no_scam; asc_dvc 9194 drivers/scsi/advansys.c asc_dvc->cfg->adapter_info[0] = eep_config->adapter_info[0]; asc_dvc 9195 drivers/scsi/advansys.c asc_dvc->cfg->adapter_info[1] = eep_config->adapter_info[1]; asc_dvc 9196 drivers/scsi/advansys.c asc_dvc->cfg->adapter_info[2] = eep_config->adapter_info[2]; asc_dvc 9197 drivers/scsi/advansys.c asc_dvc->cfg->adapter_info[3] = eep_config->adapter_info[3]; asc_dvc 9198 drivers/scsi/advansys.c asc_dvc->cfg->adapter_info[4] = eep_config->adapter_info[4]; asc_dvc 9199 drivers/scsi/advansys.c asc_dvc->cfg->adapter_info[5] = eep_config->adapter_info[5]; asc_dvc 9200 drivers/scsi/advansys.c if (!AscTestExternalLram(asc_dvc)) { asc_dvc 9201 drivers/scsi/advansys.c if (((asc_dvc->bus_type & ASC_IS_PCI_ULTRA) == asc_dvc 9228 drivers/scsi/advansys.c asc_dvc->max_total_qng = eep_config->max_total_qng; asc_dvc 9236 drivers/scsi/advansys.c asc_dvc->cfg->chip_scsi_id = ASC_EEP_GET_CHIP_ID(eep_config); asc_dvc 9237 drivers/scsi/advansys.c if (((asc_dvc->bus_type & ASC_IS_PCI_ULTRA) == ASC_IS_PCI_ULTRA) && asc_dvc 9238 drivers/scsi/advansys.c !(asc_dvc->dvc_cntl & ASC_CNTL_SDTR_ENABLE_ULTRA)) { asc_dvc 9239 drivers/scsi/advansys.c asc_dvc->min_sdtr_index = ASC_SDTR_ULTRA_PCI_10MB_INDEX; asc_dvc 9243 drivers/scsi/advansys.c asc_dvc->dos_int13_table[i] = eep_config->dos_int13_table[i]; asc_dvc 9244 drivers/scsi/advansys.c asc_dvc->cfg->max_tag_qng[i] = eep_config->max_tag_qng; asc_dvc 9245 drivers/scsi/advansys.c asc_dvc->cfg->sdtr_period_offset[i] = asc_dvc 9247 drivers/scsi/advansys.c (asc_dvc->min_sdtr_index << 4)); asc_dvc 9252 drivers/scsi/advansys.c asc_dvc->bus_type)) != 0) { asc_dvc 9267 drivers/scsi/advansys.c ASC_DVC_VAR *asc_dvc = &board->dvc_var.asc_dvc_var; asc_dvc 9270 drivers/scsi/advansys.c asc_dvc->init_state = ASC_INIT_STATE_BEG_GET_CFG; asc_dvc 9271 drivers/scsi/advansys.c if (asc_dvc->err_code != 0) asc_dvc 9272 drivers/scsi/advansys.c return asc_dvc->err_code; asc_dvc 9274 drivers/scsi/advansys.c if (AscFindSignature(asc_dvc->iop_base)) { asc_dvc 9275 drivers/scsi/advansys.c AscInitAscDvcVar(asc_dvc); asc_dvc 9276 drivers/scsi/advansys.c warn_code = AscInitFromEEP(asc_dvc); asc_dvc 9277 drivers/scsi/advansys.c asc_dvc->init_state |= ASC_INIT_STATE_END_GET_CFG; asc_dvc 9278 drivers/scsi/advansys.c if (asc_dvc->scsi_reset_wait > ASC_MAX_SCSI_RESET_WAIT) asc_dvc 9279 drivers/scsi/advansys.c asc_dvc->scsi_reset_wait = ASC_MAX_SCSI_RESET_WAIT; asc_dvc 9281 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_BAD_SIGNATURE; asc_dvc 9311 drivers/scsi/advansys.c if (asc_dvc->err_code != 0) asc_dvc 9313 drivers/scsi/advansys.c "0x%x\n", asc_dvc->err_code, asc_dvc->init_state); asc_dvc 9315 drivers/scsi/advansys.c return asc_dvc->err_code; asc_dvc 9321 drivers/scsi/advansys.c ASC_DVC_VAR *asc_dvc = &board->dvc_var.asc_dvc_var; asc_dvc 9322 drivers/scsi/advansys.c PortAddr iop_base = asc_dvc->iop_base; asc_dvc 9326 drivers/scsi/advansys.c asc_dvc->init_state |= ASC_INIT_STATE_BEG_SET_CFG; asc_dvc 9327 drivers/scsi/advansys.c if (asc_dvc->err_code != 0) asc_dvc 9328 drivers/scsi/advansys.c return asc_dvc->err_code; asc_dvc 9329 drivers/scsi/advansys.c if (!AscFindSignature(asc_dvc->iop_base)) { asc_dvc 9330 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_BAD_SIGNATURE; asc_dvc 9331 drivers/scsi/advansys.c return asc_dvc->err_code; asc_dvc 9340 drivers/scsi/advansys.c if ((asc_dvc->cfg->cmd_qng_enabled & asc_dvc->cfg->disc_enable) != asc_dvc 9341 drivers/scsi/advansys.c asc_dvc->cfg->cmd_qng_enabled) { asc_dvc 9342 drivers/scsi/advansys.c asc_dvc->cfg->disc_enable = asc_dvc->cfg->cmd_qng_enabled; asc_dvc 9349 drivers/scsi/advansys.c if (asc_dvc->bus_type & ASC_IS_PCI) { asc_dvc 9352 drivers/scsi/advansys.c if ((asc_dvc->bus_type & ASC_IS_PCI_ULTRA) == ASC_IS_PCI_ULTRA) { asc_dvc 9356 drivers/scsi/advansys.c asc_dvc->bug_fix_cntl |= ASC_BUG_FIX_IF_NOT_DWB; asc_dvc 9357 drivers/scsi/advansys.c asc_dvc->bug_fix_cntl |= asc_dvc 9363 drivers/scsi/advansys.c if (asc_dvc->bus_type == ASC_IS_ISAPNP) { asc_dvc 9364 drivers/scsi/advansys.c if (AscGetChipVersion(iop_base, asc_dvc->bus_type) asc_dvc 9366 drivers/scsi/advansys.c asc_dvc->bug_fix_cntl |= ASC_BUG_FIX_ASYN_USE_SYN; asc_dvc 9369 drivers/scsi/advansys.c if (AscSetChipScsiID(iop_base, asc_dvc->cfg->chip_scsi_id) != asc_dvc 9370 drivers/scsi/advansys.c asc_dvc->cfg->chip_scsi_id) { asc_dvc 9371 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_SET_SCSI_ID; asc_dvc 9374 drivers/scsi/advansys.c if (asc_dvc->bus_type & ASC_IS_ISA) { asc_dvc 9375 drivers/scsi/advansys.c AscSetIsaDmaChannel(iop_base, asc_dvc->cfg->isa_dma_channel); asc_dvc 9376 drivers/scsi/advansys.c AscSetIsaDmaSpeed(iop_base, asc_dvc->cfg->isa_dma_speed); asc_dvc 9380 drivers/scsi/advansys.c asc_dvc->init_state |= ASC_INIT_STATE_END_SET_CFG; asc_dvc 9409 drivers/scsi/advansys.c if (asc_dvc->err_code != 0) asc_dvc 9411 drivers/scsi/advansys.c "0x%x\n", asc_dvc->err_code, asc_dvc->init_state); asc_dvc 9413 drivers/scsi/advansys.c return asc_dvc->err_code; asc_dvc 10141 drivers/scsi/advansys.c static int AdvInitFrom3550EEP(ADV_DVC_VAR *asc_dvc) asc_dvc 10147 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 10186 drivers/scsi/advansys.c asc_dvc->wdtr_able = eep_config.wdtr_able; asc_dvc 10187 drivers/scsi/advansys.c asc_dvc->sdtr_able = eep_config.sdtr_able; asc_dvc 10188 drivers/scsi/advansys.c asc_dvc->ultra_able = eep_config.ultra_able; asc_dvc 10189 drivers/scsi/advansys.c asc_dvc->tagqng_able = eep_config.tagqng_able; asc_dvc 10190 drivers/scsi/advansys.c asc_dvc->cfg->disc_enable = eep_config.disc_enable; asc_dvc 10191 drivers/scsi/advansys.c asc_dvc->max_host_qng = eep_config.max_host_qng; asc_dvc 10192 drivers/scsi/advansys.c asc_dvc->max_dvc_qng = eep_config.max_dvc_qng; asc_dvc 10193 drivers/scsi/advansys.c asc_dvc->chip_scsi_id = (eep_config.adapter_scsi_id & ADV_MAX_TID); asc_dvc 10194 drivers/scsi/advansys.c asc_dvc->start_motor = eep_config.start_motor; asc_dvc 10195 drivers/scsi/advansys.c asc_dvc->scsi_reset_wait = eep_config.scsi_reset_delay; asc_dvc 10196 drivers/scsi/advansys.c asc_dvc->bios_ctrl = eep_config.bios_ctrl; asc_dvc 10197 drivers/scsi/advansys.c asc_dvc->no_scam = eep_config.scam_tolerant; asc_dvc 10198 drivers/scsi/advansys.c asc_dvc->cfg->serial1 = eep_config.serial_number_word1; asc_dvc 10199 drivers/scsi/advansys.c asc_dvc->cfg->serial2 = eep_config.serial_number_word2; asc_dvc 10200 drivers/scsi/advansys.c asc_dvc->cfg->serial3 = eep_config.serial_number_word3; asc_dvc 10240 drivers/scsi/advansys.c asc_dvc->max_host_qng = eep_config.max_host_qng; asc_dvc 10241 drivers/scsi/advansys.c asc_dvc->max_dvc_qng = eep_config.max_dvc_qng; asc_dvc 10252 drivers/scsi/advansys.c asc_dvc->cfg->termination = 0; /* auto termination */ asc_dvc 10256 drivers/scsi/advansys.c asc_dvc->cfg->termination = TERM_CTL_SEL; asc_dvc 10260 drivers/scsi/advansys.c asc_dvc->cfg->termination = TERM_CTL_SEL | TERM_CTL_H; asc_dvc 10264 drivers/scsi/advansys.c asc_dvc->cfg->termination = asc_dvc 10271 drivers/scsi/advansys.c asc_dvc->cfg->termination = 0; asc_dvc 10291 drivers/scsi/advansys.c static int AdvInitFrom38C0800EEP(ADV_DVC_VAR *asc_dvc) asc_dvc 10299 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 10339 drivers/scsi/advansys.c asc_dvc->wdtr_able = eep_config.wdtr_able; asc_dvc 10340 drivers/scsi/advansys.c asc_dvc->sdtr_speed1 = eep_config.sdtr_speed1; asc_dvc 10341 drivers/scsi/advansys.c asc_dvc->sdtr_speed2 = eep_config.sdtr_speed2; asc_dvc 10342 drivers/scsi/advansys.c asc_dvc->sdtr_speed3 = eep_config.sdtr_speed3; asc_dvc 10343 drivers/scsi/advansys.c asc_dvc->sdtr_speed4 = eep_config.sdtr_speed4; asc_dvc 10344 drivers/scsi/advansys.c asc_dvc->tagqng_able = eep_config.tagqng_able; asc_dvc 10345 drivers/scsi/advansys.c asc_dvc->cfg->disc_enable = eep_config.disc_enable; asc_dvc 10346 drivers/scsi/advansys.c asc_dvc->max_host_qng = eep_config.max_host_qng; asc_dvc 10347 drivers/scsi/advansys.c asc_dvc->max_dvc_qng = eep_config.max_dvc_qng; asc_dvc 10348 drivers/scsi/advansys.c asc_dvc->chip_scsi_id = (eep_config.adapter_scsi_id & ADV_MAX_TID); asc_dvc 10349 drivers/scsi/advansys.c asc_dvc->start_motor = eep_config.start_motor; asc_dvc 10350 drivers/scsi/advansys.c asc_dvc->scsi_reset_wait = eep_config.scsi_reset_delay; asc_dvc 10351 drivers/scsi/advansys.c asc_dvc->bios_ctrl = eep_config.bios_ctrl; asc_dvc 10352 drivers/scsi/advansys.c asc_dvc->no_scam = eep_config.scam_tolerant; asc_dvc 10353 drivers/scsi/advansys.c asc_dvc->cfg->serial1 = eep_config.serial_number_word1; asc_dvc 10354 drivers/scsi/advansys.c asc_dvc->cfg->serial2 = eep_config.serial_number_word2; asc_dvc 10355 drivers/scsi/advansys.c asc_dvc->cfg->serial3 = eep_config.serial_number_word3; asc_dvc 10361 drivers/scsi/advansys.c asc_dvc->sdtr_able = 0; asc_dvc 10364 drivers/scsi/advansys.c sdtr_speed = asc_dvc->sdtr_speed1; asc_dvc 10366 drivers/scsi/advansys.c sdtr_speed = asc_dvc->sdtr_speed2; asc_dvc 10368 drivers/scsi/advansys.c sdtr_speed = asc_dvc->sdtr_speed3; asc_dvc 10370 drivers/scsi/advansys.c sdtr_speed = asc_dvc->sdtr_speed4; asc_dvc 10373 drivers/scsi/advansys.c asc_dvc->sdtr_able |= (1 << tid); asc_dvc 10416 drivers/scsi/advansys.c asc_dvc->max_host_qng = eep_config.max_host_qng; asc_dvc 10417 drivers/scsi/advansys.c asc_dvc->max_dvc_qng = eep_config.max_dvc_qng; asc_dvc 10452 drivers/scsi/advansys.c asc_dvc->cfg->termination = termination; /* auto termination for LVD */ asc_dvc 10456 drivers/scsi/advansys.c asc_dvc->cfg->termination = termination; asc_dvc 10460 drivers/scsi/advansys.c asc_dvc->cfg->termination = termination | TERM_LVD_HI; asc_dvc 10464 drivers/scsi/advansys.c asc_dvc->cfg->termination = termination | TERM_LVD; asc_dvc 10470 drivers/scsi/advansys.c asc_dvc->cfg->termination = termination; asc_dvc 10490 drivers/scsi/advansys.c static int AdvInitFrom38C1600EEP(ADV_DVC_VAR *asc_dvc) asc_dvc 10498 drivers/scsi/advansys.c iop_base = asc_dvc->iop_base; asc_dvc 10509 drivers/scsi/advansys.c struct pci_dev *pdev = adv_dvc_to_pdev(asc_dvc); asc_dvc 10565 drivers/scsi/advansys.c asc_dvc->wdtr_able = eep_config.wdtr_able; asc_dvc 10566 drivers/scsi/advansys.c asc_dvc->sdtr_speed1 = eep_config.sdtr_speed1; asc_dvc 10567 drivers/scsi/advansys.c asc_dvc->sdtr_speed2 = eep_config.sdtr_speed2; asc_dvc 10568 drivers/scsi/advansys.c asc_dvc->sdtr_speed3 = eep_config.sdtr_speed3; asc_dvc 10569 drivers/scsi/advansys.c asc_dvc->sdtr_speed4 = eep_config.sdtr_speed4; asc_dvc 10570 drivers/scsi/advansys.c asc_dvc->ppr_able = 0; asc_dvc 10571 drivers/scsi/advansys.c asc_dvc->tagqng_able = eep_config.tagqng_able; asc_dvc 10572 drivers/scsi/advansys.c asc_dvc->cfg->disc_enable = eep_config.disc_enable; asc_dvc 10573 drivers/scsi/advansys.c asc_dvc->max_host_qng = eep_config.max_host_qng; asc_dvc 10574 drivers/scsi/advansys.c asc_dvc->max_dvc_qng = eep_config.max_dvc_qng; asc_dvc 10575 drivers/scsi/advansys.c asc_dvc->chip_scsi_id = (eep_config.adapter_scsi_id & ASC_MAX_TID); asc_dvc 10576 drivers/scsi/advansys.c asc_dvc->start_motor = eep_config.start_motor; asc_dvc 10577 drivers/scsi/advansys.c asc_dvc->scsi_reset_wait = eep_config.scsi_reset_delay; asc_dvc 10578 drivers/scsi/advansys.c asc_dvc->bios_ctrl = eep_config.bios_ctrl; asc_dvc 10579 drivers/scsi/advansys.c asc_dvc->no_scam = eep_config.scam_tolerant; asc_dvc 10585 drivers/scsi/advansys.c asc_dvc->sdtr_able = 0; asc_dvc 10588 drivers/scsi/advansys.c sdtr_speed = asc_dvc->sdtr_speed1; asc_dvc 10590 drivers/scsi/advansys.c sdtr_speed = asc_dvc->sdtr_speed2; asc_dvc 10592 drivers/scsi/advansys.c sdtr_speed = asc_dvc->sdtr_speed3; asc_dvc 10594 drivers/scsi/advansys.c sdtr_speed = asc_dvc->sdtr_speed4; asc_dvc 10597 drivers/scsi/advansys.c asc_dvc->sdtr_able |= (1 << tid); asc_dvc 10640 drivers/scsi/advansys.c asc_dvc->max_host_qng = eep_config.max_host_qng; asc_dvc 10641 drivers/scsi/advansys.c asc_dvc->max_dvc_qng = eep_config.max_dvc_qng; asc_dvc 10676 drivers/scsi/advansys.c asc_dvc->cfg->termination = termination; /* auto termination for LVD */ asc_dvc 10680 drivers/scsi/advansys.c asc_dvc->cfg->termination = termination; asc_dvc 10684 drivers/scsi/advansys.c asc_dvc->cfg->termination = termination | TERM_LVD_HI; asc_dvc 10688 drivers/scsi/advansys.c asc_dvc->cfg->termination = termination | TERM_LVD; asc_dvc 10694 drivers/scsi/advansys.c asc_dvc->cfg->termination = termination; asc_dvc 10713 drivers/scsi/advansys.c ADV_DVC_VAR *asc_dvc = &board->dvc_var.adv_dvc_var; asc_dvc 10715 drivers/scsi/advansys.c AdvPortAddr iop_base = asc_dvc->iop_base; asc_dvc 10719 drivers/scsi/advansys.c asc_dvc->err_code = 0; asc_dvc 10727 drivers/scsi/advansys.c asc_dvc->cfg->control_flag = 0; asc_dvc 10730 drivers/scsi/advansys.c asc_dvc->cfg->control_flag |= CONTROL_FLAG_IGNORE_PERR; asc_dvc 10732 drivers/scsi/advansys.c asc_dvc->cfg->chip_version = asc_dvc 10733 drivers/scsi/advansys.c AdvGetChipVersion(iop_base, asc_dvc->bus_type); asc_dvc 10747 drivers/scsi/advansys.c asc_dvc->err_code = ASC_IERR_BAD_SIGNATURE; asc_dvc 10753 drivers/scsi/advansys.c if (asc_dvc->chip_type != ADV_CHIP_ASC3550 && asc_dvc 10754 drivers/scsi/advansys.c asc_dvc->chip_type != ADV_CHIP_ASC38C0800 && asc_dvc 10755 drivers/scsi/advansys.c asc_dvc->chip_type != ADV_CHIP_ASC38C1600) { asc_dvc 10756 drivers/scsi/advansys.c asc_dvc->err_code |= ASC_IERR_BAD_CHIPTYPE; asc_dvc 10769 drivers/scsi/advansys.c if (asc_dvc->chip_type == ADV_CHIP_ASC38C1600) { asc_dvc 10770 drivers/scsi/advansys.c status = AdvInitFrom38C1600EEP(asc_dvc); asc_dvc 10771 drivers/scsi/advansys.c } else if (asc_dvc->chip_type == ADV_CHIP_ASC38C0800) { asc_dvc 10772 drivers/scsi/advansys.c status = AdvInitFrom38C0800EEP(asc_dvc); asc_dvc 10774 drivers/scsi/advansys.c status = AdvInitFrom3550EEP(asc_dvc); asc_dvc 10782 drivers/scsi/advansys.c if (asc_dvc->err_code) asc_dvc 10784 drivers/scsi/advansys.c asc_dvc->err_code); asc_dvc 10786 drivers/scsi/advansys.c return asc_dvc->err_code;