Deleted Added
full compact
adwcam.c (113350) adwcam.c (115343)
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 * adw_pci.c ABP[3]940UW, ABP950UW, ABP3940U2W
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 * adw_pci.c ABP[3]940UW, ABP950UW, ABP3940U2W
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 * $FreeBSD: head/sys/dev/advansys/adwcam.c 113350 2003-04-10 23:50:06Z mux $
33 * $FreeBSD: head/sys/dev/advansys/adwcam.c 115343 2003-05-27 04:59:59Z scottl $
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 *

--- 208 unchanged lines hidden (view full) ---

250 ccb->ccb_h.status = CAM_REQ_TOO_BIG|CAM_DEV_QFRZN;
251 }
252 adwfreeacb(adw, acb);
253 xpt_done(ccb);
254 return;
255 }
256
257 if (nseg != 0) {
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 *

--- 208 unchanged lines hidden (view full) ---

250 ccb->ccb_h.status = CAM_REQ_TOO_BIG|CAM_DEV_QFRZN;
251 }
252 adwfreeacb(adw, acb);
253 xpt_done(ccb);
254 return;
255 }
256
257 if (nseg != 0) {
258 int op;
258 bus_dmasync_op_t op;
259
260 acb->queue.data_addr = dm_segs[0].ds_addr;
261 acb->queue.data_cnt = ccb->csio.dxfer_len;
262 if (nseg > 1) {
263 struct adw_sg_block *sg_block;
264 struct adw_sg_elm *sg;
265 bus_addr_t sg_busaddr;
266 u_int sg_index;

--- 1062 unchanged lines hidden (view full) ---

1329 carrierbotov(adw, free_carrier->next_ba & ADW_NEXT_BA_MASK);
1330 free_carrier->next_ba = adw->free_carriers->carr_offset;
1331 adw->free_carriers = free_carrier;
1332
1333 /* Process CCB */
1334 ccb = acb->ccb;
1335 untimeout(adwtimeout, acb, ccb->ccb_h.timeout_ch);
1336 if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) {
259
260 acb->queue.data_addr = dm_segs[0].ds_addr;
261 acb->queue.data_cnt = ccb->csio.dxfer_len;
262 if (nseg > 1) {
263 struct adw_sg_block *sg_block;
264 struct adw_sg_elm *sg;
265 bus_addr_t sg_busaddr;
266 u_int sg_index;

--- 1062 unchanged lines hidden (view full) ---

1329 carrierbotov(adw, free_carrier->next_ba & ADW_NEXT_BA_MASK);
1330 free_carrier->next_ba = adw->free_carriers->carr_offset;
1331 adw->free_carriers = free_carrier;
1332
1333 /* Process CCB */
1334 ccb = acb->ccb;
1335 untimeout(adwtimeout, acb, ccb->ccb_h.timeout_ch);
1336 if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) {
1337 int op;
1337 bus_dmasync_op_t op;
1338
1339 if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN)
1340 op = BUS_DMASYNC_POSTREAD;
1341 else
1342 op = BUS_DMASYNC_POSTWRITE;
1343 bus_dmamap_sync(adw->buffer_dmat, acb->dmamap, op);
1344 bus_dmamap_unload(adw->buffer_dmat, acb->dmamap);
1345 ccb->csio.resid = acb->queue.data_cnt;

--- 214 unchanged lines hidden ---
1338
1339 if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN)
1340 op = BUS_DMASYNC_POSTREAD;
1341 else
1342 op = BUS_DMASYNC_POSTWRITE;
1343 bus_dmamap_sync(adw->buffer_dmat, acb->dmamap, op);
1344 bus_dmamap_unload(adw->buffer_dmat, acb->dmamap);
1345 ccb->csio.resid = acb->queue.data_cnt;

--- 214 unchanged lines hidden ---