From owner-svn-src-projects@FreeBSD.ORG Sat Dec 8 18:36:53 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 10FA1B8B; Sat, 8 Dec 2012 18:36:53 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EBAF48FC08; Sat, 8 Dec 2012 18:36:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB8IaqZ2094018; Sat, 8 Dec 2012 18:36:52 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB8Iaq91094015; Sat, 8 Dec 2012 18:36:52 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201212081836.qB8Iaq91094015@svn.freebsd.org> From: Jeff Roberson Date: Sat, 8 Dec 2012 18:36:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r244036 - in projects/physbio/sys/dev: mfi virtio/scsi wds X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Dec 2012 18:36:53 -0000 Author: jeff Date: Sat Dec 8 18:36:51 2012 New Revision: 244036 URL: http://svnweb.freebsd.org/changeset/base/244036 Log: - Convert the last few drivers to the new CAM_DATA_* format. Sponsored by: EMC / Isilon Storage Division Modified: projects/physbio/sys/dev/mfi/mfi_cam.c projects/physbio/sys/dev/virtio/scsi/virtio_scsi.c projects/physbio/sys/dev/wds/wd7000.c Modified: projects/physbio/sys/dev/mfi/mfi_cam.c ============================================================================== --- projects/physbio/sys/dev/mfi/mfi_cam.c Sat Dec 8 18:35:45 2012 (r244035) +++ projects/physbio/sys/dev/mfi/mfi_cam.c Sat Dec 8 18:36:51 2012 (r244036) @@ -265,11 +265,7 @@ mfip_cam_action(struct cam_sim *sim, uni break; } if ((ccbh->flags & CAM_DIR_MASK) != CAM_DIR_NONE) { - if (ccbh->flags & CAM_DATA_PHYS) { - ccbh->status = CAM_REQ_INVALID; - break; - } - if (ccbh->flags & CAM_SCATTER_VALID) { + if ((ccbh->flags & CAM_DATA_MASK) != CAM_DATA_VADDR) { ccbh->status = CAM_REQ_INVALID; break; } Modified: projects/physbio/sys/dev/virtio/scsi/virtio_scsi.c ============================================================================== --- projects/physbio/sys/dev/virtio/scsi/virtio_scsi.c Sat Dec 8 18:35:45 2012 (r244035) +++ projects/physbio/sys/dev/virtio/scsi/virtio_scsi.c Sat Dec 8 18:36:51 2012 (r244036) @@ -964,28 +964,31 @@ vtscsi_sg_append_scsi_buf(struct vtscsi_ ccbh = &csio->ccb_h; error = 0; - if ((ccbh->flags & CAM_SCATTER_VALID) == 0) { - - if ((ccbh->flags & CAM_DATA_PHYS) == 0) + switch ((ccbh->flags & CAM_DATA_MASK)) { + case CAM_DATA_VADDR: + error = sglist_append(sg, csio->data_ptr, csio->dxfer_len); + break; + case CAM_DATA_PADDR: + error = sglist_append_phys(sg, + (vm_paddr_t)(vm_offset_t) csio->data_ptr, csio->dxfer_len); + break; + case CAM_DATA_SG: + for (i = 0; i < csio->sglist_cnt && error == 0; i++) { + dseg = &((struct bus_dma_segment *)csio->data_ptr)[i]; error = sglist_append(sg, - csio->data_ptr, csio->dxfer_len); - else - error = sglist_append_phys(sg, - (vm_paddr_t)(vm_offset_t) csio->data_ptr, - csio->dxfer_len); - } else { - + (void *)(vm_offset_t) dseg->ds_addr, dseg->ds_len); + } + break; + case CAM_DATA_SG_PADDR: for (i = 0; i < csio->sglist_cnt && error == 0; i++) { dseg = &((struct bus_dma_segment *)csio->data_ptr)[i]; - - if ((ccbh->flags & CAM_SG_LIST_PHYS) == 0) - error = sglist_append(sg, - (void *)(vm_offset_t) dseg->ds_addr, - dseg->ds_len); - else - error = sglist_append_phys(sg, - (vm_paddr_t) dseg->ds_addr, dseg->ds_len); + error = sglist_append_phys(sg, + (vm_paddr_t) dseg->ds_addr, dseg->ds_len); } + break; + default: + error = EINVAL; + break; } return (error); Modified: projects/physbio/sys/dev/wds/wd7000.c ============================================================================== --- projects/physbio/sys/dev/wds/wd7000.c Sat Dec 8 18:35:45 2012 (r244035) +++ projects/physbio/sys/dev/wds/wd7000.c Sat Dec 8 18:36:51 2012 (r244036) @@ -1066,7 +1066,7 @@ wds_scsi_io(struct cam_sim * sim, struct xpt_done((union ccb *) csio); return; } - if (ccb_h->flags & (CAM_CDB_PHYS | CAM_SCATTER_VALID | CAM_DATA_PHYS)) { + if ((ccb_h->flags & CAM_DATA_MASK) != CAM_DATA_VADDR) { /* don't support these */ ccb_h->status = CAM_REQ_INVALID; xpt_done((union ccb *) csio);