Deleted Added
full compact
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 ---