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 --- |