adwcam.c (40420) | adwcam.c (46581) |
---|---|
1/* 2 * CAM SCSI interface for the the Advanced Systems Inc. 3 * Second Generation SCSI controllers. 4 * 5 * Product specific probe and attach routines can be found in: 6 * 7 * pci/adw_pci.c ABP940UW 8 * --- 16 unchanged lines hidden (view full) --- 25 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * | 1/* 2 * CAM SCSI interface for the the Advanced Systems Inc. 3 * Second Generation SCSI controllers. 4 * 5 * Product specific probe and attach routines can be found in: 6 * 7 * pci/adw_pci.c ABP940UW 8 * --- 16 unchanged lines hidden (view full) --- 25 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * |
33 * $Id: adwcam.c,v 1.1 1998/10/07 03:20:46 gibbs Exp $ | 33 * $Id: adwcam.c,v 1.2 1998/10/15 23:47:14 gibbs Exp $ |
34 */ 35/* 36 * Ported from: 37 * advansys.c - Linux Host Driver for AdvanSys SCSI Adapters 38 * 39 * Copyright (c) 1995-1998 Advanced System Products, Inc. 40 * All Rights Reserved. 41 * --- 548 unchanged lines hidden (view full) --- 590 wdtrenb); 591 wdtrdone &= ~target_mask; 592 adw_lram_write_16(adw, 593 ADW_MC_WDTR_DONE, 594 wdtrdone); 595 } 596 } 597 | 34 */ 35/* 36 * Ported from: 37 * advansys.c - Linux Host Driver for AdvanSys SCSI Adapters 38 * 39 * Copyright (c) 1995-1998 Advanced System Products, Inc. 40 * All Rights Reserved. 41 * --- 548 unchanged lines hidden (view full) --- 590 wdtrenb); 591 wdtrdone &= ~target_mask; 592 adw_lram_write_16(adw, 593 ADW_MC_WDTR_DONE, 594 wdtrdone); 595 } 596 } 597 |
598 if ((cts->valid & CCB_TRANS_SYNC_RATE_VALID) != 0) { | 598 if (((cts->valid & CCB_TRANS_SYNC_RATE_VALID) != 0) 599 || ((cts->valid & CCB_TRANS_SYNC_OFFSET_VALID) != 0)) { |
599 u_int sdtrenb_orig; 600 u_int sdtrenb; 601 u_int ultraenb_orig; 602 u_int ultraenb; 603 u_int sdtrdone; 604 605 sdtrenb_orig = 606 adw_lram_read_16(adw, ADW_MC_SDTR_ABLE); 607 sdtrenb = sdtrenb_orig; 608 609 ultraenb_orig = 610 adw_lram_read_16(adw, ADW_MC_ULTRA_ABLE); 611 ultraenb = ultraenb_orig; 612 613 sdtrdone = adw_lram_read_16(adw, 614 ADW_MC_SDTR_DONE); 615 | 600 u_int sdtrenb_orig; 601 u_int sdtrenb; 602 u_int ultraenb_orig; 603 u_int ultraenb; 604 u_int sdtrdone; 605 606 sdtrenb_orig = 607 adw_lram_read_16(adw, ADW_MC_SDTR_ABLE); 608 sdtrenb = sdtrenb_orig; 609 610 ultraenb_orig = 611 adw_lram_read_16(adw, ADW_MC_ULTRA_ABLE); 612 ultraenb = ultraenb_orig; 613 614 sdtrdone = adw_lram_read_16(adw, 615 ADW_MC_SDTR_DONE); 616 |
616 if (cts->sync_period == 0) { 617 sdtrenb &= ~target_mask; 618 } else if (cts->sync_period > 12) { 619 ultraenb &= ~target_mask; 620 sdtrenb |= target_mask; 621 } else { 622 ultraenb |= target_mask; 623 sdtrenb |= target_mask; | 617 if ((cts->valid 618 & CCB_TRANS_SYNC_RATE_VALID) != 0) { 619 620 if (cts->sync_period == 0) { 621 sdtrenb &= ~target_mask; 622 } else if (cts->sync_period > 12) { 623 ultraenb &= ~target_mask; 624 sdtrenb |= target_mask; 625 } else { 626 ultraenb |= target_mask; 627 sdtrenb |= target_mask; 628 } |
624 } 625 626 if ((cts->valid 627 & CCB_TRANS_SYNC_OFFSET_VALID) != 0) { 628 if (cts->sync_offset == 0) 629 sdtrenb &= ~target_mask; 630 } 631 --- 149 unchanged lines hidden (view full) --- 781 cpi->hba_inquiry = PI_WIDE_16|PI_SDTR_ABLE|PI_TAG_ABLE; 782 cpi->target_sprt = 0; 783 cpi->hba_misc = 0; 784 cpi->hba_eng_cnt = 0; 785 cpi->max_target = ADW_MAX_TID; 786 cpi->max_lun = ADW_MAX_LUN; 787 cpi->initiator_id = adw->initiator_id; 788 cpi->bus_id = cam_sim_bus(sim); | 629 } 630 631 if ((cts->valid 632 & CCB_TRANS_SYNC_OFFSET_VALID) != 0) { 633 if (cts->sync_offset == 0) 634 sdtrenb &= ~target_mask; 635 } 636 --- 149 unchanged lines hidden (view full) --- 786 cpi->hba_inquiry = PI_WIDE_16|PI_SDTR_ABLE|PI_TAG_ABLE; 787 cpi->target_sprt = 0; 788 cpi->hba_misc = 0; 789 cpi->hba_eng_cnt = 0; 790 cpi->max_target = ADW_MAX_TID; 791 cpi->max_lun = ADW_MAX_LUN; 792 cpi->initiator_id = adw->initiator_id; 793 cpi->bus_id = cam_sim_bus(sim); |
794 cpi->base_transfer_speed = 3300; |
|
789 strncpy(cpi->sim_vid, "FreeBSD", SIM_IDLEN); 790 strncpy(cpi->hba_vid, "AdvanSys", HBA_IDLEN); 791 strncpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN); 792 cpi->unit_number = cam_sim_unit(sim); 793 cpi->ccb_h.status = CAM_REQ_CMP; 794 xpt_done(ccb); 795 break; 796 } --- 568 unchanged lines hidden --- | 795 strncpy(cpi->sim_vid, "FreeBSD", SIM_IDLEN); 796 strncpy(cpi->hba_vid, "AdvanSys", HBA_IDLEN); 797 strncpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN); 798 cpi->unit_number = cam_sim_unit(sim); 799 cpi->ccb_h.status = CAM_REQ_CMP; 800 xpt_done(ccb); 801 break; 802 } --- 568 unchanged lines hidden --- |