advansys.c (113350) | advansys.c (115343) |
---|---|
1/* 2 * Generic driver for the Advanced Systems Inc. SCSI controllers 3 * Product specific probe and attach routines can be found in: 4 * 5 * i386/isa/adv_isa.c ABP5140, ABP542, ABP5150, ABP842, ABP852 6 * i386/eisa/adv_eisa.c ABP742, ABP752 7 * pci/adv_pci.c ABP920, ABP930, ABP930U, ABP930UA, ABP940, ABP940U, 8 * ABP940UA, ABP950, ABP960, ABP960U, ABP960UA, --- 18 unchanged lines hidden (view full) --- 27 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33 * SUCH DAMAGE. 34 * | 1/* 2 * Generic driver for the Advanced Systems Inc. SCSI controllers 3 * Product specific probe and attach routines can be found in: 4 * 5 * i386/isa/adv_isa.c ABP5140, ABP542, ABP5150, ABP842, ABP852 6 * i386/eisa/adv_eisa.c ABP742, ABP752 7 * pci/adv_pci.c ABP920, ABP930, ABP930U, ABP930UA, ABP940, ABP940U, 8 * ABP940UA, ABP950, ABP960, ABP960U, ABP960UA, --- 18 unchanged lines hidden (view full) --- 27 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33 * SUCH DAMAGE. 34 * |
35 * $FreeBSD: head/sys/dev/advansys/advansys.c 113350 2003-04-10 23:50:06Z mux $ | 35 * $FreeBSD: head/sys/dev/advansys/advansys.c 115343 2003-05-27 04:59:59Z scottl $ |
36 */ 37/* 38 * Ported from: 39 * advansys.c - Linux Host Driver for AdvanSys SCSI Adapters 40 * 41 * Copyright (c) 1995-1997 Advanced System Products, Inc. 42 * All Rights Reserved. 43 * --- 519 unchanged lines hidden (view full) --- 563 scsiq.q2.cdb_len = csio->cdb_len; 564 if ((ccb_h->flags & CAM_TAG_ACTION_VALID) != 0) 565 scsiq.q2.tag_code = csio->tag_action; 566 else 567 scsiq.q2.tag_code = 0; 568 scsiq.q2.vm_id = 0; 569 570 if (nsegments != 0) { | 36 */ 37/* 38 * Ported from: 39 * advansys.c - Linux Host Driver for AdvanSys SCSI Adapters 40 * 41 * Copyright (c) 1995-1997 Advanced System Products, Inc. 42 * All Rights Reserved. 43 * --- 519 unchanged lines hidden (view full) --- 563 scsiq.q2.cdb_len = csio->cdb_len; 564 if ((ccb_h->flags & CAM_TAG_ACTION_VALID) != 0) 565 scsiq.q2.tag_code = csio->tag_action; 566 else 567 scsiq.q2.tag_code = 0; 568 scsiq.q2.vm_id = 0; 569 570 if (nsegments != 0) { |
571 int op; | 571 bus_dmasync_op_t op; |
572 573 scsiq.q1.data_addr = dm_segs->ds_addr; 574 scsiq.q1.data_cnt = dm_segs->ds_len; 575 if (nsegments > 1) { 576 scsiq.q1.cntl |= QC_SG_HEAD; 577 sghead.entry_cnt 578 = sghead.entry_to_copy 579 = nsegments; --- 545 unchanged lines hidden (view full) --- 1125 u_int host_stat, u_int scsi_status, u_int q_no) 1126{ 1127 struct adv_ccb_info *cinfo; 1128 1129 cinfo = (struct adv_ccb_info *)ccb->ccb_h.ccb_cinfo_ptr; 1130 LIST_REMOVE(&ccb->ccb_h, sim_links.le); 1131 untimeout(adv_timeout, ccb, ccb->ccb_h.timeout_ch); 1132 if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { | 572 573 scsiq.q1.data_addr = dm_segs->ds_addr; 574 scsiq.q1.data_cnt = dm_segs->ds_len; 575 if (nsegments > 1) { 576 scsiq.q1.cntl |= QC_SG_HEAD; 577 sghead.entry_cnt 578 = sghead.entry_to_copy 579 = nsegments; --- 545 unchanged lines hidden (view full) --- 1125 u_int host_stat, u_int scsi_status, u_int q_no) 1126{ 1127 struct adv_ccb_info *cinfo; 1128 1129 cinfo = (struct adv_ccb_info *)ccb->ccb_h.ccb_cinfo_ptr; 1130 LIST_REMOVE(&ccb->ccb_h, sim_links.le); 1131 untimeout(adv_timeout, ccb, ccb->ccb_h.timeout_ch); 1132 if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { |
1133 int op; | 1133 bus_dmasync_op_t op; |
1134 1135 if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) 1136 op = BUS_DMASYNC_POSTREAD; 1137 else 1138 op = BUS_DMASYNC_POSTWRITE; 1139 bus_dmamap_sync(adv->buffer_dmat, cinfo->dmamap, op); 1140 bus_dmamap_unload(adv->buffer_dmat, cinfo->dmamap); 1141 } --- 299 unchanged lines hidden --- | 1134 1135 if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) 1136 op = BUS_DMASYNC_POSTREAD; 1137 else 1138 op = BUS_DMASYNC_POSTWRITE; 1139 bus_dmamap_sync(adv->buffer_dmat, cinfo->dmamap, op); 1140 bus_dmamap_unload(adv->buffer_dmat, cinfo->dmamap); 1141 } --- 299 unchanged lines hidden --- |